/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace AmplifyUIBuilder { namespace Model { class ComponentConditionProperty; /** *

Describes the configuration for all of a component's properties. Use * ComponentProperty to specify the values to render or bind by * default.

See Also:

AWS * API Reference

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

The value to assign to the component property.

*/ inline const Aws::String& GetValue() const{ return m_value; } /** *

The value to assign to the component property.

*/ inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } /** *

The value to assign to the component property.

*/ inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } /** *

The value to assign to the component property.

*/ inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } /** *

The value to assign to the component property.

*/ inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } /** *

The value to assign to the component property.

*/ inline ComponentProperty& WithValue(const Aws::String& value) { SetValue(value); return *this;} /** *

The value to assign to the component property.

*/ inline ComponentProperty& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} /** *

The value to assign to the component property.

*/ inline ComponentProperty& WithValue(const char* value) { SetValue(value); return *this;} /** *

The information to bind the component property to data at runtime.

*/ inline const ComponentPropertyBindingProperties& GetBindingProperties() const{ return m_bindingProperties; } /** *

The information to bind the component property to data at runtime.

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

The information to bind the component property to data at runtime.

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

The information to bind the component property to data at runtime.

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

The information to bind the component property to data at runtime.

*/ inline ComponentProperty& WithBindingProperties(const ComponentPropertyBindingProperties& value) { SetBindingProperties(value); return *this;} /** *

The information to bind the component property to data at runtime.

*/ inline ComponentProperty& WithBindingProperties(ComponentPropertyBindingProperties&& value) { SetBindingProperties(std::move(value)); return *this;} /** *

The information to bind the component property to data at runtime. Use this * for collection components.

*/ inline const ComponentPropertyBindingProperties& GetCollectionBindingProperties() const{ return m_collectionBindingProperties; } /** *

The information to bind the component property to data at runtime. Use this * for collection components.

*/ inline bool CollectionBindingPropertiesHasBeenSet() const { return m_collectionBindingPropertiesHasBeenSet; } /** *

The information to bind the component property to data at runtime. Use this * for collection components.

*/ inline void SetCollectionBindingProperties(const ComponentPropertyBindingProperties& value) { m_collectionBindingPropertiesHasBeenSet = true; m_collectionBindingProperties = value; } /** *

The information to bind the component property to data at runtime. Use this * for collection components.

*/ inline void SetCollectionBindingProperties(ComponentPropertyBindingProperties&& value) { m_collectionBindingPropertiesHasBeenSet = true; m_collectionBindingProperties = std::move(value); } /** *

The information to bind the component property to data at runtime. Use this * for collection components.

*/ inline ComponentProperty& WithCollectionBindingProperties(const ComponentPropertyBindingProperties& value) { SetCollectionBindingProperties(value); return *this;} /** *

The information to bind the component property to data at runtime. Use this * for collection components.

*/ inline ComponentProperty& WithCollectionBindingProperties(ComponentPropertyBindingProperties&& value) { SetCollectionBindingProperties(std::move(value)); return *this;} /** *

The default value to assign to the component property.

*/ inline const Aws::String& GetDefaultValue() const{ return m_defaultValue; } /** *

The default value to assign to the component property.

*/ inline bool DefaultValueHasBeenSet() const { return m_defaultValueHasBeenSet; } /** *

The default value to assign to the component property.

*/ inline void SetDefaultValue(const Aws::String& value) { m_defaultValueHasBeenSet = true; m_defaultValue = value; } /** *

The default value to assign to the component property.

*/ inline void SetDefaultValue(Aws::String&& value) { m_defaultValueHasBeenSet = true; m_defaultValue = std::move(value); } /** *

The default value to assign to the component property.

*/ inline void SetDefaultValue(const char* value) { m_defaultValueHasBeenSet = true; m_defaultValue.assign(value); } /** *

The default value to assign to the component property.

*/ inline ComponentProperty& WithDefaultValue(const Aws::String& value) { SetDefaultValue(value); return *this;} /** *

The default value to assign to the component property.

*/ inline ComponentProperty& WithDefaultValue(Aws::String&& value) { SetDefaultValue(std::move(value)); return *this;} /** *

The default value to assign to the component property.

*/ inline ComponentProperty& WithDefaultValue(const char* value) { SetDefaultValue(value); return *this;} /** *

The data model to use to assign a value to the component property.

*/ inline const Aws::String& GetModel() const{ return m_model; } /** *

The data model to use to assign a value to the component property.

*/ inline bool ModelHasBeenSet() const { return m_modelHasBeenSet; } /** *

The data model to use to assign a value to the component property.

*/ inline void SetModel(const Aws::String& value) { m_modelHasBeenSet = true; m_model = value; } /** *

The data model to use to assign a value to the component property.

*/ inline void SetModel(Aws::String&& value) { m_modelHasBeenSet = true; m_model = std::move(value); } /** *

The data model to use to assign a value to the component property.

*/ inline void SetModel(const char* value) { m_modelHasBeenSet = true; m_model.assign(value); } /** *

The data model to use to assign a value to the component property.

*/ inline ComponentProperty& WithModel(const Aws::String& value) { SetModel(value); return *this;} /** *

The data model to use to assign a value to the component property.

*/ inline ComponentProperty& WithModel(Aws::String&& value) { SetModel(std::move(value)); return *this;} /** *

The data model to use to assign a value to the component property.

*/ inline ComponentProperty& WithModel(const char* value) { SetModel(value); return *this;} /** *

The information to bind the component property to form data.

*/ inline const Aws::Map& GetBindings() const{ return m_bindings; } /** *

The information to bind the component property to form data.

*/ inline bool BindingsHasBeenSet() const { return m_bindingsHasBeenSet; } /** *

The information to bind the component property to form data.

*/ inline void SetBindings(const Aws::Map& value) { m_bindingsHasBeenSet = true; m_bindings = value; } /** *

The information to bind the component property to form data.

*/ inline void SetBindings(Aws::Map&& value) { m_bindingsHasBeenSet = true; m_bindings = std::move(value); } /** *

The information to bind the component property to form data.

*/ inline ComponentProperty& WithBindings(const Aws::Map& value) { SetBindings(value); return *this;} /** *

The information to bind the component property to form data.

*/ inline ComponentProperty& WithBindings(Aws::Map&& value) { SetBindings(std::move(value)); return *this;} /** *

The information to bind the component property to form data.

*/ inline ComponentProperty& AddBindings(const Aws::String& key, const FormBindingElement& value) { m_bindingsHasBeenSet = true; m_bindings.emplace(key, value); return *this; } /** *

The information to bind the component property to form data.

*/ inline ComponentProperty& AddBindings(Aws::String&& key, const FormBindingElement& value) { m_bindingsHasBeenSet = true; m_bindings.emplace(std::move(key), value); return *this; } /** *

The information to bind the component property to form data.

*/ inline ComponentProperty& AddBindings(const Aws::String& key, FormBindingElement&& value) { m_bindingsHasBeenSet = true; m_bindings.emplace(key, std::move(value)); return *this; } /** *

The information to bind the component property to form data.

*/ inline ComponentProperty& AddBindings(Aws::String&& key, FormBindingElement&& value) { m_bindingsHasBeenSet = true; m_bindings.emplace(std::move(key), std::move(value)); return *this; } /** *

The information to bind the component property to form data.

*/ inline ComponentProperty& AddBindings(const char* key, FormBindingElement&& value) { m_bindingsHasBeenSet = true; m_bindings.emplace(key, std::move(value)); return *this; } /** *

The information to bind the component property to form data.

*/ inline ComponentProperty& AddBindings(const char* key, const FormBindingElement& value) { m_bindingsHasBeenSet = true; m_bindings.emplace(key, value); return *this; } /** *

An event that occurs in your app. Use this for workflow data binding.

*/ inline const Aws::String& GetEvent() const{ return m_event; } /** *

An event that occurs in your app. Use this for workflow data binding.

*/ inline bool EventHasBeenSet() const { return m_eventHasBeenSet; } /** *

An event that occurs in your app. Use this for workflow data binding.

*/ inline void SetEvent(const Aws::String& value) { m_eventHasBeenSet = true; m_event = value; } /** *

An event that occurs in your app. Use this for workflow data binding.

*/ inline void SetEvent(Aws::String&& value) { m_eventHasBeenSet = true; m_event = std::move(value); } /** *

An event that occurs in your app. Use this for workflow data binding.

*/ inline void SetEvent(const char* value) { m_eventHasBeenSet = true; m_event.assign(value); } /** *

An event that occurs in your app. Use this for workflow data binding.

*/ inline ComponentProperty& WithEvent(const Aws::String& value) { SetEvent(value); return *this;} /** *

An event that occurs in your app. Use this for workflow data binding.

*/ inline ComponentProperty& WithEvent(Aws::String&& value) { SetEvent(std::move(value)); return *this;} /** *

An event that occurs in your app. Use this for workflow data binding.

*/ inline ComponentProperty& WithEvent(const char* value) { SetEvent(value); return *this;} /** *

An authenticated user attribute to use to assign a value to the component * property.

*/ inline const Aws::String& GetUserAttribute() const{ return m_userAttribute; } /** *

An authenticated user attribute to use to assign a value to the component * property.

*/ inline bool UserAttributeHasBeenSet() const { return m_userAttributeHasBeenSet; } /** *

An authenticated user attribute to use to assign a value to the component * property.

*/ inline void SetUserAttribute(const Aws::String& value) { m_userAttributeHasBeenSet = true; m_userAttribute = value; } /** *

An authenticated user attribute to use to assign a value to the component * property.

*/ inline void SetUserAttribute(Aws::String&& value) { m_userAttributeHasBeenSet = true; m_userAttribute = std::move(value); } /** *

An authenticated user attribute to use to assign a value to the component * property.

*/ inline void SetUserAttribute(const char* value) { m_userAttributeHasBeenSet = true; m_userAttribute.assign(value); } /** *

An authenticated user attribute to use to assign a value to the component * property.

*/ inline ComponentProperty& WithUserAttribute(const Aws::String& value) { SetUserAttribute(value); return *this;} /** *

An authenticated user attribute to use to assign a value to the component * property.

*/ inline ComponentProperty& WithUserAttribute(Aws::String&& value) { SetUserAttribute(std::move(value)); return *this;} /** *

An authenticated user attribute to use to assign a value to the component * property.

*/ inline ComponentProperty& WithUserAttribute(const char* value) { SetUserAttribute(value); return *this;} /** *

A list of component properties to concatenate to create the value to assign * to this component property.

*/ inline const Aws::Vector& GetConcat() const{ return m_concat; } /** *

A list of component properties to concatenate to create the value to assign * to this component property.

*/ inline bool ConcatHasBeenSet() const { return m_concatHasBeenSet; } /** *

A list of component properties to concatenate to create the value to assign * to this component property.

*/ inline void SetConcat(const Aws::Vector& value) { m_concatHasBeenSet = true; m_concat = value; } /** *

A list of component properties to concatenate to create the value to assign * to this component property.

*/ inline void SetConcat(Aws::Vector&& value) { m_concatHasBeenSet = true; m_concat = std::move(value); } /** *

A list of component properties to concatenate to create the value to assign * to this component property.

*/ inline ComponentProperty& WithConcat(const Aws::Vector& value) { SetConcat(value); return *this;} /** *

A list of component properties to concatenate to create the value to assign * to this component property.

*/ inline ComponentProperty& WithConcat(Aws::Vector&& value) { SetConcat(std::move(value)); return *this;} /** *

A list of component properties to concatenate to create the value to assign * to this component property.

*/ inline ComponentProperty& AddConcat(const ComponentProperty& value) { m_concatHasBeenSet = true; m_concat.push_back(value); return *this; } /** *

A list of component properties to concatenate to create the value to assign * to this component property.

*/ inline ComponentProperty& AddConcat(ComponentProperty&& value) { m_concatHasBeenSet = true; m_concat.push_back(std::move(value)); return *this; } /** *

The conditional expression to use to assign a value to the component * property.

*/ AWS_AMPLIFYUIBUILDER_API const ComponentConditionProperty& GetCondition() const; /** *

The conditional expression to use to assign a value to the component * property.

*/ AWS_AMPLIFYUIBUILDER_API bool ConditionHasBeenSet() const; /** *

The conditional expression to use to assign a value to the component * property.

*/ AWS_AMPLIFYUIBUILDER_API void SetCondition(const ComponentConditionProperty& value); /** *

The conditional expression to use to assign a value to the component * property.

*/ AWS_AMPLIFYUIBUILDER_API void SetCondition(ComponentConditionProperty&& value); /** *

The conditional expression to use to assign a value to the component * property.

*/ AWS_AMPLIFYUIBUILDER_API ComponentProperty& WithCondition(const ComponentConditionProperty& value); /** *

The conditional expression to use to assign a value to the component * property.

*/ AWS_AMPLIFYUIBUILDER_API ComponentProperty& WithCondition(ComponentConditionProperty&& value); /** *

Specifies whether the user configured the property in Amplify Studio after * importing it.

*/ inline bool GetConfigured() const{ return m_configured; } /** *

Specifies whether the user configured the property in Amplify Studio after * importing it.

*/ inline bool ConfiguredHasBeenSet() const { return m_configuredHasBeenSet; } /** *

Specifies whether the user configured the property in Amplify Studio after * importing it.

*/ inline void SetConfigured(bool value) { m_configuredHasBeenSet = true; m_configured = value; } /** *

Specifies whether the user configured the property in Amplify Studio after * importing it.

*/ inline ComponentProperty& WithConfigured(bool value) { SetConfigured(value); return *this;} /** *

The component type.

*/ inline const Aws::String& GetType() const{ return m_type; } /** *

The component type.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The component type.

*/ inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The component type.

*/ inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The component type.

*/ inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } /** *

The component type.

*/ inline ComponentProperty& WithType(const Aws::String& value) { SetType(value); return *this;} /** *

The component type.

*/ inline ComponentProperty& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} /** *

The component type.

*/ inline ComponentProperty& WithType(const char* value) { SetType(value); return *this;} /** *

The default value assigned to the property when the component is imported * into an app.

*/ inline const Aws::String& GetImportedValue() const{ return m_importedValue; } /** *

The default value assigned to the property when the component is imported * into an app.

*/ inline bool ImportedValueHasBeenSet() const { return m_importedValueHasBeenSet; } /** *

The default value assigned to the property when the component is imported * into an app.

*/ inline void SetImportedValue(const Aws::String& value) { m_importedValueHasBeenSet = true; m_importedValue = value; } /** *

The default value assigned to the property when the component is imported * into an app.

*/ inline void SetImportedValue(Aws::String&& value) { m_importedValueHasBeenSet = true; m_importedValue = std::move(value); } /** *

The default value assigned to the property when the component is imported * into an app.

*/ inline void SetImportedValue(const char* value) { m_importedValueHasBeenSet = true; m_importedValue.assign(value); } /** *

The default value assigned to the property when the component is imported * into an app.

*/ inline ComponentProperty& WithImportedValue(const Aws::String& value) { SetImportedValue(value); return *this;} /** *

The default value assigned to the property when the component is imported * into an app.

*/ inline ComponentProperty& WithImportedValue(Aws::String&& value) { SetImportedValue(std::move(value)); return *this;} /** *

The default value assigned to the property when the component is imported * into an app.

*/ inline ComponentProperty& WithImportedValue(const char* value) { SetImportedValue(value); return *this;} /** *

The name of the component that is affected by an event.

*/ inline const Aws::String& GetComponentName() const{ return m_componentName; } /** *

The name of the component that is affected by an event.

*/ inline bool ComponentNameHasBeenSet() const { return m_componentNameHasBeenSet; } /** *

The name of the component that is affected by an event.

*/ inline void SetComponentName(const Aws::String& value) { m_componentNameHasBeenSet = true; m_componentName = value; } /** *

The name of the component that is affected by an event.

*/ inline void SetComponentName(Aws::String&& value) { m_componentNameHasBeenSet = true; m_componentName = std::move(value); } /** *

The name of the component that is affected by an event.

*/ inline void SetComponentName(const char* value) { m_componentNameHasBeenSet = true; m_componentName.assign(value); } /** *

The name of the component that is affected by an event.

*/ inline ComponentProperty& WithComponentName(const Aws::String& value) { SetComponentName(value); return *this;} /** *

The name of the component that is affected by an event.

*/ inline ComponentProperty& WithComponentName(Aws::String&& value) { SetComponentName(std::move(value)); return *this;} /** *

The name of the component that is affected by an event.

*/ inline ComponentProperty& WithComponentName(const char* value) { SetComponentName(value); return *this;} /** *

The name of the component's property that is affected by an event.

*/ inline const Aws::String& GetProperty() const{ return m_property; } /** *

The name of the component's property that is affected by an event.

*/ inline bool PropertyHasBeenSet() const { return m_propertyHasBeenSet; } /** *

The name of the component's property that is affected by an event.

*/ inline void SetProperty(const Aws::String& value) { m_propertyHasBeenSet = true; m_property = value; } /** *

The name of the component's property that is affected by an event.

*/ inline void SetProperty(Aws::String&& value) { m_propertyHasBeenSet = true; m_property = std::move(value); } /** *

The name of the component's property that is affected by an event.

*/ inline void SetProperty(const char* value) { m_propertyHasBeenSet = true; m_property.assign(value); } /** *

The name of the component's property that is affected by an event.

*/ inline ComponentProperty& WithProperty(const Aws::String& value) { SetProperty(value); return *this;} /** *

The name of the component's property that is affected by an event.

*/ inline ComponentProperty& WithProperty(Aws::String&& value) { SetProperty(std::move(value)); return *this;} /** *

The name of the component's property that is affected by an event.

*/ inline ComponentProperty& WithProperty(const char* value) { SetProperty(value); return *this;} private: Aws::String m_value; bool m_valueHasBeenSet = false; ComponentPropertyBindingProperties m_bindingProperties; bool m_bindingPropertiesHasBeenSet = false; ComponentPropertyBindingProperties m_collectionBindingProperties; bool m_collectionBindingPropertiesHasBeenSet = false; Aws::String m_defaultValue; bool m_defaultValueHasBeenSet = false; Aws::String m_model; bool m_modelHasBeenSet = false; Aws::Map m_bindings; bool m_bindingsHasBeenSet = false; Aws::String m_event; bool m_eventHasBeenSet = false; Aws::String m_userAttribute; bool m_userAttributeHasBeenSet = false; Aws::Vector m_concat; bool m_concatHasBeenSet = false; std::shared_ptr m_condition; bool m_conditionHasBeenSet = false; bool m_configured; bool m_configuredHasBeenSet = false; Aws::String m_type; bool m_typeHasBeenSet = false; Aws::String m_importedValue; bool m_importedValueHasBeenSet = false; Aws::String m_componentName; bool m_componentNameHasBeenSet = false; Aws::String m_property; bool m_propertyHasBeenSet = false; }; } // namespace Model } // namespace AmplifyUIBuilder } // namespace Aws