class Aws::AmplifyUIBuilder::Types::CreateComponentData

Represents all of the information that is required to create a component.

@note When making an API call, you may pass CreateComponentData

data as a hash:

    {
      binding_properties: { # required
        "String" => {
          binding_properties: {
            bucket: "String",
            default_value: "String",
            field: "String",
            key: "String",
            model: "String",
            predicates: [
              {
                and: {
                  # recursive PredicateList
                },
                field: "String",
                operand: "String",
                operator: "String",
                or: {
                  # recursive PredicateList
                },
              },
            ],
            user_attribute: "String",
          },
          default_value: "String",
          type: "String",
        },
      },
      children: [
        {
          children: {
            # recursive ComponentChildList
          },
          component_type: "String", # required
          name: "String", # required
          properties: { # required
            "String" => {
              binding_properties: {
                field: "String",
                property: "String", # required
              },
              bindings: {
                "String" => {
                  element: "String", # required
                  property: "String", # required
                },
              },
              collection_binding_properties: {
                field: "String",
                property: "String", # required
              },
              concat: [
                {
                  # recursive ComponentProperty
                },
              ],
              condition: {
                else: {
                  # recursive ComponentProperty
                },
                field: "String",
                operand: "String",
                operator: "String",
                property: "String",
                then: {
                  # recursive ComponentProperty
                },
              },
              configured: false,
              default_value: "String",
              event: "String",
              imported_value: "String",
              model: "String",
              type: "String",
              user_attribute: "String",
              value: "String",
            },
          },
        },
      ],
      collection_properties: {
        "String" => {
          identifiers: ["String"],
          model: "String", # required
          predicate: {
            and: [
              {
                # recursive Predicate
              },
            ],
            field: "String",
            operand: "String",
            operator: "String",
            or: [
              {
                # recursive Predicate
              },
            ],
          },
          sort: [
            {
              direction: "ASC", # required, accepts ASC, DESC
              field: "String", # required
            },
          ],
        },
      },
      component_type: "ComponentType", # required
      name: "ComponentName", # required
      overrides: { # required
        "String" => {
          "String" => "String",
        },
      },
      properties: { # required
        "String" => {
          binding_properties: {
            field: "String",
            property: "String", # required
          },
          bindings: {
            "String" => {
              element: "String", # required
              property: "String", # required
            },
          },
          collection_binding_properties: {
            field: "String",
            property: "String", # required
          },
          concat: [
            {
              # recursive ComponentProperty
            },
          ],
          condition: {
            else: {
              # recursive ComponentProperty
            },
            field: "String",
            operand: "String",
            operator: "String",
            property: "String",
            then: {
              # recursive ComponentProperty
            },
          },
          configured: false,
          default_value: "String",
          event: "String",
          imported_value: "String",
          model: "String",
          type: "String",
          user_attribute: "String",
          value: "String",
        },
      },
      source_id: "String",
      tags: {
        "TagKey" => "TagValue",
      },
      variants: [ # required
        {
          overrides: {
            "String" => {
              "String" => "String",
            },
          },
          variant_values: {
            "String" => "String",
          },
        },
      ],
    }

@!attribute [rw] binding_properties

The data binding information for the component's properties.
@return [Hash<String,Types::ComponentBindingPropertiesValue>]

@!attribute [rw] children

A list of child components that are instances of the main component.
@return [Array<Types::ComponentChild>]

@!attribute [rw] collection_properties

The data binding configuration for customizing a component's
properties. Use this for a collection component.
@return [Hash<String,Types::ComponentDataConfiguration>]

@!attribute [rw] component_type

The component type. This can be an Amplify custom UI component or
another custom component.
@return [String]

@!attribute [rw] name

The name of the component
@return [String]

@!attribute [rw] overrides

Describes the component properties that can be overriden to
customize an instance of the component.
@return [Hash<String,Hash<String,String>>]

@!attribute [rw] properties

Describes the component's properties.
@return [Hash<String,Types::ComponentProperty>]

@!attribute [rw] source_id

The unique ID of the component in its original source system, such
as Figma.
@return [String]

@!attribute [rw] tags

One or more key-value pairs to use when tagging the component data.
@return [Hash<String,String>]

@!attribute [rw] variants

A list of the unique variants of this component.
@return [Array<Types::ComponentVariant>]

@see docs.aws.amazon.com/goto/WebAPI/amplifyuibuilder-2021-08-11/CreateComponentData AWS API Documentation

Constants

SENSITIVE