The AWS Amplify UI Builder API contains several data types that various actions use. This section describes each data type in detail.
Note
The order of each element in a data type structure is not guaranteed. Applications should not assume a particular order.
The following data types are supported:
• ActionParameters (p. 110)
• Component (p. 112)
• ComponentBindingPropertiesValue (p. 115)
• ComponentBindingPropertiesValueProperties (p. 116)
• ComponentChild (p. 118)
• ComponentConditionProperty (p. 119)
• ComponentDataConfiguration (p. 121)
• ComponentEvent (p. 122)
• ComponentProperty (p. 123)
• ComponentPropertyBindingProperties (p. 126)
• ComponentSummary (p. 127)
• ComponentVariant (p. 128)
• CreateComponentData (p. 129)
• CreateThemeData (p. 131)
• ExchangeCodeForTokenRequestBody (p. 132)
• FormBindingElement (p. 133)
• MutationActionSetStateParameter (p. 134)
• Predicate (p. 135)
• RefreshTokenRequestBody (p. 136)
• SortProperty (p. 137)
• Theme (p. 138)
• ThemeSummary (p. 140)
• ThemeValue (p. 141)
• ThemeValues (p. 142)
• UpdateComponentData (p. 143)
• UpdateThemeData (p. 145)
ActionParameters
ActionParameters
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.
Contents
anchor
The HTML anchor link to the location to open. Specify this value for a navigation action.
Type: ComponentProperty (p. 123) object Required: No
fields
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.
Type: String to ComponentProperty (p. 123) object map Required: No
global
Specifies whether the user should be signed out globally. Specify this value for an auth sign out action.
Type: ComponentProperty (p. 123) object Required: No
id
The unique ID of the component that the ActionParameters apply to.
Type: ComponentProperty (p. 123) object Required: No
model
The name of the data model. Use when the action performs an operation on an Amplify DataStore model.
Type: String Required: No state
A key-value pair that specifies the state property name and its initial value.
See Also
Required: No type
The type of navigation action. Valid values are url and anchor. This value is required for a navigation action.
Type: ComponentProperty (p. 123) object Required: No
url
The URL to the location to open. Specify this value for a navigation action.
Type: ComponentProperty (p. 123) object Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
Component
Component
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.
Contents
appId
The unique ID of the Amplify app associated with the component.
Type: String Required: Yes bindingProperties
The information to connect a component's properties to data at runtime. You can't specify tags as a valid property for bindingProperties.
Type: String to ComponentBindingPropertiesValue (p. 115) object map Required: Yes
children
A list of the component's ComponentChild instances.
Type: Array of ComponentChild (p. 118) objects Required: No
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.
Type: String to ComponentDataConfiguration (p. 121) object map Required: No
componentType
The type of the component. This can be an Amplify custom UI component or another custom component.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Required: Yes createdAt
Contents
Type: String Required: Yes 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.
Type: String to ComponentEvent (p. 122) object map Required: No
id
The unique ID of the component.
Type: String Required: Yes modifiedAt
The time that the component was modified.
Type: Timestamp Required: No name
The name of the component.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Required: Yes 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.
Type: String to string to string map map Required: Yes
properties
Describes the component's properties. You can't specify tags as a valid property for properties.
Type: String to ComponentProperty (p. 123) object map Required: Yes
schemaVersion
The schema version of the component when it was imported.
Type: String Required: No sourceId
The unique ID of the component in its original source system, such as Figma.
See Also
Type: String Required: No tags
One or more key-value pairs to use when tagging the component.
Type: String to string map
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Key Pattern: ^(?!aws:)[a-zA-Z+-=._:/]+$
Value Length Constraints: Minimum length of 1. Maximum length of 256.
Required: No variants
A list of the component's variants. A variant is a unique style configuration of a main component.
Type: Array of ComponentVariant (p. 128) objects Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
ComponentBindingPropertiesValue
ComponentBindingPropertiesValue
Represents 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.
Contents
bindingProperties
Describes the properties to customize with data at runtime.
Type: ComponentBindingPropertiesValueProperties (p. 116) object Required: No
defaultValue
The default value of the property.
Type: String Required: No type
The property type.
Type: String Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
ComponentBindingPropertiesValueProperties
ComponentBindingPropertiesValueProperties
Represents 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.
Contents
bucket
An Amazon S3 bucket.
Type: String Required: No defaultValue
The default value to assign to the property.
Type: String Required: No field
The field to bind the data to.
Type: String Required: No key
The storage key for an Amazon S3 bucket.
Type: String Required: No model
An Amplify DataStore model.
Type: String Required: No predicates
A list of predicates for binding a component's properties to data.
Type: Array of Predicate (p. 135) objects
See Also
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
ComponentChild
ComponentChild
A nested UI configuration within a parent Component.
Contents
children
The list of ComponentChild instances for this component.
Type: Array of ComponentChild (p. 118) objects Required: No
componentType
The type of the child component.
Type: String Required: Yes events
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.
Type: String to ComponentEvent (p. 122) object map Required: No
name
The name of the child component.
Type: String Required: Yes properties
Describes the properties of the child component. You can't specify tags as a valid property for properties.
Type: String to ComponentProperty (p. 123) object map Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
ComponentConditionProperty
ComponentConditionProperty
Represents a conditional expression to set a component property. Use ComponentConditionProperty to set a property to different values conditionally, based on the value of another property.
Contents
else
The value to assign to the property if the condition is not met.
Type: ComponentProperty (p. 123) object Required: No
field
The name of a field. Specify this when the property is a data model.
Type: String Required: No operand
The value of the property to evaluate.
Type: String Required: No operandType
The type of the property to evaluate.
Type: String Required: No operator
The operator to use to perform the evaluation, such as eq to represent equals.
Type: String Required: No property
The name of the conditional property.
Type: String Required: No then
The value to assign to the property if the condition is met.
Type: ComponentProperty (p. 123) object Required: No
See Also
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3