/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Represents all of the information that is required to create a
* component.See Also:
AWS
* API Reference
The name of the component
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The name of the component
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The name of the component
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The name of the component
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The name of the component
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The name of the component
*/ inline CreateComponentData& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The name of the component
*/ inline CreateComponentData& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The name of the component
*/ inline CreateComponentData& WithName(const char* value) { SetName(value); return *this;} /** *The unique ID of the component in its original source system, such as * Figma.
*/ inline const Aws::String& GetSourceId() const{ return m_sourceId; } /** *The unique ID of the component in its original source system, such as * Figma.
*/ inline bool SourceIdHasBeenSet() const { return m_sourceIdHasBeenSet; } /** *The unique ID of the component in its original source system, such as * Figma.
*/ inline void SetSourceId(const Aws::String& value) { m_sourceIdHasBeenSet = true; m_sourceId = value; } /** *The unique ID of the component in its original source system, such as * Figma.
*/ inline void SetSourceId(Aws::String&& value) { m_sourceIdHasBeenSet = true; m_sourceId = std::move(value); } /** *The unique ID of the component in its original source system, such as * Figma.
*/ inline void SetSourceId(const char* value) { m_sourceIdHasBeenSet = true; m_sourceId.assign(value); } /** *The unique ID of the component in its original source system, such as * Figma.
*/ inline CreateComponentData& WithSourceId(const Aws::String& value) { SetSourceId(value); return *this;} /** *The unique ID of the component in its original source system, such as * Figma.
*/ inline CreateComponentData& WithSourceId(Aws::String&& value) { SetSourceId(std::move(value)); return *this;} /** *The unique ID of the component in its original source system, such as * Figma.
*/ inline CreateComponentData& WithSourceId(const char* value) { SetSourceId(value); return *this;} /** *The component type. This can be an Amplify custom UI component or another * custom component.
*/ inline const Aws::String& GetComponentType() const{ return m_componentType; } /** *The component type. This can be an Amplify custom UI component or another * custom component.
*/ inline bool ComponentTypeHasBeenSet() const { return m_componentTypeHasBeenSet; } /** *The component type. This can be an Amplify custom UI component or another * custom component.
*/ inline void SetComponentType(const Aws::String& value) { m_componentTypeHasBeenSet = true; m_componentType = value; } /** *The component type. This can be an Amplify custom UI component or another * custom component.
*/ inline void SetComponentType(Aws::String&& value) { m_componentTypeHasBeenSet = true; m_componentType = std::move(value); } /** *The component type. This can be an Amplify custom UI component or another * custom component.
*/ inline void SetComponentType(const char* value) { m_componentTypeHasBeenSet = true; m_componentType.assign(value); } /** *The component type. This can be an Amplify custom UI component or another * custom component.
*/ inline CreateComponentData& WithComponentType(const Aws::String& value) { SetComponentType(value); return *this;} /** *The component type. This can be an Amplify custom UI component or another * custom component.
*/ inline CreateComponentData& WithComponentType(Aws::String&& value) { SetComponentType(std::move(value)); return *this;} /** *The component type. This can be an Amplify custom UI component or another * custom component.
*/ inline CreateComponentData& WithComponentType(const char* value) { SetComponentType(value); return *this;} /** *Describes the component's properties.
*/ inline const Aws::MapDescribes the component's properties.
*/ inline bool PropertiesHasBeenSet() const { return m_propertiesHasBeenSet; } /** *Describes the component's properties.
*/ inline void SetProperties(const Aws::MapDescribes the component's properties.
*/ inline void SetProperties(Aws::MapDescribes the component's properties.
*/ inline CreateComponentData& WithProperties(const Aws::MapDescribes the component's properties.
*/ inline CreateComponentData& WithProperties(Aws::MapDescribes the component's properties.
*/ inline CreateComponentData& AddProperties(const Aws::String& key, const ComponentProperty& value) { m_propertiesHasBeenSet = true; m_properties.emplace(key, value); return *this; } /** *Describes the component's properties.
*/ inline CreateComponentData& AddProperties(Aws::String&& key, const ComponentProperty& value) { m_propertiesHasBeenSet = true; m_properties.emplace(std::move(key), value); return *this; } /** *Describes the component's properties.
*/ inline CreateComponentData& AddProperties(const Aws::String& key, ComponentProperty&& value) { m_propertiesHasBeenSet = true; m_properties.emplace(key, std::move(value)); return *this; } /** *Describes the component's properties.
*/ inline CreateComponentData& AddProperties(Aws::String&& key, ComponentProperty&& value) { m_propertiesHasBeenSet = true; m_properties.emplace(std::move(key), std::move(value)); return *this; } /** *Describes the component's properties.
*/ inline CreateComponentData& AddProperties(const char* key, ComponentProperty&& value) { m_propertiesHasBeenSet = true; m_properties.emplace(key, std::move(value)); return *this; } /** *Describes the component's properties.
*/ inline CreateComponentData& AddProperties(const char* key, const ComponentProperty& value) { m_propertiesHasBeenSet = true; m_properties.emplace(key, value); return *this; } /** *A list of child components that are instances of the main component.
*/ inline const Aws::VectorA list of child components that are instances of the main component.
*/ inline bool ChildrenHasBeenSet() const { return m_childrenHasBeenSet; } /** *A list of child components that are instances of the main component.
*/ inline void SetChildren(const Aws::VectorA list of child components that are instances of the main component.
*/ inline void SetChildren(Aws::VectorA list of child components that are instances of the main component.
*/ inline CreateComponentData& WithChildren(const Aws::VectorA list of child components that are instances of the main component.
*/ inline CreateComponentData& WithChildren(Aws::VectorA list of child components that are instances of the main component.
*/ inline CreateComponentData& AddChildren(const ComponentChild& value) { m_childrenHasBeenSet = true; m_children.push_back(value); return *this; } /** *A list of child components that are instances of the main component.
*/ inline CreateComponentData& AddChildren(ComponentChild&& value) { m_childrenHasBeenSet = true; m_children.push_back(std::move(value)); return *this; } /** *A list of the unique variants of this component.
*/ inline const Aws::VectorA list of the unique variants of this component.
*/ inline bool VariantsHasBeenSet() const { return m_variantsHasBeenSet; } /** *A list of the unique variants of this component.
*/ inline void SetVariants(const Aws::VectorA list of the unique variants of this component.
*/ inline void SetVariants(Aws::VectorA list of the unique variants of this component.
*/ inline CreateComponentData& WithVariants(const Aws::VectorA list of the unique variants of this component.
*/ inline CreateComponentData& WithVariants(Aws::VectorA list of the unique variants of this component.
*/ inline CreateComponentData& AddVariants(const ComponentVariant& value) { m_variantsHasBeenSet = true; m_variants.push_back(value); return *this; } /** *A list of the unique variants of this component.
*/ inline CreateComponentData& AddVariants(ComponentVariant&& value) { m_variantsHasBeenSet = true; m_variants.push_back(std::move(value)); return *this; } /** *Describes the component properties that can be overriden to customize an * instance of the component.
*/ inline const Aws::MapDescribes the component properties that can be overriden to customize an * instance of the component.
*/ inline bool OverridesHasBeenSet() const { return m_overridesHasBeenSet; } /** *Describes the component properties that can be overriden to customize an * instance of the component.
*/ inline void SetOverrides(const Aws::MapDescribes the component properties that can be overriden to customize an * instance of the component.
*/ inline void SetOverrides(Aws::MapDescribes the component properties that can be overriden to customize an * instance of the component.
*/ inline CreateComponentData& WithOverrides(const Aws::MapDescribes the component properties that can be overriden to customize an * instance of the component.
*/ inline CreateComponentData& WithOverrides(Aws::MapDescribes the component properties that can be overriden to customize an * instance of the component.
*/ inline CreateComponentData& AddOverrides(const Aws::String& key, const Aws::MapDescribes the component properties that can be overriden to customize an * instance of the component.
*/ inline CreateComponentData& AddOverrides(Aws::String&& key, const Aws::MapDescribes the component properties that can be overriden to customize an * instance of the component.
*/ inline CreateComponentData& AddOverrides(const Aws::String& key, Aws::MapDescribes the component properties that can be overriden to customize an * instance of the component.
*/ inline CreateComponentData& AddOverrides(Aws::String&& key, Aws::MapDescribes the component properties that can be overriden to customize an * instance of the component.
*/ inline CreateComponentData& AddOverrides(const char* key, Aws::MapDescribes the component properties that can be overriden to customize an * instance of the component.
*/ inline CreateComponentData& AddOverrides(const char* key, const Aws::MapThe data binding information for the component's properties.
*/ inline const Aws::MapThe data binding information for the component's properties.
*/ inline bool BindingPropertiesHasBeenSet() const { return m_bindingPropertiesHasBeenSet; } /** *The data binding information for the component's properties.
*/ inline void SetBindingProperties(const Aws::MapThe data binding information for the component's properties.
*/ inline void SetBindingProperties(Aws::MapThe data binding information for the component's properties.
*/ inline CreateComponentData& WithBindingProperties(const Aws::MapThe data binding information for the component's properties.
*/ inline CreateComponentData& WithBindingProperties(Aws::MapThe data binding information for the component's properties.
*/ inline CreateComponentData& AddBindingProperties(const Aws::String& key, const ComponentBindingPropertiesValue& value) { m_bindingPropertiesHasBeenSet = true; m_bindingProperties.emplace(key, value); return *this; } /** *The data binding information for the component's properties.
*/ inline CreateComponentData& AddBindingProperties(Aws::String&& key, const ComponentBindingPropertiesValue& value) { m_bindingPropertiesHasBeenSet = true; m_bindingProperties.emplace(std::move(key), value); return *this; } /** *The data binding information for the component's properties.
*/ inline CreateComponentData& AddBindingProperties(const Aws::String& key, ComponentBindingPropertiesValue&& value) { m_bindingPropertiesHasBeenSet = true; m_bindingProperties.emplace(key, std::move(value)); return *this; } /** *The data binding information for the component's properties.
*/ inline CreateComponentData& AddBindingProperties(Aws::String&& key, ComponentBindingPropertiesValue&& value) { m_bindingPropertiesHasBeenSet = true; m_bindingProperties.emplace(std::move(key), std::move(value)); return *this; } /** *The data binding information for the component's properties.
*/ inline CreateComponentData& AddBindingProperties(const char* key, ComponentBindingPropertiesValue&& value) { m_bindingPropertiesHasBeenSet = true; m_bindingProperties.emplace(key, std::move(value)); return *this; } /** *The data binding information for the component's properties.
*/ inline CreateComponentData& AddBindingProperties(const char* key, const ComponentBindingPropertiesValue& value) { m_bindingPropertiesHasBeenSet = true; m_bindingProperties.emplace(key, value); return *this; } /** *The data binding configuration for customizing a component's properties. Use * this for a collection component.
*/ inline const Aws::MapThe data binding configuration for customizing a component's properties. Use * this for a collection component.
*/ inline bool CollectionPropertiesHasBeenSet() const { return m_collectionPropertiesHasBeenSet; } /** *The data binding configuration for customizing a component's properties. Use * this for a collection component.
*/ inline void SetCollectionProperties(const Aws::MapThe data binding configuration for customizing a component's properties. Use * this for a collection component.
*/ inline void SetCollectionProperties(Aws::MapThe data binding configuration for customizing a component's properties. Use * this for a collection component.
*/ inline CreateComponentData& WithCollectionProperties(const Aws::MapThe data binding configuration for customizing a component's properties. Use * this for a collection component.
*/ inline CreateComponentData& WithCollectionProperties(Aws::MapThe data binding configuration for customizing a component's properties. Use * this for a collection component.
*/ inline CreateComponentData& AddCollectionProperties(const Aws::String& key, const ComponentDataConfiguration& value) { m_collectionPropertiesHasBeenSet = true; m_collectionProperties.emplace(key, value); return *this; } /** *The data binding configuration for customizing a component's properties. Use * this for a collection component.
*/ inline CreateComponentData& AddCollectionProperties(Aws::String&& key, const ComponentDataConfiguration& value) { m_collectionPropertiesHasBeenSet = true; m_collectionProperties.emplace(std::move(key), value); return *this; } /** *The data binding configuration for customizing a component's properties. Use * this for a collection component.
*/ inline CreateComponentData& AddCollectionProperties(const Aws::String& key, ComponentDataConfiguration&& value) { m_collectionPropertiesHasBeenSet = true; m_collectionProperties.emplace(key, std::move(value)); return *this; } /** *The data binding configuration for customizing a component's properties. Use * this for a collection component.
*/ inline CreateComponentData& AddCollectionProperties(Aws::String&& key, ComponentDataConfiguration&& value) { m_collectionPropertiesHasBeenSet = true; m_collectionProperties.emplace(std::move(key), std::move(value)); return *this; } /** *The data binding configuration for customizing a component's properties. Use * this for a collection component.
*/ inline CreateComponentData& AddCollectionProperties(const char* key, ComponentDataConfiguration&& value) { m_collectionPropertiesHasBeenSet = true; m_collectionProperties.emplace(key, std::move(value)); return *this; } /** *The data binding configuration for customizing a component's properties. Use * this for a collection component.
*/ inline CreateComponentData& AddCollectionProperties(const char* key, const ComponentDataConfiguration& value) { m_collectionPropertiesHasBeenSet = true; m_collectionProperties.emplace(key, value); return *this; } /** *One or more key-value pairs to use when tagging the component data.
*/ inline const Aws::MapOne or more key-value pairs to use when tagging the component data.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *One or more key-value pairs to use when tagging the component data.
*/ inline void SetTags(const Aws::MapOne or more key-value pairs to use when tagging the component data.
*/ inline void SetTags(Aws::MapOne or more key-value pairs to use when tagging the component data.
*/ inline CreateComponentData& WithTags(const Aws::MapOne or more key-value pairs to use when tagging the component data.
*/ inline CreateComponentData& WithTags(Aws::MapOne or more key-value pairs to use when tagging the component data.
*/ inline CreateComponentData& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *One or more key-value pairs to use when tagging the component data.
*/ inline CreateComponentData& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *One or more key-value pairs to use when tagging the component data.
*/ inline CreateComponentData& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *One or more key-value pairs to use when tagging the component data.
*/ inline CreateComponentData& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *One or more key-value pairs to use when tagging the component data.
*/ inline CreateComponentData& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *One or more key-value pairs to use when tagging the component data.
*/ inline CreateComponentData& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *One or more key-value pairs to use when tagging the component data.
*/ inline CreateComponentData& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *The event configuration for the component. Use for the workflow feature in * Amplify Studio that allows you to bind events and actions to components.
*/ inline const Aws::MapThe event configuration for the component. Use for the workflow feature in * Amplify Studio that allows you to bind events and actions to components.
*/ inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; } /** *The event configuration for the component. Use for the workflow feature in * Amplify Studio that allows you to bind events and actions to components.
*/ inline void SetEvents(const Aws::MapThe event configuration for the component. Use for the workflow feature in * Amplify Studio that allows you to bind events and actions to components.
*/ inline void SetEvents(Aws::MapThe event configuration for the component. Use for the workflow feature in * Amplify Studio that allows you to bind events and actions to components.
*/ inline CreateComponentData& WithEvents(const Aws::MapThe event configuration for the component. Use for the workflow feature in * Amplify Studio that allows you to bind events and actions to components.
*/ inline CreateComponentData& WithEvents(Aws::MapThe event configuration for the component. Use for the workflow feature in * Amplify Studio that allows you to bind events and actions to components.
*/ inline CreateComponentData& AddEvents(const Aws::String& key, const ComponentEvent& value) { m_eventsHasBeenSet = true; m_events.emplace(key, value); return *this; } /** *The event configuration for the component. Use for the workflow feature in * Amplify Studio that allows you to bind events and actions to components.
*/ inline CreateComponentData& AddEvents(Aws::String&& key, const ComponentEvent& value) { m_eventsHasBeenSet = true; m_events.emplace(std::move(key), value); return *this; } /** *The event configuration for the component. Use for the workflow feature in * Amplify Studio that allows you to bind events and actions to components.
*/ inline CreateComponentData& AddEvents(const Aws::String& key, ComponentEvent&& value) { m_eventsHasBeenSet = true; m_events.emplace(key, std::move(value)); return *this; } /** *The event configuration for the component. Use for the workflow feature in * Amplify Studio that allows you to bind events and actions to components.
*/ inline CreateComponentData& AddEvents(Aws::String&& key, ComponentEvent&& value) { m_eventsHasBeenSet = true; m_events.emplace(std::move(key), std::move(value)); return *this; } /** *The event configuration for the component. Use for the workflow feature in * Amplify Studio that allows you to bind events and actions to components.
*/ inline CreateComponentData& AddEvents(const char* key, ComponentEvent&& value) { m_eventsHasBeenSet = true; m_events.emplace(key, std::move(value)); return *this; } /** *The event configuration for the component. Use for the workflow feature in * Amplify Studio that allows you to bind events and actions to components.
*/ inline CreateComponentData& AddEvents(const char* key, const ComponentEvent& value) { m_eventsHasBeenSet = true; m_events.emplace(key, value); return *this; } /** *The schema version of the component when it was imported.
*/ inline const Aws::String& GetSchemaVersion() const{ return m_schemaVersion; } /** *The schema version of the component when it was imported.
*/ inline bool SchemaVersionHasBeenSet() const { return m_schemaVersionHasBeenSet; } /** *The schema version of the component when it was imported.
*/ inline void SetSchemaVersion(const Aws::String& value) { m_schemaVersionHasBeenSet = true; m_schemaVersion = value; } /** *The schema version of the component when it was imported.
*/ inline void SetSchemaVersion(Aws::String&& value) { m_schemaVersionHasBeenSet = true; m_schemaVersion = std::move(value); } /** *The schema version of the component when it was imported.
*/ inline void SetSchemaVersion(const char* value) { m_schemaVersionHasBeenSet = true; m_schemaVersion.assign(value); } /** *The schema version of the component when it was imported.
*/ inline CreateComponentData& WithSchemaVersion(const Aws::String& value) { SetSchemaVersion(value); return *this;} /** *The schema version of the component when it was imported.
*/ inline CreateComponentData& WithSchemaVersion(Aws::String&& value) { SetSchemaVersion(std::move(value)); return *this;} /** *The schema version of the component when it was imported.
*/ inline CreateComponentData& WithSchemaVersion(const char* value) { SetSchemaVersion(value); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_sourceId; bool m_sourceIdHasBeenSet = false; Aws::String m_componentType; bool m_componentTypeHasBeenSet = false; Aws::Map