

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS::AmplifyUIBuilder::Component
<a name="aws-resource-amplifyuibuilder-component"></a>

The AWS::AmplifyUIBuilder::Component resource specifies a component within an Amplify app. A component is a user interface (UI) element that you can customize. Use `ComponentChild` to configure an instance of a `Component`. A `ComponentChild` instance inherits the configuration of the main `Component`.

## Syntax
<a name="aws-resource-amplifyuibuilder-component-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-amplifyuibuilder-component-syntax.json"></a>

```
{
  "Type" : "AWS::AmplifyUIBuilder::Component",
  "Properties" : {
      "[AppId](#cfn-amplifyuibuilder-component-appid)" : String,
      "[BindingProperties](#cfn-amplifyuibuilder-component-bindingproperties)" : {Key: Value, ...},
      "[Children](#cfn-amplifyuibuilder-component-children)" : [ ComponentChild, ... ],
      "[CollectionProperties](#cfn-amplifyuibuilder-component-collectionproperties)" : {Key: Value, ...},
      "[ComponentType](#cfn-amplifyuibuilder-component-componenttype)" : String,
      "[EnvironmentName](#cfn-amplifyuibuilder-component-environmentname)" : String,
      "[Events](#cfn-amplifyuibuilder-component-events)" : {Key: Value, ...},
      "[Name](#cfn-amplifyuibuilder-component-name)" : String,
      "[Overrides](#cfn-amplifyuibuilder-component-overrides)" : {Key: Value, ...},
      "[Properties](#cfn-amplifyuibuilder-component-properties)" : {Key: Value, ...},
      "[SchemaVersion](#cfn-amplifyuibuilder-component-schemaversion)" : String,
      "[SourceId](#cfn-amplifyuibuilder-component-sourceid)" : String,
      "[Tags](#cfn-amplifyuibuilder-component-tags)" : {Key: Value, ...},
      "[Variants](#cfn-amplifyuibuilder-component-variants)" : [ ComponentVariant, ... ]
    }
}
```

### YAML
<a name="aws-resource-amplifyuibuilder-component-syntax.yaml"></a>

```
Type: AWS::AmplifyUIBuilder::Component
Properties:
  [AppId](#cfn-amplifyuibuilder-component-appid): String
  [BindingProperties](#cfn-amplifyuibuilder-component-bindingproperties): 
    Key: Value
  [Children](#cfn-amplifyuibuilder-component-children): 
    - ComponentChild
  [CollectionProperties](#cfn-amplifyuibuilder-component-collectionproperties): 
    Key: Value
  [ComponentType](#cfn-amplifyuibuilder-component-componenttype): String
  [EnvironmentName](#cfn-amplifyuibuilder-component-environmentname): String
  [Events](#cfn-amplifyuibuilder-component-events): 
    Key: Value
  [Name](#cfn-amplifyuibuilder-component-name): String
  [Overrides](#cfn-amplifyuibuilder-component-overrides): 
    Key: Value
  [Properties](#cfn-amplifyuibuilder-component-properties): 
    Key: Value
  [SchemaVersion](#cfn-amplifyuibuilder-component-schemaversion): String
  [SourceId](#cfn-amplifyuibuilder-component-sourceid): String
  [Tags](#cfn-amplifyuibuilder-component-tags): 
    Key: Value
  [Variants](#cfn-amplifyuibuilder-component-variants): 
    - ComponentVariant
```

## Properties
<a name="aws-resource-amplifyuibuilder-component-properties"></a>

`AppId`  <a name="cfn-amplifyuibuilder-component-appid"></a>
The unique ID of the Amplify app associated with the component.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`BindingProperties`  <a name="cfn-amplifyuibuilder-component-bindingproperties"></a>
The information to connect a component's properties to data at runtime. You can't specify `tags` as a valid property for `bindingProperties`.  
  
*Required*: No  
*Type*: Object of [ComponentBindingPropertiesValue](aws-properties-amplifyuibuilder-component-componentbindingpropertiesvalue.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Children`  <a name="cfn-amplifyuibuilder-component-children"></a>
A list of the component's `ComponentChild` instances.  
*Required*: No  
*Type*: Array of [ComponentChild](aws-properties-amplifyuibuilder-component-componentchild.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CollectionProperties`  <a name="cfn-amplifyuibuilder-component-collectionproperties"></a>
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`.  
*Required*: No  
*Type*: Object of [ComponentDataConfiguration](aws-properties-amplifyuibuilder-component-componentdataconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ComponentType`  <a name="cfn-amplifyuibuilder-component-componenttype"></a>
The type of the component. This can be an Amplify custom UI component or another custom component.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EnvironmentName`  <a name="cfn-amplifyuibuilder-component-environmentname"></a>
The name of the backend environment that is a part of the Amplify app.  
*Required*: No  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Events`  <a name="cfn-amplifyuibuilder-component-events"></a>
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.  
*Required*: No  
*Type*: Object of [ComponentEvent](aws-properties-amplifyuibuilder-component-componentevent.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-amplifyuibuilder-component-name"></a>
The name of the component.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `255`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Overrides`  <a name="cfn-amplifyuibuilder-component-overrides"></a>
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`.  
*Required*: No  
*Type*: Object of String  
*Pattern*: `.+`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Properties`  <a name="cfn-amplifyuibuilder-component-properties"></a>
Describes the component's properties. You can't specify `tags` as a valid property for `properties`.  
*Required*: No  
*Type*: Object of [ComponentProperty](aws-properties-amplifyuibuilder-component-componentproperty.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SchemaVersion`  <a name="cfn-amplifyuibuilder-component-schemaversion"></a>
The schema version of the component when it was imported.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SourceId`  <a name="cfn-amplifyuibuilder-component-sourceid"></a>
The unique ID of the component in its original source system, such as Figma.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-amplifyuibuilder-component-tags"></a>
One or more key-value pairs to use when tagging the component.  
*Required*: No  
*Type*: Object of String  
*Pattern*: `^(?!aws:)[a-zA-Z+-=._:/]+$`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Variants`  <a name="cfn-amplifyuibuilder-component-variants"></a>
A list of the component's variants. A variant is a unique style configuration of a main component.  
*Required*: No  
*Type*: Array of [ComponentVariant](aws-properties-amplifyuibuilder-component-componentvariant.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-amplifyuibuilder-component-return-values"></a>

### Fn::GetAtt
<a name="aws-resource-amplifyuibuilder-component-return-values-fn--getatt"></a>

The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the `Fn::GetAtt` intrinsic function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html).

#### 
<a name="aws-resource-amplifyuibuilder-component-return-values-fn--getatt-fn--getatt"></a>

`CreatedAt`  <a name="CreatedAt-fn::getatt"></a>
The time that the component was created.

`Id`  <a name="Id-fn::getatt"></a>
The unique ID of the component.

`ModifiedAt`  <a name="ModifiedAt-fn::getatt"></a>
The time that the component was modified.

# AWS::AmplifyUIBuilder::Component ActionParameters
<a name="aws-properties-amplifyuibuilder-component-actionparameters"></a>

Represents the event action configuration for an element of a `Component` or `ComponentChild`. Use for the workflow feature in Amplify Studio that allows you to bind events and actions to components. `ActionParameters` defines the action that is performed when an event occurs on the component.

## Syntax
<a name="aws-properties-amplifyuibuilder-component-actionparameters-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-amplifyuibuilder-component-actionparameters-syntax.json"></a>

```
{
  "[Anchor](#cfn-amplifyuibuilder-component-actionparameters-anchor)" : ComponentProperty,
  "[Fields](#cfn-amplifyuibuilder-component-actionparameters-fields)" : {Key: Value, ...},
  "[Global](#cfn-amplifyuibuilder-component-actionparameters-global)" : ComponentProperty,
  "[Id](#cfn-amplifyuibuilder-component-actionparameters-id)" : ComponentProperty,
  "[Model](#cfn-amplifyuibuilder-component-actionparameters-model)" : String,
  "[State](#cfn-amplifyuibuilder-component-actionparameters-state)" : MutationActionSetStateParameter,
  "[Target](#cfn-amplifyuibuilder-component-actionparameters-target)" : ComponentProperty,
  "[Type](#cfn-amplifyuibuilder-component-actionparameters-type)" : ComponentProperty,
  "[Url](#cfn-amplifyuibuilder-component-actionparameters-url)" : ComponentProperty
}
```

### YAML
<a name="aws-properties-amplifyuibuilder-component-actionparameters-syntax.yaml"></a>

```
  [Anchor](#cfn-amplifyuibuilder-component-actionparameters-anchor): 
    ComponentProperty
  [Fields](#cfn-amplifyuibuilder-component-actionparameters-fields): 
    Key: Value
  [Global](#cfn-amplifyuibuilder-component-actionparameters-global): 
    ComponentProperty
  [Id](#cfn-amplifyuibuilder-component-actionparameters-id): 
    ComponentProperty
  [Model](#cfn-amplifyuibuilder-component-actionparameters-model): String
  [State](#cfn-amplifyuibuilder-component-actionparameters-state): 
    MutationActionSetStateParameter
  [Target](#cfn-amplifyuibuilder-component-actionparameters-target): 
    ComponentProperty
  [Type](#cfn-amplifyuibuilder-component-actionparameters-type): 
    ComponentProperty
  [Url](#cfn-amplifyuibuilder-component-actionparameters-url): 
    ComponentProperty
```

## Properties
<a name="aws-properties-amplifyuibuilder-component-actionparameters-properties"></a>

`Anchor`  <a name="cfn-amplifyuibuilder-component-actionparameters-anchor"></a>
The HTML anchor link to the location to open. Specify this value for a navigation action.  
*Required*: No  
*Type*: [ComponentProperty](aws-properties-amplifyuibuilder-component-componentproperty.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Fields`  <a name="cfn-amplifyuibuilder-component-actionparameters-fields"></a>
A dictionary of key-value pairs mapping Amplify Studio properties to fields in a data model. Use when the action performs an operation on an Amplify DataStore model.  
*Required*: No  
*Type*: Object of [ComponentProperty](aws-properties-amplifyuibuilder-component-componentproperty.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Global`  <a name="cfn-amplifyuibuilder-component-actionparameters-global"></a>
Specifies whether the user should be signed out globally. Specify this value for an auth sign out action.  
*Required*: No  
*Type*: [ComponentProperty](aws-properties-amplifyuibuilder-component-componentproperty.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Id`  <a name="cfn-amplifyuibuilder-component-actionparameters-id"></a>
The unique ID of the component that the `ActionParameters` apply to.  
*Required*: No  
*Type*: [ComponentProperty](aws-properties-amplifyuibuilder-component-componentproperty.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Model`  <a name="cfn-amplifyuibuilder-component-actionparameters-model"></a>
The name of the data model. Use when the action performs an operation on an Amplify DataStore model.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`State`  <a name="cfn-amplifyuibuilder-component-actionparameters-state"></a>
A key-value pair that specifies the state property name and its initial value.  
*Required*: No  
*Type*: [MutationActionSetStateParameter](aws-properties-amplifyuibuilder-component-mutationactionsetstateparameter.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Target`  <a name="cfn-amplifyuibuilder-component-actionparameters-target"></a>
The element within the same component to modify when the action occurs.  
*Required*: No  
*Type*: [ComponentProperty](aws-properties-amplifyuibuilder-component-componentproperty.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-amplifyuibuilder-component-actionparameters-type"></a>
The type of navigation action. Valid values are `url` and `anchor`. This value is required for a navigation action.  
*Required*: No  
*Type*: [ComponentProperty](aws-properties-amplifyuibuilder-component-componentproperty.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Url`  <a name="cfn-amplifyuibuilder-component-actionparameters-url"></a>
The URL to the location to open. Specify this value for a navigation action.  
*Required*: No  
*Type*: [ComponentProperty](aws-properties-amplifyuibuilder-component-componentproperty.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AmplifyUIBuilder::Component ComponentBindingPropertiesValue
<a name="aws-properties-amplifyuibuilder-component-componentbindingpropertiesvalue"></a>

The `ComponentBindingPropertiesValue` property specifies the data binding configuration for a component at runtime. You can use `ComponentBindingPropertiesValue` to add exposed properties to a component to allow different values to be entered when a component is reused in different places in an app.

## Syntax
<a name="aws-properties-amplifyuibuilder-component-componentbindingpropertiesvalue-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-amplifyuibuilder-component-componentbindingpropertiesvalue-syntax.json"></a>

```
{
  "[BindingProperties](#cfn-amplifyuibuilder-component-componentbindingpropertiesvalue-bindingproperties)" : ComponentBindingPropertiesValueProperties,
  "[DefaultValue](#cfn-amplifyuibuilder-component-componentbindingpropertiesvalue-defaultvalue)" : String,
  "[Type](#cfn-amplifyuibuilder-component-componentbindingpropertiesvalue-type)" : String
}
```

### YAML
<a name="aws-properties-amplifyuibuilder-component-componentbindingpropertiesvalue-syntax.yaml"></a>

```
  [BindingProperties](#cfn-amplifyuibuilder-component-componentbindingpropertiesvalue-bindingproperties): 
    ComponentBindingPropertiesValueProperties
  [DefaultValue](#cfn-amplifyuibuilder-component-componentbindingpropertiesvalue-defaultvalue): String
  [Type](#cfn-amplifyuibuilder-component-componentbindingpropertiesvalue-type): String
```

## Properties
<a name="aws-properties-amplifyuibuilder-component-componentbindingpropertiesvalue-properties"></a>

`BindingProperties`  <a name="cfn-amplifyuibuilder-component-componentbindingpropertiesvalue-bindingproperties"></a>
Describes the properties to customize with data at runtime.  
*Required*: No  
*Type*: [ComponentBindingPropertiesValueProperties](aws-properties-amplifyuibuilder-component-componentbindingpropertiesvalueproperties.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultValue`  <a name="cfn-amplifyuibuilder-component-componentbindingpropertiesvalue-defaultvalue"></a>
The default value of the property.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-amplifyuibuilder-component-componentbindingpropertiesvalue-type"></a>
The property type.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AmplifyUIBuilder::Component ComponentBindingPropertiesValueProperties
<a name="aws-properties-amplifyuibuilder-component-componentbindingpropertiesvalueproperties"></a>

The `ComponentBindingPropertiesValueProperties` property specifies the data binding configuration for a specific property using data stored in AWS. For AWS connected properties, you can bind a property to data stored in an Amazon S3 bucket, an Amplify DataStore model or an authenticated user attribute.

## Syntax
<a name="aws-properties-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-syntax.json"></a>

```
{
  "[Bucket](#cfn-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-bucket)" : String,
  "[DefaultValue](#cfn-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-defaultvalue)" : String,
  "[Field](#cfn-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-field)" : String,
  "[Key](#cfn-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-key)" : String,
  "[Model](#cfn-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-model)" : String,
  "[Predicates](#cfn-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-predicates)" : [ Predicate, ... ],
  "[SlotName](#cfn-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-slotname)" : String,
  "[UserAttribute](#cfn-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-userattribute)" : String
}
```

### YAML
<a name="aws-properties-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-syntax.yaml"></a>

```
  [Bucket](#cfn-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-bucket): String
  [DefaultValue](#cfn-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-defaultvalue): String
  [Field](#cfn-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-field): String
  [Key](#cfn-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-key): String
  [Model](#cfn-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-model): String
  [Predicates](#cfn-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-predicates): 
    - Predicate
  [SlotName](#cfn-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-slotname): String
  [UserAttribute](#cfn-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-userattribute): String
```

## Properties
<a name="aws-properties-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-properties"></a>

`Bucket`  <a name="cfn-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-bucket"></a>
An Amazon S3 bucket.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultValue`  <a name="cfn-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-defaultvalue"></a>
The default value to assign to the property.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Field`  <a name="cfn-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-field"></a>
The field to bind the data to.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Key`  <a name="cfn-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-key"></a>
The storage key for an Amazon S3 bucket.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Model`  <a name="cfn-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-model"></a>
An Amplify DataStore model.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Predicates`  <a name="cfn-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-predicates"></a>
A list of predicates for binding a component's properties to data.  
*Required*: No  
*Type*: Array of [Predicate](aws-properties-amplifyuibuilder-component-predicate.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SlotName`  <a name="cfn-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-slotname"></a>
The name of a component slot.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`UserAttribute`  <a name="cfn-amplifyuibuilder-component-componentbindingpropertiesvalueproperties-userattribute"></a>
An authenticated user attribute.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AmplifyUIBuilder::Component ComponentChild
<a name="aws-properties-amplifyuibuilder-component-componentchild"></a>

The `ComponentChild` property specifies a nested UI configuration within a parent `Component`.

## Syntax
<a name="aws-properties-amplifyuibuilder-component-componentchild-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-amplifyuibuilder-component-componentchild-syntax.json"></a>

```
{
  "[Children](#cfn-amplifyuibuilder-component-componentchild-children)" : [ ComponentChild, ... ],
  "[ComponentType](#cfn-amplifyuibuilder-component-componentchild-componenttype)" : String,
  "[Events](#cfn-amplifyuibuilder-component-componentchild-events)" : {Key: Value, ...},
  "[Name](#cfn-amplifyuibuilder-component-componentchild-name)" : String,
  "[Properties](#cfn-amplifyuibuilder-component-componentchild-properties)" : {Key: Value, ...},
  "[SourceId](#cfn-amplifyuibuilder-component-componentchild-sourceid)" : String
}
```

### YAML
<a name="aws-properties-amplifyuibuilder-component-componentchild-syntax.yaml"></a>

```
  [Children](#cfn-amplifyuibuilder-component-componentchild-children): 
    - ComponentChild
  [ComponentType](#cfn-amplifyuibuilder-component-componentchild-componenttype): String
  [Events](#cfn-amplifyuibuilder-component-componentchild-events): 
    Key: Value
  [Name](#cfn-amplifyuibuilder-component-componentchild-name): String
  [Properties](#cfn-amplifyuibuilder-component-componentchild-properties): 
    Key: Value
  [SourceId](#cfn-amplifyuibuilder-component-componentchild-sourceid): String
```

## Properties
<a name="aws-properties-amplifyuibuilder-component-componentchild-properties"></a>

`Children`  <a name="cfn-amplifyuibuilder-component-componentchild-children"></a>
The list of `ComponentChild` instances for this component.  
*Required*: No  
*Type*: Array of [ComponentChild](#aws-properties-amplifyuibuilder-component-componentchild)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ComponentType`  <a name="cfn-amplifyuibuilder-component-componentchild-componenttype"></a>
The type of the child component.   
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Events`  <a name="cfn-amplifyuibuilder-component-componentchild-events"></a>
Describes the events that can be raised on the child component. Use for the workflow feature in Amplify Studio that allows you to bind events and actions to components.  
*Required*: No  
*Type*: Object of [ComponentEvent](aws-properties-amplifyuibuilder-component-componentevent.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-amplifyuibuilder-component-componentchild-name"></a>
The name of the child component.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Properties`  <a name="cfn-amplifyuibuilder-component-componentchild-properties"></a>
Describes the properties of the child component. You can't specify `tags` as a valid property for `properties`.  
*Required*: Yes  
*Type*: Object of [ComponentProperty](aws-properties-amplifyuibuilder-component-componentproperty.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SourceId`  <a name="cfn-amplifyuibuilder-component-componentchild-sourceid"></a>
The unique ID of the child component in its original source system, such as Figma.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AmplifyUIBuilder::Component ComponentConditionProperty
<a name="aws-properties-amplifyuibuilder-component-componentconditionproperty"></a>

The `ComponentConditionProperty` property specifies a conditional expression for setting a component property. Use `ComponentConditionProperty` to set a property to different values conditionally, based on the value of another property.

## Syntax
<a name="aws-properties-amplifyuibuilder-component-componentconditionproperty-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-amplifyuibuilder-component-componentconditionproperty-syntax.json"></a>

```
{
  "[Else](#cfn-amplifyuibuilder-component-componentconditionproperty-else)" : ComponentProperty,
  "[Field](#cfn-amplifyuibuilder-component-componentconditionproperty-field)" : String,
  "[Operand](#cfn-amplifyuibuilder-component-componentconditionproperty-operand)" : String,
  "[OperandType](#cfn-amplifyuibuilder-component-componentconditionproperty-operandtype)" : String,
  "[Operator](#cfn-amplifyuibuilder-component-componentconditionproperty-operator)" : String,
  "[Property](#cfn-amplifyuibuilder-component-componentconditionproperty-property)" : String,
  "[Then](#cfn-amplifyuibuilder-component-componentconditionproperty-then)" : ComponentProperty
}
```

### YAML
<a name="aws-properties-amplifyuibuilder-component-componentconditionproperty-syntax.yaml"></a>

```
  [Else](#cfn-amplifyuibuilder-component-componentconditionproperty-else): 
    ComponentProperty
  [Field](#cfn-amplifyuibuilder-component-componentconditionproperty-field): String
  [Operand](#cfn-amplifyuibuilder-component-componentconditionproperty-operand): String
  [OperandType](#cfn-amplifyuibuilder-component-componentconditionproperty-operandtype): String
  [Operator](#cfn-amplifyuibuilder-component-componentconditionproperty-operator): String
  [Property](#cfn-amplifyuibuilder-component-componentconditionproperty-property): String
  [Then](#cfn-amplifyuibuilder-component-componentconditionproperty-then): 
    ComponentProperty
```

## Properties
<a name="aws-properties-amplifyuibuilder-component-componentconditionproperty-properties"></a>

`Else`  <a name="cfn-amplifyuibuilder-component-componentconditionproperty-else"></a>
The value to assign to the property if the condition is not met.  
*Required*: No  
*Type*: [ComponentProperty](aws-properties-amplifyuibuilder-component-componentproperty.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Field`  <a name="cfn-amplifyuibuilder-component-componentconditionproperty-field"></a>
The name of a field. Specify this when the property is a data model.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Operand`  <a name="cfn-amplifyuibuilder-component-componentconditionproperty-operand"></a>
The value of the property to evaluate.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OperandType`  <a name="cfn-amplifyuibuilder-component-componentconditionproperty-operandtype"></a>
The type of the property to evaluate.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Operator`  <a name="cfn-amplifyuibuilder-component-componentconditionproperty-operator"></a>
The operator to use to perform the evaluation, such as `eq` to represent equals.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Property`  <a name="cfn-amplifyuibuilder-component-componentconditionproperty-property"></a>
The name of the conditional property.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Then`  <a name="cfn-amplifyuibuilder-component-componentconditionproperty-then"></a>
The value to assign to the property if the condition is met.  
*Required*: No  
*Type*: [ComponentProperty](aws-properties-amplifyuibuilder-component-componentproperty.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AmplifyUIBuilder::Component ComponentDataConfiguration
<a name="aws-properties-amplifyuibuilder-component-componentdataconfiguration"></a>

The `ComponentDataConfiguration` property specifies the configuration for binding a component's properties to data.

## Syntax
<a name="aws-properties-amplifyuibuilder-component-componentdataconfiguration-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-amplifyuibuilder-component-componentdataconfiguration-syntax.json"></a>

```
{
  "[Identifiers](#cfn-amplifyuibuilder-component-componentdataconfiguration-identifiers)" : [ String, ... ],
  "[Model](#cfn-amplifyuibuilder-component-componentdataconfiguration-model)" : String,
  "[Predicate](#cfn-amplifyuibuilder-component-componentdataconfiguration-predicate)" : Predicate,
  "[Sort](#cfn-amplifyuibuilder-component-componentdataconfiguration-sort)" : [ SortProperty, ... ]
}
```

### YAML
<a name="aws-properties-amplifyuibuilder-component-componentdataconfiguration-syntax.yaml"></a>

```
  [Identifiers](#cfn-amplifyuibuilder-component-componentdataconfiguration-identifiers): 
    - String
  [Model](#cfn-amplifyuibuilder-component-componentdataconfiguration-model): String
  [Predicate](#cfn-amplifyuibuilder-component-componentdataconfiguration-predicate): 
    Predicate
  [Sort](#cfn-amplifyuibuilder-component-componentdataconfiguration-sort): 
    - SortProperty
```

## Properties
<a name="aws-properties-amplifyuibuilder-component-componentdataconfiguration-properties"></a>

`Identifiers`  <a name="cfn-amplifyuibuilder-component-componentdataconfiguration-identifiers"></a>
A list of IDs to use to bind data to a component. Use this property to bind specifically chosen data, rather than data retrieved from a query.  
*Required*: No  
*Type*: Array of String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Model`  <a name="cfn-amplifyuibuilder-component-componentdataconfiguration-model"></a>
The name of the data model to use to bind data to a component.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Predicate`  <a name="cfn-amplifyuibuilder-component-componentdataconfiguration-predicate"></a>
Represents the conditional logic to use when binding data to a component. Use this property to retrieve only a subset of the data in a collection.  
*Required*: No  
*Type*: [Predicate](aws-properties-amplifyuibuilder-component-predicate.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Sort`  <a name="cfn-amplifyuibuilder-component-componentdataconfiguration-sort"></a>
Describes how to sort the component's properties.  
*Required*: No  
*Type*: Array of [SortProperty](aws-properties-amplifyuibuilder-component-sortproperty.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AmplifyUIBuilder::Component ComponentEvent
<a name="aws-properties-amplifyuibuilder-component-componentevent"></a>

The `ComponentEvent` property specifies the configuration of an event. You can bind an event and a corresponding action to a `Component` or a `ComponentChild`. A button click is an example of an event. 

## Syntax
<a name="aws-properties-amplifyuibuilder-component-componentevent-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-amplifyuibuilder-component-componentevent-syntax.json"></a>

```
{
  "[Action](#cfn-amplifyuibuilder-component-componentevent-action)" : String,
  "[BindingEvent](#cfn-amplifyuibuilder-component-componentevent-bindingevent)" : String,
  "[Parameters](#cfn-amplifyuibuilder-component-componentevent-parameters)" : ActionParameters
}
```

### YAML
<a name="aws-properties-amplifyuibuilder-component-componentevent-syntax.yaml"></a>

```
  [Action](#cfn-amplifyuibuilder-component-componentevent-action): String
  [BindingEvent](#cfn-amplifyuibuilder-component-componentevent-bindingevent): String
  [Parameters](#cfn-amplifyuibuilder-component-componentevent-parameters): 
    ActionParameters
```

## Properties
<a name="aws-properties-amplifyuibuilder-component-componentevent-properties"></a>

`Action`  <a name="cfn-amplifyuibuilder-component-componentevent-action"></a>
The action to perform when a specific event is raised.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`BindingEvent`  <a name="cfn-amplifyuibuilder-component-componentevent-bindingevent"></a>
Binds an event to an action on a component. When you specify a `bindingEvent`, the event is called when the action is performed.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Parameters`  <a name="cfn-amplifyuibuilder-component-componentevent-parameters"></a>
Describes information about the action.  
*Required*: No  
*Type*: [ActionParameters](aws-properties-amplifyuibuilder-component-actionparameters.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AmplifyUIBuilder::Component ComponentProperty
<a name="aws-properties-amplifyuibuilder-component-componentproperty"></a>

The `ComponentProperty` property specifies the configuration for all of a component's properties. Use `ComponentProperty` to specify the values to render or bind by default.

## Syntax
<a name="aws-properties-amplifyuibuilder-component-componentproperty-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-amplifyuibuilder-component-componentproperty-syntax.json"></a>

```
{
  "[BindingProperties](#cfn-amplifyuibuilder-component-componentproperty-bindingproperties)" : ComponentPropertyBindingProperties,
  "[Bindings](#cfn-amplifyuibuilder-component-componentproperty-bindings)" : {Key: Value, ...},
  "[CollectionBindingProperties](#cfn-amplifyuibuilder-component-componentproperty-collectionbindingproperties)" : ComponentPropertyBindingProperties,
  "[ComponentName](#cfn-amplifyuibuilder-component-componentproperty-componentname)" : String,
  "[Concat](#cfn-amplifyuibuilder-component-componentproperty-concat)" : [ ComponentProperty, ... ],
  "[Condition](#cfn-amplifyuibuilder-component-componentproperty-condition)" : ComponentConditionProperty,
  "[Configured](#cfn-amplifyuibuilder-component-componentproperty-configured)" : Boolean,
  "[DefaultValue](#cfn-amplifyuibuilder-component-componentproperty-defaultvalue)" : String,
  "[Event](#cfn-amplifyuibuilder-component-componentproperty-event)" : String,
  "[ImportedValue](#cfn-amplifyuibuilder-component-componentproperty-importedvalue)" : String,
  "[Model](#cfn-amplifyuibuilder-component-componentproperty-model)" : String,
  "[Property](#cfn-amplifyuibuilder-component-componentproperty-property)" : String,
  "[Type](#cfn-amplifyuibuilder-component-componentproperty-type)" : String,
  "[UserAttribute](#cfn-amplifyuibuilder-component-componentproperty-userattribute)" : String,
  "[Value](#cfn-amplifyuibuilder-component-componentproperty-value)" : String
}
```

### YAML
<a name="aws-properties-amplifyuibuilder-component-componentproperty-syntax.yaml"></a>

```
  [BindingProperties](#cfn-amplifyuibuilder-component-componentproperty-bindingproperties): 
    ComponentPropertyBindingProperties
  [Bindings](#cfn-amplifyuibuilder-component-componentproperty-bindings): 
    Key: Value
  [CollectionBindingProperties](#cfn-amplifyuibuilder-component-componentproperty-collectionbindingproperties): 
    ComponentPropertyBindingProperties
  [ComponentName](#cfn-amplifyuibuilder-component-componentproperty-componentname): String
  [Concat](#cfn-amplifyuibuilder-component-componentproperty-concat): 
    - ComponentProperty
  [Condition](#cfn-amplifyuibuilder-component-componentproperty-condition): 
    ComponentConditionProperty
  [Configured](#cfn-amplifyuibuilder-component-componentproperty-configured): Boolean
  [DefaultValue](#cfn-amplifyuibuilder-component-componentproperty-defaultvalue): String
  [Event](#cfn-amplifyuibuilder-component-componentproperty-event): String
  [ImportedValue](#cfn-amplifyuibuilder-component-componentproperty-importedvalue): String
  [Model](#cfn-amplifyuibuilder-component-componentproperty-model): String
  [Property](#cfn-amplifyuibuilder-component-componentproperty-property): String
  [Type](#cfn-amplifyuibuilder-component-componentproperty-type): String
  [UserAttribute](#cfn-amplifyuibuilder-component-componentproperty-userattribute): String
  [Value](#cfn-amplifyuibuilder-component-componentproperty-value): String
```

## Properties
<a name="aws-properties-amplifyuibuilder-component-componentproperty-properties"></a>

`BindingProperties`  <a name="cfn-amplifyuibuilder-component-componentproperty-bindingproperties"></a>
The information to bind the component property to data at runtime.  
*Required*: No  
*Type*: [ComponentPropertyBindingProperties](aws-properties-amplifyuibuilder-component-componentpropertybindingproperties.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Bindings`  <a name="cfn-amplifyuibuilder-component-componentproperty-bindings"></a>
The information to bind the component property to form data.  
*Required*: No  
*Type*: Object of [FormBindingElement](aws-properties-amplifyuibuilder-component-formbindingelement.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CollectionBindingProperties`  <a name="cfn-amplifyuibuilder-component-componentproperty-collectionbindingproperties"></a>
The information to bind the component property to data at runtime. Use this for collection components.  
*Required*: No  
*Type*: [ComponentPropertyBindingProperties](aws-properties-amplifyuibuilder-component-componentpropertybindingproperties.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ComponentName`  <a name="cfn-amplifyuibuilder-component-componentproperty-componentname"></a>
The name of the component that is affected by an event.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Concat`  <a name="cfn-amplifyuibuilder-component-componentproperty-concat"></a>
A list of component properties to concatenate to create the value to assign to this component property.  
*Required*: No  
*Type*: Array of [ComponentProperty](#aws-properties-amplifyuibuilder-component-componentproperty)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Condition`  <a name="cfn-amplifyuibuilder-component-componentproperty-condition"></a>
The conditional expression to use to assign a value to the component property.  
*Required*: No  
*Type*: [ComponentConditionProperty](aws-properties-amplifyuibuilder-component-componentconditionproperty.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Configured`  <a name="cfn-amplifyuibuilder-component-componentproperty-configured"></a>
Specifies whether the user configured the property in Amplify Studio after importing it.  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`DefaultValue`  <a name="cfn-amplifyuibuilder-component-componentproperty-defaultvalue"></a>
The default value to assign to the component property.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Event`  <a name="cfn-amplifyuibuilder-component-componentproperty-event"></a>
An event that occurs in your app. Use this for workflow data binding.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ImportedValue`  <a name="cfn-amplifyuibuilder-component-componentproperty-importedvalue"></a>
The default value assigned to the property when the component is imported into an app.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Model`  <a name="cfn-amplifyuibuilder-component-componentproperty-model"></a>
The data model to use to assign a value to the component property.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Property`  <a name="cfn-amplifyuibuilder-component-componentproperty-property"></a>
The name of the component's property that is affected by an event.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-amplifyuibuilder-component-componentproperty-type"></a>
The component type.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`UserAttribute`  <a name="cfn-amplifyuibuilder-component-componentproperty-userattribute"></a>
An authenticated user attribute to use to assign a value to the component property.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-amplifyuibuilder-component-componentproperty-value"></a>
The value to assign to the component property.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AmplifyUIBuilder::Component ComponentPropertyBindingProperties
<a name="aws-properties-amplifyuibuilder-component-componentpropertybindingproperties"></a>

The `ComponentPropertyBindingProperties` property specifies a component property to associate with a binding property. This enables exposed properties on the top level component to propagate data to the component's property values.

## Syntax
<a name="aws-properties-amplifyuibuilder-component-componentpropertybindingproperties-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-amplifyuibuilder-component-componentpropertybindingproperties-syntax.json"></a>

```
{
  "[Field](#cfn-amplifyuibuilder-component-componentpropertybindingproperties-field)" : String,
  "[Property](#cfn-amplifyuibuilder-component-componentpropertybindingproperties-property)" : String
}
```

### YAML
<a name="aws-properties-amplifyuibuilder-component-componentpropertybindingproperties-syntax.yaml"></a>

```
  [Field](#cfn-amplifyuibuilder-component-componentpropertybindingproperties-field): String
  [Property](#cfn-amplifyuibuilder-component-componentpropertybindingproperties-property): String
```

## Properties
<a name="aws-properties-amplifyuibuilder-component-componentpropertybindingproperties-properties"></a>

`Field`  <a name="cfn-amplifyuibuilder-component-componentpropertybindingproperties-field"></a>
The data field to bind the property to.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Property`  <a name="cfn-amplifyuibuilder-component-componentpropertybindingproperties-property"></a>
The component property to bind to the data field.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AmplifyUIBuilder::Component ComponentVariant
<a name="aws-properties-amplifyuibuilder-component-componentvariant"></a>

The `ComponentVariant` property specifies the style configuration of a unique variation of a main component.

## Syntax
<a name="aws-properties-amplifyuibuilder-component-componentvariant-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-amplifyuibuilder-component-componentvariant-syntax.json"></a>

```
{
  "[Overrides](#cfn-amplifyuibuilder-component-componentvariant-overrides)" : {Key: Value, ...},
  "[VariantValues](#cfn-amplifyuibuilder-component-componentvariant-variantvalues)" : {Key: Value, ...}
}
```

### YAML
<a name="aws-properties-amplifyuibuilder-component-componentvariant-syntax.yaml"></a>

```
  [Overrides](#cfn-amplifyuibuilder-component-componentvariant-overrides): 
    Key: Value
  [VariantValues](#cfn-amplifyuibuilder-component-componentvariant-variantvalues): 
    Key: Value
```

## Properties
<a name="aws-properties-amplifyuibuilder-component-componentvariant-properties"></a>

`Overrides`  <a name="cfn-amplifyuibuilder-component-componentvariant-overrides"></a>
The properties of the component variant that can be overriden when customizing an instance of the component. You can't specify `tags` as a valid property for `overrides`.  
*Required*: No  
*Type*: Object of String  
*Pattern*: `.+`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VariantValues`  <a name="cfn-amplifyuibuilder-component-componentvariant-variantvalues"></a>
The combination of variants that comprise this variant.  
*Required*: No  
*Type*: Object of String  
*Pattern*: `.+`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AmplifyUIBuilder::Component FormBindingElement
<a name="aws-properties-amplifyuibuilder-component-formbindingelement"></a>

Describes how to bind a component property to form data.

## Syntax
<a name="aws-properties-amplifyuibuilder-component-formbindingelement-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-amplifyuibuilder-component-formbindingelement-syntax.json"></a>

```
{
  "[Element](#cfn-amplifyuibuilder-component-formbindingelement-element)" : String,
  "[Property](#cfn-amplifyuibuilder-component-formbindingelement-property)" : String
}
```

### YAML
<a name="aws-properties-amplifyuibuilder-component-formbindingelement-syntax.yaml"></a>

```
  [Element](#cfn-amplifyuibuilder-component-formbindingelement-element): String
  [Property](#cfn-amplifyuibuilder-component-formbindingelement-property): String
```

## Properties
<a name="aws-properties-amplifyuibuilder-component-formbindingelement-properties"></a>

`Element`  <a name="cfn-amplifyuibuilder-component-formbindingelement-element"></a>
The name of the component to retrieve a value from.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Property`  <a name="cfn-amplifyuibuilder-component-formbindingelement-property"></a>
The property to retrieve a value from.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AmplifyUIBuilder::Component MutationActionSetStateParameter
<a name="aws-properties-amplifyuibuilder-component-mutationactionsetstateparameter"></a>

Represents the state configuration when an action modifies a property of another element within the same component.

## Syntax
<a name="aws-properties-amplifyuibuilder-component-mutationactionsetstateparameter-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-amplifyuibuilder-component-mutationactionsetstateparameter-syntax.json"></a>

```
{
  "[ComponentName](#cfn-amplifyuibuilder-component-mutationactionsetstateparameter-componentname)" : String,
  "[Property](#cfn-amplifyuibuilder-component-mutationactionsetstateparameter-property)" : String,
  "[Set](#cfn-amplifyuibuilder-component-mutationactionsetstateparameter-set)" : ComponentProperty
}
```

### YAML
<a name="aws-properties-amplifyuibuilder-component-mutationactionsetstateparameter-syntax.yaml"></a>

```
  [ComponentName](#cfn-amplifyuibuilder-component-mutationactionsetstateparameter-componentname): String
  [Property](#cfn-amplifyuibuilder-component-mutationactionsetstateparameter-property): String
  [Set](#cfn-amplifyuibuilder-component-mutationactionsetstateparameter-set): 
    ComponentProperty
```

## Properties
<a name="aws-properties-amplifyuibuilder-component-mutationactionsetstateparameter-properties"></a>

`ComponentName`  <a name="cfn-amplifyuibuilder-component-mutationactionsetstateparameter-componentname"></a>
The name of the component that is being modified.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Property`  <a name="cfn-amplifyuibuilder-component-mutationactionsetstateparameter-property"></a>
The name of the component property to apply the state configuration to.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Set`  <a name="cfn-amplifyuibuilder-component-mutationactionsetstateparameter-set"></a>
The state configuration to assign to the property.  
*Required*: Yes  
*Type*: [ComponentProperty](aws-properties-amplifyuibuilder-component-componentproperty.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AmplifyUIBuilder::Component Predicate
<a name="aws-properties-amplifyuibuilder-component-predicate"></a>

The `Predicate` property specifies information for generating Amplify DataStore queries. Use `Predicate` to retrieve a subset of the data in a collection.

## Syntax
<a name="aws-properties-amplifyuibuilder-component-predicate-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-amplifyuibuilder-component-predicate-syntax.json"></a>

```
{
  "[And](#cfn-amplifyuibuilder-component-predicate-and)" : [ Predicate, ... ],
  "[Field](#cfn-amplifyuibuilder-component-predicate-field)" : String,
  "[Operand](#cfn-amplifyuibuilder-component-predicate-operand)" : String,
  "[OperandType](#cfn-amplifyuibuilder-component-predicate-operandtype)" : String,
  "[Operator](#cfn-amplifyuibuilder-component-predicate-operator)" : String,
  "[Or](#cfn-amplifyuibuilder-component-predicate-or)" : [ Predicate, ... ]
}
```

### YAML
<a name="aws-properties-amplifyuibuilder-component-predicate-syntax.yaml"></a>

```
  [And](#cfn-amplifyuibuilder-component-predicate-and): 
    - Predicate
  [Field](#cfn-amplifyuibuilder-component-predicate-field): String
  [Operand](#cfn-amplifyuibuilder-component-predicate-operand): String
  [OperandType](#cfn-amplifyuibuilder-component-predicate-operandtype): String
  [Operator](#cfn-amplifyuibuilder-component-predicate-operator): String
  [Or](#cfn-amplifyuibuilder-component-predicate-or): 
    - Predicate
```

## Properties
<a name="aws-properties-amplifyuibuilder-component-predicate-properties"></a>

`And`  <a name="cfn-amplifyuibuilder-component-predicate-and"></a>
A list of predicates to combine logically.  
*Required*: No  
*Type*: Array of [Predicate](#aws-properties-amplifyuibuilder-component-predicate)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Field`  <a name="cfn-amplifyuibuilder-component-predicate-field"></a>
The field to query.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Operand`  <a name="cfn-amplifyuibuilder-component-predicate-operand"></a>
The value to use when performing the evaluation.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`OperandType`  <a name="cfn-amplifyuibuilder-component-predicate-operandtype"></a>
The type of value to use when performing the evaluation.  
*Required*: No  
*Type*: String  
*Pattern*: `^boolean|string|number$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Operator`  <a name="cfn-amplifyuibuilder-component-predicate-operator"></a>
The operator to use to perform the evaluation.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Or`  <a name="cfn-amplifyuibuilder-component-predicate-or"></a>
A list of predicates to combine logically.  
*Required*: No  
*Type*: Array of [Predicate](#aws-properties-amplifyuibuilder-component-predicate)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AmplifyUIBuilder::Component SortProperty
<a name="aws-properties-amplifyuibuilder-component-sortproperty"></a>

The `SortProperty` property specifies how to sort the data that you bind to a component.

## Syntax
<a name="aws-properties-amplifyuibuilder-component-sortproperty-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-amplifyuibuilder-component-sortproperty-syntax.json"></a>

```
{
  "[Direction](#cfn-amplifyuibuilder-component-sortproperty-direction)" : String,
  "[Field](#cfn-amplifyuibuilder-component-sortproperty-field)" : String
}
```

### YAML
<a name="aws-properties-amplifyuibuilder-component-sortproperty-syntax.yaml"></a>

```
  [Direction](#cfn-amplifyuibuilder-component-sortproperty-direction): String
  [Field](#cfn-amplifyuibuilder-component-sortproperty-field): String
```

## Properties
<a name="aws-properties-amplifyuibuilder-component-sortproperty-properties"></a>

`Direction`  <a name="cfn-amplifyuibuilder-component-sortproperty-direction"></a>
The direction of the sort, either ascending or descending.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `ASC | DESC`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Field`  <a name="cfn-amplifyuibuilder-component-sortproperty-field"></a>
The field to perform the sort on.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)