/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace AmplifyUIBuilder { namespace Model { /** *

Contains the configuration settings for a user interface (UI) element for an * Amplify app. A component is configured as a primary, stand-alone UI element. Use * ComponentChild to configure an instance of a * Component. A ComponentChild instance inherits the * configuration of the main Component.

See Also:

AWS * API Reference

*/ class Component { public: AWS_AMPLIFYUIBUILDER_API Component(); AWS_AMPLIFYUIBUILDER_API Component(Aws::Utils::Json::JsonView jsonValue); AWS_AMPLIFYUIBUILDER_API Component& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_AMPLIFYUIBUILDER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The unique ID of the Amplify app associated with the component.

*/ inline const Aws::String& GetAppId() const{ return m_appId; } /** *

The unique ID of the Amplify app associated with the component.

*/ inline bool AppIdHasBeenSet() const { return m_appIdHasBeenSet; } /** *

The unique ID of the Amplify app associated with the component.

*/ inline void SetAppId(const Aws::String& value) { m_appIdHasBeenSet = true; m_appId = value; } /** *

The unique ID of the Amplify app associated with the component.

*/ inline void SetAppId(Aws::String&& value) { m_appIdHasBeenSet = true; m_appId = std::move(value); } /** *

The unique ID of the Amplify app associated with the component.

*/ inline void SetAppId(const char* value) { m_appIdHasBeenSet = true; m_appId.assign(value); } /** *

The unique ID of the Amplify app associated with the component.

*/ inline Component& WithAppId(const Aws::String& value) { SetAppId(value); return *this;} /** *

The unique ID of the Amplify app associated with the component.

*/ inline Component& WithAppId(Aws::String&& value) { SetAppId(std::move(value)); return *this;} /** *

The unique ID of the Amplify app associated with the component.

*/ inline Component& WithAppId(const char* value) { SetAppId(value); return *this;} /** *

The name of the backend environment that is a part of the Amplify app.

*/ inline const Aws::String& GetEnvironmentName() const{ return m_environmentName; } /** *

The name of the backend environment that is a part of the Amplify app.

*/ inline bool EnvironmentNameHasBeenSet() const { return m_environmentNameHasBeenSet; } /** *

The name of the backend environment that is a part of the Amplify app.

*/ inline void SetEnvironmentName(const Aws::String& value) { m_environmentNameHasBeenSet = true; m_environmentName = value; } /** *

The name of the backend environment that is a part of the Amplify app.

*/ inline void SetEnvironmentName(Aws::String&& value) { m_environmentNameHasBeenSet = true; m_environmentName = std::move(value); } /** *

The name of the backend environment that is a part of the Amplify app.

*/ inline void SetEnvironmentName(const char* value) { m_environmentNameHasBeenSet = true; m_environmentName.assign(value); } /** *

The name of the backend environment that is a part of the Amplify app.

*/ inline Component& WithEnvironmentName(const Aws::String& value) { SetEnvironmentName(value); return *this;} /** *

The name of the backend environment that is a part of the Amplify app.

*/ inline Component& WithEnvironmentName(Aws::String&& value) { SetEnvironmentName(std::move(value)); return *this;} /** *

The name of the backend environment that is a part of the Amplify app.

*/ inline Component& WithEnvironmentName(const char* value) { SetEnvironmentName(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 Component& WithSourceId(const Aws::String& value) { SetSourceId(value); return *this;} /** *

The unique ID of the component in its original source system, such as * Figma.

*/ inline Component& 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 Component& WithSourceId(const char* value) { SetSourceId(value); return *this;} /** *

The unique ID of the component.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The unique ID of the component.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The unique ID of the component.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The unique ID of the component.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The unique ID of the component.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The unique ID of the component.

*/ inline Component& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The unique ID of the component.

*/ inline Component& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The unique ID of the component.

*/ inline Component& WithId(const char* value) { SetId(value); return *this;} /** *

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 Component& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the component.

*/ inline Component& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the component.

*/ inline Component& WithName(const char* value) { SetName(value); return *this;} /** *

The type of the component. This can be an Amplify custom UI component or * another custom component.

*/ inline const Aws::String& GetComponentType() const{ return m_componentType; } /** *

The type of the component. This can be an Amplify custom UI component or * another custom component.

*/ inline bool ComponentTypeHasBeenSet() const { return m_componentTypeHasBeenSet; } /** *

The type of the component. 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 type of the component. 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 type of the component. 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 type of the component. This can be an Amplify custom UI component or * another custom component.

*/ inline Component& WithComponentType(const Aws::String& value) { SetComponentType(value); return *this;} /** *

The type of the component. This can be an Amplify custom UI component or * another custom component.

*/ inline Component& WithComponentType(Aws::String&& value) { SetComponentType(std::move(value)); return *this;} /** *

The type of the component. This can be an Amplify custom UI component or * another custom component.

*/ inline Component& WithComponentType(const char* value) { SetComponentType(value); return *this;} /** *

Describes the component's properties. You can't specify tags as * a valid property for properties.

*/ inline const Aws::Map& GetProperties() const{ return m_properties; } /** *

Describes the component's properties. You can't specify tags as * a valid property for properties.

*/ inline bool PropertiesHasBeenSet() const { return m_propertiesHasBeenSet; } /** *

Describes the component's properties. You can't specify tags as * a valid property for properties.

*/ inline void SetProperties(const Aws::Map& value) { m_propertiesHasBeenSet = true; m_properties = value; } /** *

Describes the component's properties. You can't specify tags as * a valid property for properties.

*/ inline void SetProperties(Aws::Map&& value) { m_propertiesHasBeenSet = true; m_properties = std::move(value); } /** *

Describes the component's properties. You can't specify tags as * a valid property for properties.

*/ inline Component& WithProperties(const Aws::Map& value) { SetProperties(value); return *this;} /** *

Describes the component's properties. You can't specify tags as * a valid property for properties.

*/ inline Component& WithProperties(Aws::Map&& value) { SetProperties(std::move(value)); return *this;} /** *

Describes the component's properties. You can't specify tags as * a valid property for properties.

*/ inline Component& AddProperties(const Aws::String& key, const ComponentProperty& value) { m_propertiesHasBeenSet = true; m_properties.emplace(key, value); return *this; } /** *

Describes the component's properties. You can't specify tags as * a valid property for properties.

*/ inline Component& AddProperties(Aws::String&& key, const ComponentProperty& value) { m_propertiesHasBeenSet = true; m_properties.emplace(std::move(key), value); return *this; } /** *

Describes the component's properties. You can't specify tags as * a valid property for properties.

*/ inline Component& AddProperties(const Aws::String& key, ComponentProperty&& value) { m_propertiesHasBeenSet = true; m_properties.emplace(key, std::move(value)); return *this; } /** *

Describes the component's properties. You can't specify tags as * a valid property for properties.

*/ inline Component& 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. You can't specify tags as * a valid property for properties.

*/ inline Component& AddProperties(const char* key, ComponentProperty&& value) { m_propertiesHasBeenSet = true; m_properties.emplace(key, std::move(value)); return *this; } /** *

Describes the component's properties. You can't specify tags as * a valid property for properties.

*/ inline Component& AddProperties(const char* key, const ComponentProperty& value) { m_propertiesHasBeenSet = true; m_properties.emplace(key, value); return *this; } /** *

A list of the component's ComponentChild instances.

*/ inline const Aws::Vector& GetChildren() const{ return m_children; } /** *

A list of the component's ComponentChild instances.

*/ inline bool ChildrenHasBeenSet() const { return m_childrenHasBeenSet; } /** *

A list of the component's ComponentChild instances.

*/ inline void SetChildren(const Aws::Vector& value) { m_childrenHasBeenSet = true; m_children = value; } /** *

A list of the component's ComponentChild instances.

*/ inline void SetChildren(Aws::Vector&& value) { m_childrenHasBeenSet = true; m_children = std::move(value); } /** *

A list of the component's ComponentChild instances.

*/ inline Component& WithChildren(const Aws::Vector& value) { SetChildren(value); return *this;} /** *

A list of the component's ComponentChild instances.

*/ inline Component& WithChildren(Aws::Vector&& value) { SetChildren(std::move(value)); return *this;} /** *

A list of the component's ComponentChild instances.

*/ inline Component& AddChildren(const ComponentChild& value) { m_childrenHasBeenSet = true; m_children.push_back(value); return *this; } /** *

A list of the component's ComponentChild instances.

*/ inline Component& AddChildren(ComponentChild&& value) { m_childrenHasBeenSet = true; m_children.push_back(std::move(value)); return *this; } /** *

A list of the component's variants. A variant is a unique style configuration * of a main component.

*/ inline const Aws::Vector& GetVariants() const{ return m_variants; } /** *

A list of the component's variants. A variant is a unique style configuration * of a main component.

*/ inline bool VariantsHasBeenSet() const { return m_variantsHasBeenSet; } /** *

A list of the component's variants. A variant is a unique style configuration * of a main component.

*/ inline void SetVariants(const Aws::Vector& value) { m_variantsHasBeenSet = true; m_variants = value; } /** *

A list of the component's variants. A variant is a unique style configuration * of a main component.

*/ inline void SetVariants(Aws::Vector&& value) { m_variantsHasBeenSet = true; m_variants = std::move(value); } /** *

A list of the component's variants. A variant is a unique style configuration * of a main component.

*/ inline Component& WithVariants(const Aws::Vector& value) { SetVariants(value); return *this;} /** *

A list of the component's variants. A variant is a unique style configuration * of a main component.

*/ inline Component& WithVariants(Aws::Vector&& value) { SetVariants(std::move(value)); return *this;} /** *

A list of the component's variants. A variant is a unique style configuration * of a main component.

*/ inline Component& AddVariants(const ComponentVariant& value) { m_variantsHasBeenSet = true; m_variants.push_back(value); return *this; } /** *

A list of the component's variants. A variant is a unique style configuration * of a main component.

*/ inline Component& AddVariants(ComponentVariant&& value) { m_variantsHasBeenSet = true; m_variants.push_back(std::move(value)); return *this; } /** *

Describes the component's properties that can be overriden in a customized * instance of the component. You can't specify tags as a valid * property for overrides.

*/ inline const Aws::Map>& GetOverrides() const{ return m_overrides; } /** *

Describes the component's properties that can be overriden in a customized * instance of the component. You can't specify tags as a valid * property for overrides.

*/ inline bool OverridesHasBeenSet() const { return m_overridesHasBeenSet; } /** *

Describes the component's properties that can be overriden in a customized * instance of the component. You can't specify tags as a valid * property for overrides.

*/ inline void SetOverrides(const Aws::Map>& value) { m_overridesHasBeenSet = true; m_overrides = value; } /** *

Describes the component's properties that can be overriden in a customized * instance of the component. You can't specify tags as a valid * property for overrides.

*/ inline void SetOverrides(Aws::Map>&& value) { m_overridesHasBeenSet = true; m_overrides = std::move(value); } /** *

Describes the component's properties that can be overriden in a customized * instance of the component. You can't specify tags as a valid * property for overrides.

*/ inline Component& WithOverrides(const Aws::Map>& value) { SetOverrides(value); return *this;} /** *

Describes the component's properties that can be overriden in a customized * instance of the component. You can't specify tags as a valid * property for overrides.

*/ inline Component& WithOverrides(Aws::Map>&& value) { SetOverrides(std::move(value)); return *this;} /** *

Describes the component's properties that can be overriden in a customized * instance of the component. You can't specify tags as a valid * property for overrides.

*/ inline Component& AddOverrides(const Aws::String& key, const Aws::Map& value) { m_overridesHasBeenSet = true; m_overrides.emplace(key, value); return *this; } /** *

Describes the component's properties that can be overriden in a customized * instance of the component. You can't specify tags as a valid * property for overrides.

*/ inline Component& AddOverrides(Aws::String&& key, const Aws::Map& value) { m_overridesHasBeenSet = true; m_overrides.emplace(std::move(key), value); return *this; } /** *

Describes the component's properties that can be overriden in a customized * instance of the component. You can't specify tags as a valid * property for overrides.

*/ inline Component& AddOverrides(const Aws::String& key, Aws::Map&& value) { m_overridesHasBeenSet = true; m_overrides.emplace(key, std::move(value)); return *this; } /** *

Describes the component's properties that can be overriden in a customized * instance of the component. You can't specify tags as a valid * property for overrides.

*/ inline Component& AddOverrides(Aws::String&& key, Aws::Map&& value) { m_overridesHasBeenSet = true; m_overrides.emplace(std::move(key), std::move(value)); return *this; } /** *

Describes the component's properties that can be overriden in a customized * instance of the component. You can't specify tags as a valid * property for overrides.

*/ inline Component& AddOverrides(const char* key, Aws::Map&& value) { m_overridesHasBeenSet = true; m_overrides.emplace(key, std::move(value)); return *this; } /** *

Describes the component's properties that can be overriden in a customized * instance of the component. You can't specify tags as a valid * property for overrides.

*/ inline Component& AddOverrides(const char* key, const Aws::Map& value) { m_overridesHasBeenSet = true; m_overrides.emplace(key, value); return *this; } /** *

The information to connect a component's properties to data at runtime. You * can't specify tags as a valid property for * bindingProperties.

*/ inline const Aws::Map& GetBindingProperties() const{ return m_bindingProperties; } /** *

The information to connect a component's properties to data at runtime. You * can't specify tags as a valid property for * bindingProperties.

*/ inline bool BindingPropertiesHasBeenSet() const { return m_bindingPropertiesHasBeenSet; } /** *

The information to connect a component's properties to data at runtime. You * can't specify tags as a valid property for * bindingProperties.

*/ inline void SetBindingProperties(const Aws::Map& value) { m_bindingPropertiesHasBeenSet = true; m_bindingProperties = value; } /** *

The information to connect a component's properties to data at runtime. You * can't specify tags as a valid property for * bindingProperties.

*/ inline void SetBindingProperties(Aws::Map&& value) { m_bindingPropertiesHasBeenSet = true; m_bindingProperties = std::move(value); } /** *

The information to connect a component's properties to data at runtime. You * can't specify tags as a valid property for * bindingProperties.

*/ inline Component& WithBindingProperties(const Aws::Map& value) { SetBindingProperties(value); return *this;} /** *

The information to connect a component's properties to data at runtime. You * can't specify tags as a valid property for * bindingProperties.

*/ inline Component& WithBindingProperties(Aws::Map&& value) { SetBindingProperties(std::move(value)); return *this;} /** *

The information to connect a component's properties to data at runtime. You * can't specify tags as a valid property for * bindingProperties.

*/ inline Component& AddBindingProperties(const Aws::String& key, const ComponentBindingPropertiesValue& value) { m_bindingPropertiesHasBeenSet = true; m_bindingProperties.emplace(key, value); return *this; } /** *

The information to connect a component's properties to data at runtime. You * can't specify tags as a valid property for * bindingProperties.

*/ inline Component& AddBindingProperties(Aws::String&& key, const ComponentBindingPropertiesValue& value) { m_bindingPropertiesHasBeenSet = true; m_bindingProperties.emplace(std::move(key), value); return *this; } /** *

The information to connect a component's properties to data at runtime. You * can't specify tags as a valid property for * bindingProperties.

*/ inline Component& AddBindingProperties(const Aws::String& key, ComponentBindingPropertiesValue&& value) { m_bindingPropertiesHasBeenSet = true; m_bindingProperties.emplace(key, std::move(value)); return *this; } /** *

The information to connect a component's properties to data at runtime. You * can't specify tags as a valid property for * bindingProperties.

*/ inline Component& AddBindingProperties(Aws::String&& key, ComponentBindingPropertiesValue&& value) { m_bindingPropertiesHasBeenSet = true; m_bindingProperties.emplace(std::move(key), std::move(value)); return *this; } /** *

The information to connect a component's properties to data at runtime. You * can't specify tags as a valid property for * bindingProperties.

*/ inline Component& AddBindingProperties(const char* key, ComponentBindingPropertiesValue&& value) { m_bindingPropertiesHasBeenSet = true; m_bindingProperties.emplace(key, std::move(value)); return *this; } /** *

The information to connect a component's properties to data at runtime. You * can't specify tags as a valid property for * bindingProperties.

*/ inline Component& AddBindingProperties(const char* key, const ComponentBindingPropertiesValue& value) { m_bindingPropertiesHasBeenSet = true; m_bindingProperties.emplace(key, value); return *this; } /** *

The data binding configuration for the component's properties. Use this for a * collection component. You can't specify tags as a valid property * for collectionProperties.

*/ inline const Aws::Map& GetCollectionProperties() const{ return m_collectionProperties; } /** *

The data binding configuration for the component's properties. Use this for a * collection component. You can't specify tags as a valid property * for collectionProperties.

*/ inline bool CollectionPropertiesHasBeenSet() const { return m_collectionPropertiesHasBeenSet; } /** *

The data binding configuration for the component's properties. Use this for a * collection component. You can't specify tags as a valid property * for collectionProperties.

*/ inline void SetCollectionProperties(const Aws::Map& value) { m_collectionPropertiesHasBeenSet = true; m_collectionProperties = value; } /** *

The data binding configuration for the component's properties. Use this for a * collection component. You can't specify tags as a valid property * for collectionProperties.

*/ inline void SetCollectionProperties(Aws::Map&& value) { m_collectionPropertiesHasBeenSet = true; m_collectionProperties = std::move(value); } /** *

The data binding configuration for the component's properties. Use this for a * collection component. You can't specify tags as a valid property * for collectionProperties.

*/ inline Component& WithCollectionProperties(const Aws::Map& value) { SetCollectionProperties(value); return *this;} /** *

The data binding configuration for the component's properties. Use this for a * collection component. You can't specify tags as a valid property * for collectionProperties.

*/ inline Component& WithCollectionProperties(Aws::Map&& value) { SetCollectionProperties(std::move(value)); return *this;} /** *

The data binding configuration for the component's properties. Use this for a * collection component. You can't specify tags as a valid property * for collectionProperties.

*/ inline Component& AddCollectionProperties(const Aws::String& key, const ComponentDataConfiguration& value) { m_collectionPropertiesHasBeenSet = true; m_collectionProperties.emplace(key, value); return *this; } /** *

The data binding configuration for the component's properties. Use this for a * collection component. You can't specify tags as a valid property * for collectionProperties.

*/ inline Component& AddCollectionProperties(Aws::String&& key, const ComponentDataConfiguration& value) { m_collectionPropertiesHasBeenSet = true; m_collectionProperties.emplace(std::move(key), value); return *this; } /** *

The data binding configuration for the component's properties. Use this for a * collection component. You can't specify tags as a valid property * for collectionProperties.

*/ inline Component& AddCollectionProperties(const Aws::String& key, ComponentDataConfiguration&& value) { m_collectionPropertiesHasBeenSet = true; m_collectionProperties.emplace(key, std::move(value)); return *this; } /** *

The data binding configuration for the component's properties. Use this for a * collection component. You can't specify tags as a valid property * for collectionProperties.

*/ inline Component& 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 the component's properties. Use this for a * collection component. You can't specify tags as a valid property * for collectionProperties.

*/ inline Component& AddCollectionProperties(const char* key, ComponentDataConfiguration&& value) { m_collectionPropertiesHasBeenSet = true; m_collectionProperties.emplace(key, std::move(value)); return *this; } /** *

The data binding configuration for the component's properties. Use this for a * collection component. You can't specify tags as a valid property * for collectionProperties.

*/ inline Component& AddCollectionProperties(const char* key, const ComponentDataConfiguration& value) { m_collectionPropertiesHasBeenSet = true; m_collectionProperties.emplace(key, value); return *this; } /** *

The time that the component was created.

*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *

The time that the component was created.

*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *

The time that the component was created.

*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *

The time that the component was created.

*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *

The time that the component was created.

*/ inline Component& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *

The time that the component was created.

*/ inline Component& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** *

The time that the component was modified.

*/ inline const Aws::Utils::DateTime& GetModifiedAt() const{ return m_modifiedAt; } /** *

The time that the component was modified.

*/ inline bool ModifiedAtHasBeenSet() const { return m_modifiedAtHasBeenSet; } /** *

The time that the component was modified.

*/ inline void SetModifiedAt(const Aws::Utils::DateTime& value) { m_modifiedAtHasBeenSet = true; m_modifiedAt = value; } /** *

The time that the component was modified.

*/ inline void SetModifiedAt(Aws::Utils::DateTime&& value) { m_modifiedAtHasBeenSet = true; m_modifiedAt = std::move(value); } /** *

The time that the component was modified.

*/ inline Component& WithModifiedAt(const Aws::Utils::DateTime& value) { SetModifiedAt(value); return *this;} /** *

The time that the component was modified.

*/ inline Component& WithModifiedAt(Aws::Utils::DateTime&& value) { SetModifiedAt(std::move(value)); return *this;} /** *

One or more key-value pairs to use when tagging the component.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

One or more key-value pairs to use when tagging the component.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

One or more key-value pairs to use when tagging the component.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

One or more key-value pairs to use when tagging the component.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

One or more key-value pairs to use when tagging the component.

*/ inline Component& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

One or more key-value pairs to use when tagging the component.

*/ inline Component& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

One or more key-value pairs to use when tagging the component.

*/ inline Component& 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.

*/ inline Component& 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.

*/ inline Component& 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.

*/ inline Component& 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.

*/ inline Component& 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.

*/ inline Component& 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.

*/ inline Component& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

Describes the events that can be raised on the component. Use for the * workflow feature in Amplify Studio that allows you to bind events and actions to * components.

*/ inline const Aws::Map& GetEvents() const{ return m_events; } /** *

Describes the events that can be raised on 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; } /** *

Describes the events that can be raised on 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::Map& value) { m_eventsHasBeenSet = true; m_events = value; } /** *

Describes the events that can be raised on the component. Use for the * workflow feature in Amplify Studio that allows you to bind events and actions to * components.

*/ inline void SetEvents(Aws::Map&& value) { m_eventsHasBeenSet = true; m_events = std::move(value); } /** *

Describes the events that can be raised on the component. Use for the * workflow feature in Amplify Studio that allows you to bind events and actions to * components.

*/ inline Component& WithEvents(const Aws::Map& value) { SetEvents(value); return *this;} /** *

Describes the events that can be raised on the component. Use for the * workflow feature in Amplify Studio that allows you to bind events and actions to * components.

*/ inline Component& WithEvents(Aws::Map&& value) { SetEvents(std::move(value)); return *this;} /** *

Describes the events that can be raised on the component. Use for the * workflow feature in Amplify Studio that allows you to bind events and actions to * components.

*/ inline Component& AddEvents(const Aws::String& key, const ComponentEvent& value) { m_eventsHasBeenSet = true; m_events.emplace(key, value); return *this; } /** *

Describes the events that can be raised on the component. Use for the * workflow feature in Amplify Studio that allows you to bind events and actions to * components.

*/ inline Component& AddEvents(Aws::String&& key, const ComponentEvent& value) { m_eventsHasBeenSet = true; m_events.emplace(std::move(key), value); return *this; } /** *

Describes the events that can be raised on the component. Use for the * workflow feature in Amplify Studio that allows you to bind events and actions to * components.

*/ inline Component& AddEvents(const Aws::String& key, ComponentEvent&& value) { m_eventsHasBeenSet = true; m_events.emplace(key, std::move(value)); return *this; } /** *

Describes the events that can be raised on the component. Use for the * workflow feature in Amplify Studio that allows you to bind events and actions to * components.

*/ inline Component& AddEvents(Aws::String&& key, ComponentEvent&& value) { m_eventsHasBeenSet = true; m_events.emplace(std::move(key), std::move(value)); return *this; } /** *

Describes the events that can be raised on the component. Use for the * workflow feature in Amplify Studio that allows you to bind events and actions to * components.

*/ inline Component& AddEvents(const char* key, ComponentEvent&& value) { m_eventsHasBeenSet = true; m_events.emplace(key, std::move(value)); return *this; } /** *

Describes the events that can be raised on the component. Use for the * workflow feature in Amplify Studio that allows you to bind events and actions to * components.

*/ inline Component& 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 Component& WithSchemaVersion(const Aws::String& value) { SetSchemaVersion(value); return *this;} /** *

The schema version of the component when it was imported.

*/ inline Component& WithSchemaVersion(Aws::String&& value) { SetSchemaVersion(std::move(value)); return *this;} /** *

The schema version of the component when it was imported.

*/ inline Component& WithSchemaVersion(const char* value) { SetSchemaVersion(value); return *this;} private: Aws::String m_appId; bool m_appIdHasBeenSet = false; Aws::String m_environmentName; bool m_environmentNameHasBeenSet = false; Aws::String m_sourceId; bool m_sourceIdHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_componentType; bool m_componentTypeHasBeenSet = false; Aws::Map m_properties; bool m_propertiesHasBeenSet = false; Aws::Vector m_children; bool m_childrenHasBeenSet = false; Aws::Vector m_variants; bool m_variantsHasBeenSet = false; Aws::Map> m_overrides; bool m_overridesHasBeenSet = false; Aws::Map m_bindingProperties; bool m_bindingPropertiesHasBeenSet = false; Aws::Map m_collectionProperties; bool m_collectionPropertiesHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; Aws::Utils::DateTime m_modifiedAt; bool m_modifiedAtHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; Aws::Map m_events; bool m_eventsHasBeenSet = false; Aws::String m_schemaVersion; bool m_schemaVersionHasBeenSet = false; }; } // namespace Model } // namespace AmplifyUIBuilder } // namespace Aws