awsamplifyuibuilder

package
v2.21.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 22, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CfnComponent_CFN_RESOURCE_TYPE_NAME

func CfnComponent_CFN_RESOURCE_TYPE_NAME() *string

func CfnComponent_IsCfnElement

func CfnComponent_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnComponent_IsCfnResource

func CfnComponent_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnComponent_IsConstruct

func CfnComponent_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func CfnTheme_CFN_RESOURCE_TYPE_NAME

func CfnTheme_CFN_RESOURCE_TYPE_NAME() *string

func CfnTheme_IsCfnElement

func CfnTheme_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnTheme_IsCfnResource

func CfnTheme_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnTheme_IsConstruct

func CfnTheme_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func NewCfnComponent_Override

func NewCfnComponent_Override(c CfnComponent, scope constructs.Construct, id *string, props *CfnComponentProps)

Create a new `AWS::AmplifyUIBuilder::Component`.

func NewCfnTheme_Override

func NewCfnTheme_Override(c CfnTheme, scope constructs.Construct, id *string, props *CfnThemeProps)

Create a new `AWS::AmplifyUIBuilder::Theme`.

Types

type CfnComponent

type CfnComponent interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The unique ID for the Amplify app.
	AttrAppId() *string
	// The name of the backend environment that is a part of the Amplify app.
	AttrEnvironmentName() *string
	// The unique ID of the component.
	AttrId() *string
	// The information to connect a component's properties to data at runtime.
	//
	// You can't specify `tags` as a valid property for `bindingProperties` .
	BindingProperties() interface{}
	SetBindingProperties(val interface{})
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// A list of the component's `ComponentChild` instances.
	Children() interface{}
	SetChildren(val interface{})
	// 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` .
	CollectionProperties() interface{}
	SetCollectionProperties(val interface{})
	// The type of the component.
	//
	// This can be an Amplify custom UI component or another custom component.
	ComponentType() *string
	SetComponentType(val *string)
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// 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.
	Events() interface{}
	SetEvents(val interface{})
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The name of the component.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// 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` .
	Overrides() interface{}
	SetOverrides(val interface{})
	// Describes the component's properties.
	//
	// You can't specify `tags` as a valid property for `properties` .
	Properties() interface{}
	SetProperties(val interface{})
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The schema version of the component when it was imported.
	SchemaVersion() *string
	SetSchemaVersion(val *string)
	// The unique ID of the component in its original source system, such as Figma.
	SourceId() *string
	SetSourceId(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// One or more key-value pairs to use when tagging the component.
	Tags() awscdk.TagManager
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// A list of the component's variants.
	//
	// A variant is a unique style configuration of a main component.
	Variants() interface{}
	SetVariants(val interface{})
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//    "GlobalSecondaryIndexes": [
	//      {
	//        "Projection": {
	//          "NonKeyAttributes": [ "myattribute" ]
	//          ...
	//        }
	//        ...
	//      },
	//      {
	//        "ProjectionType": "INCLUDE"
	//        ...
	//      },
	//    ]
	//    ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::AmplifyUIBuilder::Component`.

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` .

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import amplifyuibuilder "github.com/aws/aws-cdk-go/awscdk/aws_amplifyuibuilder"

var bindings interface{}
var componentChildProperty_ componentChildProperty
var componentPropertyProperty_ componentPropertyProperty
var events interface{}
var fields interface{}
var overrides interface{}
var predicateProperty_ predicateProperty
var properties interface{}
var variantValues interface{}
cfnComponent := amplifyuibuilder.NewCfnComponent(this, jsii.String("MyCfnComponent"), &cfnComponentProps{
	bindingProperties: map[string]interface{}{
		"bindingPropertiesKey": &ComponentBindingPropertiesValueProperty{
			"bindingProperties": &ComponentBindingPropertiesValuePropertiesProperty{
				"bucket": jsii.String("bucket"),
				"defaultValue": jsii.String("defaultValue"),
				"field": jsii.String("field"),
				"key": jsii.String("key"),
				"model": jsii.String("model"),
				"predicates": []interface{}{
					&predicateProperty{
						"and": []interface{}{
							predicateProperty_,
						},
						"field": jsii.String("field"),
						"operand": jsii.String("operand"),
						"operator": jsii.String("operator"),
						"or": []interface{}{
							predicateProperty_,
						},
					},
				},
				"userAttribute": jsii.String("userAttribute"),
			},
			"defaultValue": jsii.String("defaultValue"),
			"type": jsii.String("type"),
		},
	},
	componentType: jsii.String("componentType"),
	name: jsii.String("name"),
	overrides: map[string]interface{}{
		"overridesKey": overrides,
	},
	properties: map[string]interface{}{
		"propertiesKey": &componentPropertyProperty{
			"bindingProperties": &ComponentPropertyBindingPropertiesProperty{
				"property": jsii.String("property"),

				// the properties below are optional
				"field": jsii.String("field"),
			},
			"bindings": bindings,
			"collectionBindingProperties": &ComponentPropertyBindingPropertiesProperty{
				"property": jsii.String("property"),

				// the properties below are optional
				"field": jsii.String("field"),
			},
			"componentName": jsii.String("componentName"),
			"concat": []interface{}{
				componentPropertyProperty_,
			},
			"condition": &ComponentConditionPropertyProperty{
				"else": componentPropertyProperty_,
				"field": jsii.String("field"),
				"operand": jsii.String("operand"),
				"operandType": jsii.String("operandType"),
				"operator": jsii.String("operator"),
				"property": jsii.String("property"),
				"then": componentPropertyProperty_,
			},
			"configured": jsii.Boolean(false),
			"defaultValue": jsii.String("defaultValue"),
			"event": jsii.String("event"),
			"importedValue": jsii.String("importedValue"),
			"model": jsii.String("model"),
			"property": jsii.String("property"),
			"type": jsii.String("type"),
			"userAttribute": jsii.String("userAttribute"),
			"value": jsii.String("value"),
		},
	},
	variants: []interface{}{
		&componentVariantProperty{
			overrides: overrides,
			variantValues: variantValues,
		},
	},

	// the properties below are optional
	children: []interface{}{
		&componentChildProperty{
			componentType: jsii.String("componentType"),
			name: jsii.String("name"),
			properties: properties,

			// the properties below are optional
			children: []interface{}{
				componentChildProperty_,
			},
			events: events,
		},
	},
	collectionProperties: map[string]interface{}{
		"collectionPropertiesKey": &ComponentDataConfigurationProperty{
			"model": jsii.String("model"),

			// the properties below are optional
			"identifiers": []*string{
				jsii.String("identifiers"),
			},
			"predicate": &predicateProperty{
				"and": []interface{}{
					predicateProperty_,
				},
				"field": jsii.String("field"),
				"operand": jsii.String("operand"),
				"operator": jsii.String("operator"),
				"or": []interface{}{
					predicateProperty_,
				},
			},
			"sort": []interface{}{
				&SortPropertyProperty{
					"direction": jsii.String("direction"),
					"field": jsii.String("field"),
				},
			},
		},
	},
	events: map[string]interface{}{
		"eventsKey": &ComponentEventProperty{
			"action": jsii.String("action"),
			"parameters": &ActionParametersProperty{
				"anchor": &componentPropertyProperty{
					"bindingProperties": &ComponentPropertyBindingPropertiesProperty{
						"property": jsii.String("property"),

						// the properties below are optional
						"field": jsii.String("field"),
					},
					"bindings": bindings,
					"collectionBindingProperties": &ComponentPropertyBindingPropertiesProperty{
						"property": jsii.String("property"),

						// the properties below are optional
						"field": jsii.String("field"),
					},
					"componentName": jsii.String("componentName"),
					"concat": []interface{}{
						componentPropertyProperty_,
					},
					"condition": &ComponentConditionPropertyProperty{
						"else": componentPropertyProperty_,
						"field": jsii.String("field"),
						"operand": jsii.String("operand"),
						"operandType": jsii.String("operandType"),
						"operator": jsii.String("operator"),
						"property": jsii.String("property"),
						"then": componentPropertyProperty_,
					},
					"configured": jsii.Boolean(false),
					"defaultValue": jsii.String("defaultValue"),
					"event": jsii.String("event"),
					"importedValue": jsii.String("importedValue"),
					"model": jsii.String("model"),
					"property": jsii.String("property"),
					"type": jsii.String("type"),
					"userAttribute": jsii.String("userAttribute"),
					"value": jsii.String("value"),
				},
				"fields": fields,
				"global": &componentPropertyProperty{
					"bindingProperties": &ComponentPropertyBindingPropertiesProperty{
						"property": jsii.String("property"),

						// the properties below are optional
						"field": jsii.String("field"),
					},
					"bindings": bindings,
					"collectionBindingProperties": &ComponentPropertyBindingPropertiesProperty{
						"property": jsii.String("property"),

						// the properties below are optional
						"field": jsii.String("field"),
					},
					"componentName": jsii.String("componentName"),
					"concat": []interface{}{
						componentPropertyProperty_,
					},
					"condition": &ComponentConditionPropertyProperty{
						"else": componentPropertyProperty_,
						"field": jsii.String("field"),
						"operand": jsii.String("operand"),
						"operandType": jsii.String("operandType"),
						"operator": jsii.String("operator"),
						"property": jsii.String("property"),
						"then": componentPropertyProperty_,
					},
					"configured": jsii.Boolean(false),
					"defaultValue": jsii.String("defaultValue"),
					"event": jsii.String("event"),
					"importedValue": jsii.String("importedValue"),
					"model": jsii.String("model"),
					"property": jsii.String("property"),
					"type": jsii.String("type"),
					"userAttribute": jsii.String("userAttribute"),
					"value": jsii.String("value"),
				},
				"id": &componentPropertyProperty{
					"bindingProperties": &ComponentPropertyBindingPropertiesProperty{
						"property": jsii.String("property"),

						// the properties below are optional
						"field": jsii.String("field"),
					},
					"bindings": bindings,
					"collectionBindingProperties": &ComponentPropertyBindingPropertiesProperty{
						"property": jsii.String("property"),

						// the properties below are optional
						"field": jsii.String("field"),
					},
					"componentName": jsii.String("componentName"),
					"concat": []interface{}{
						componentPropertyProperty_,
					},
					"condition": &ComponentConditionPropertyProperty{
						"else": componentPropertyProperty_,
						"field": jsii.String("field"),
						"operand": jsii.String("operand"),
						"operandType": jsii.String("operandType"),
						"operator": jsii.String("operator"),
						"property": jsii.String("property"),
						"then": componentPropertyProperty_,
					},
					"configured": jsii.Boolean(false),
					"defaultValue": jsii.String("defaultValue"),
					"event": jsii.String("event"),
					"importedValue": jsii.String("importedValue"),
					"model": jsii.String("model"),
					"property": jsii.String("property"),
					"type": jsii.String("type"),
					"userAttribute": jsii.String("userAttribute"),
					"value": jsii.String("value"),
				},
				"model": jsii.String("model"),
				"state": &MutationActionSetStateParameterProperty{
					"componentName": jsii.String("componentName"),
					"property": jsii.String("property"),
					"set": &componentPropertyProperty{
						"bindingProperties": &ComponentPropertyBindingPropertiesProperty{
							"property": jsii.String("property"),

							// the properties below are optional
							"field": jsii.String("field"),
						},
						"bindings": bindings,
						"collectionBindingProperties": &ComponentPropertyBindingPropertiesProperty{
							"property": jsii.String("property"),

							// the properties below are optional
							"field": jsii.String("field"),
						},
						"componentName": jsii.String("componentName"),
						"concat": []interface{}{
							componentPropertyProperty_,
						},
						"condition": &ComponentConditionPropertyProperty{
							"else": componentPropertyProperty_,
							"field": jsii.String("field"),
							"operand": jsii.String("operand"),
							"operandType": jsii.String("operandType"),
							"operator": jsii.String("operator"),
							"property": jsii.String("property"),
							"then": componentPropertyProperty_,
						},
						"configured": jsii.Boolean(false),
						"defaultValue": jsii.String("defaultValue"),
						"event": jsii.String("event"),
						"importedValue": jsii.String("importedValue"),
						"model": jsii.String("model"),
						"property": jsii.String("property"),
						"type": jsii.String("type"),
						"userAttribute": jsii.String("userAttribute"),
						"value": jsii.String("value"),
					},
				},
				"target": &componentPropertyProperty{
					"bindingProperties": &ComponentPropertyBindingPropertiesProperty{
						"property": jsii.String("property"),

						// the properties below are optional
						"field": jsii.String("field"),
					},
					"bindings": bindings,
					"collectionBindingProperties": &ComponentPropertyBindingPropertiesProperty{
						"property": jsii.String("property"),

						// the properties below are optional
						"field": jsii.String("field"),
					},
					"componentName": jsii.String("componentName"),
					"concat": []interface{}{
						componentPropertyProperty_,
					},
					"condition": &ComponentConditionPropertyProperty{
						"else": componentPropertyProperty_,
						"field": jsii.String("field"),
						"operand": jsii.String("operand"),
						"operandType": jsii.String("operandType"),
						"operator": jsii.String("operator"),
						"property": jsii.String("property"),
						"then": componentPropertyProperty_,
					},
					"configured": jsii.Boolean(false),
					"defaultValue": jsii.String("defaultValue"),
					"event": jsii.String("event"),
					"importedValue": jsii.String("importedValue"),
					"model": jsii.String("model"),
					"property": jsii.String("property"),
					"type": jsii.String("type"),
					"userAttribute": jsii.String("userAttribute"),
					"value": jsii.String("value"),
				},
				"type": &componentPropertyProperty{
					"bindingProperties": &ComponentPropertyBindingPropertiesProperty{
						"property": jsii.String("property"),

						// the properties below are optional
						"field": jsii.String("field"),
					},
					"bindings": bindings,
					"collectionBindingProperties": &ComponentPropertyBindingPropertiesProperty{
						"property": jsii.String("property"),

						// the properties below are optional
						"field": jsii.String("field"),
					},
					"componentName": jsii.String("componentName"),
					"concat": []interface{}{
						componentPropertyProperty_,
					},
					"condition": &ComponentConditionPropertyProperty{
						"else": componentPropertyProperty_,
						"field": jsii.String("field"),
						"operand": jsii.String("operand"),
						"operandType": jsii.String("operandType"),
						"operator": jsii.String("operator"),
						"property": jsii.String("property"),
						"then": componentPropertyProperty_,
					},
					"configured": jsii.Boolean(false),
					"defaultValue": jsii.String("defaultValue"),
					"event": jsii.String("event"),
					"importedValue": jsii.String("importedValue"),
					"model": jsii.String("model"),
					"property": jsii.String("property"),
					"type": jsii.String("type"),
					"userAttribute": jsii.String("userAttribute"),
					"value": jsii.String("value"),
				},
				"url": &componentPropertyProperty{
					"bindingProperties": &ComponentPropertyBindingPropertiesProperty{
						"property": jsii.String("property"),

						// the properties below are optional
						"field": jsii.String("field"),
					},
					"bindings": bindings,
					"collectionBindingProperties": &ComponentPropertyBindingPropertiesProperty{
						"property": jsii.String("property"),

						// the properties below are optional
						"field": jsii.String("field"),
					},
					"componentName": jsii.String("componentName"),
					"concat": []interface{}{
						componentPropertyProperty_,
					},
					"condition": &ComponentConditionPropertyProperty{
						"else": componentPropertyProperty_,
						"field": jsii.String("field"),
						"operand": jsii.String("operand"),
						"operandType": jsii.String("operandType"),
						"operator": jsii.String("operator"),
						"property": jsii.String("property"),
						"then": componentPropertyProperty_,
					},
					"configured": jsii.Boolean(false),
					"defaultValue": jsii.String("defaultValue"),
					"event": jsii.String("event"),
					"importedValue": jsii.String("importedValue"),
					"model": jsii.String("model"),
					"property": jsii.String("property"),
					"type": jsii.String("type"),
					"userAttribute": jsii.String("userAttribute"),
					"value": jsii.String("value"),
				},
			},
		},
	},
	schemaVersion: jsii.String("schemaVersion"),
	sourceId: jsii.String("sourceId"),
	tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
})

func NewCfnComponent

func NewCfnComponent(scope constructs.Construct, id *string, props *CfnComponentProps) CfnComponent

Create a new `AWS::AmplifyUIBuilder::Component`.

type CfnComponentProps

type CfnComponentProps struct {
	// The information to connect a component's properties to data at runtime.
	//
	// You can't specify `tags` as a valid property for `bindingProperties` .
	BindingProperties interface{} `json:"bindingProperties" yaml:"bindingProperties"`
	// The type of the component.
	//
	// This can be an Amplify custom UI component or another custom component.
	ComponentType *string `json:"componentType" yaml:"componentType"`
	// The name of the component.
	Name *string `json:"name" yaml:"name"`
	// 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` .
	Overrides interface{} `json:"overrides" yaml:"overrides"`
	// Describes the component's properties.
	//
	// You can't specify `tags` as a valid property for `properties` .
	Properties interface{} `json:"properties" yaml:"properties"`
	// A list of the component's variants.
	//
	// A variant is a unique style configuration of a main component.
	Variants interface{} `json:"variants" yaml:"variants"`
	// A list of the component's `ComponentChild` instances.
	Children interface{} `json:"children" yaml:"children"`
	// 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` .
	CollectionProperties interface{} `json:"collectionProperties" yaml:"collectionProperties"`
	// 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.
	Events interface{} `json:"events" yaml:"events"`
	// The schema version of the component when it was imported.
	SchemaVersion *string `json:"schemaVersion" yaml:"schemaVersion"`
	// The unique ID of the component in its original source system, such as Figma.
	SourceId *string `json:"sourceId" yaml:"sourceId"`
	// One or more key-value pairs to use when tagging the component.
	Tags *map[string]*string `json:"tags" yaml:"tags"`
}

Properties for defining a `CfnComponent`.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import amplifyuibuilder "github.com/aws/aws-cdk-go/awscdk/aws_amplifyuibuilder"

var bindings interface{}
var componentChildProperty_ componentChildProperty
var componentPropertyProperty_ componentPropertyProperty
var events interface{}
var fields interface{}
var overrides interface{}
var predicateProperty_ predicateProperty
var properties interface{}
var variantValues interface{}
cfnComponentProps := &cfnComponentProps{
	bindingProperties: map[string]interface{}{
		"bindingPropertiesKey": &ComponentBindingPropertiesValueProperty{
			"bindingProperties": &ComponentBindingPropertiesValuePropertiesProperty{
				"bucket": jsii.String("bucket"),
				"defaultValue": jsii.String("defaultValue"),
				"field": jsii.String("field"),
				"key": jsii.String("key"),
				"model": jsii.String("model"),
				"predicates": []interface{}{
					&predicateProperty{
						"and": []interface{}{
							predicateProperty_,
						},
						"field": jsii.String("field"),
						"operand": jsii.String("operand"),
						"operator": jsii.String("operator"),
						"or": []interface{}{
							predicateProperty_,
						},
					},
				},
				"userAttribute": jsii.String("userAttribute"),
			},
			"defaultValue": jsii.String("defaultValue"),
			"type": jsii.String("type"),
		},
	},
	componentType: jsii.String("componentType"),
	name: jsii.String("name"),
	overrides: map[string]interface{}{
		"overridesKey": overrides,
	},
	properties: map[string]interface{}{
		"propertiesKey": &componentPropertyProperty{
			"bindingProperties": &ComponentPropertyBindingPropertiesProperty{
				"property": jsii.String("property"),

				// the properties below are optional
				"field": jsii.String("field"),
			},
			"bindings": bindings,
			"collectionBindingProperties": &ComponentPropertyBindingPropertiesProperty{
				"property": jsii.String("property"),

				// the properties below are optional
				"field": jsii.String("field"),
			},
			"componentName": jsii.String("componentName"),
			"concat": []interface{}{
				componentPropertyProperty_,
			},
			"condition": &ComponentConditionPropertyProperty{
				"else": componentPropertyProperty_,
				"field": jsii.String("field"),
				"operand": jsii.String("operand"),
				"operandType": jsii.String("operandType"),
				"operator": jsii.String("operator"),
				"property": jsii.String("property"),
				"then": componentPropertyProperty_,
			},
			"configured": jsii.Boolean(false),
			"defaultValue": jsii.String("defaultValue"),
			"event": jsii.String("event"),
			"importedValue": jsii.String("importedValue"),
			"model": jsii.String("model"),
			"property": jsii.String("property"),
			"type": jsii.String("type"),
			"userAttribute": jsii.String("userAttribute"),
			"value": jsii.String("value"),
		},
	},
	variants: []interface{}{
		&componentVariantProperty{
			overrides: overrides,
			variantValues: variantValues,
		},
	},

	// the properties below are optional
	children: []interface{}{
		&componentChildProperty{
			componentType: jsii.String("componentType"),
			name: jsii.String("name"),
			properties: properties,

			// the properties below are optional
			children: []interface{}{
				componentChildProperty_,
			},
			events: events,
		},
	},
	collectionProperties: map[string]interface{}{
		"collectionPropertiesKey": &ComponentDataConfigurationProperty{
			"model": jsii.String("model"),

			// the properties below are optional
			"identifiers": []*string{
				jsii.String("identifiers"),
			},
			"predicate": &predicateProperty{
				"and": []interface{}{
					predicateProperty_,
				},
				"field": jsii.String("field"),
				"operand": jsii.String("operand"),
				"operator": jsii.String("operator"),
				"or": []interface{}{
					predicateProperty_,
				},
			},
			"sort": []interface{}{
				&SortPropertyProperty{
					"direction": jsii.String("direction"),
					"field": jsii.String("field"),
				},
			},
		},
	},
	events: map[string]interface{}{
		"eventsKey": &ComponentEventProperty{
			"action": jsii.String("action"),
			"parameters": &ActionParametersProperty{
				"anchor": &componentPropertyProperty{
					"bindingProperties": &ComponentPropertyBindingPropertiesProperty{
						"property": jsii.String("property"),

						// the properties below are optional
						"field": jsii.String("field"),
					},
					"bindings": bindings,
					"collectionBindingProperties": &ComponentPropertyBindingPropertiesProperty{
						"property": jsii.String("property"),

						// the properties below are optional
						"field": jsii.String("field"),
					},
					"componentName": jsii.String("componentName"),
					"concat": []interface{}{
						componentPropertyProperty_,
					},
					"condition": &ComponentConditionPropertyProperty{
						"else": componentPropertyProperty_,
						"field": jsii.String("field"),
						"operand": jsii.String("operand"),
						"operandType": jsii.String("operandType"),
						"operator": jsii.String("operator"),
						"property": jsii.String("property"),
						"then": componentPropertyProperty_,
					},
					"configured": jsii.Boolean(false),
					"defaultValue": jsii.String("defaultValue"),
					"event": jsii.String("event"),
					"importedValue": jsii.String("importedValue"),
					"model": jsii.String("model"),
					"property": jsii.String("property"),
					"type": jsii.String("type"),
					"userAttribute": jsii.String("userAttribute"),
					"value": jsii.String("value"),
				},
				"fields": fields,
				"global": &componentPropertyProperty{
					"bindingProperties": &ComponentPropertyBindingPropertiesProperty{
						"property": jsii.String("property"),

						// the properties below are optional
						"field": jsii.String("field"),
					},
					"bindings": bindings,
					"collectionBindingProperties": &ComponentPropertyBindingPropertiesProperty{
						"property": jsii.String("property"),

						// the properties below are optional
						"field": jsii.String("field"),
					},
					"componentName": jsii.String("componentName"),
					"concat": []interface{}{
						componentPropertyProperty_,
					},
					"condition": &ComponentConditionPropertyProperty{
						"else": componentPropertyProperty_,
						"field": jsii.String("field"),
						"operand": jsii.String("operand"),
						"operandType": jsii.String("operandType"),
						"operator": jsii.String("operator"),
						"property": jsii.String("property"),
						"then": componentPropertyProperty_,
					},
					"configured": jsii.Boolean(false),
					"defaultValue": jsii.String("defaultValue"),
					"event": jsii.String("event"),
					"importedValue": jsii.String("importedValue"),
					"model": jsii.String("model"),
					"property": jsii.String("property"),
					"type": jsii.String("type"),
					"userAttribute": jsii.String("userAttribute"),
					"value": jsii.String("value"),
				},
				"id": &componentPropertyProperty{
					"bindingProperties": &ComponentPropertyBindingPropertiesProperty{
						"property": jsii.String("property"),

						// the properties below are optional
						"field": jsii.String("field"),
					},
					"bindings": bindings,
					"collectionBindingProperties": &ComponentPropertyBindingPropertiesProperty{
						"property": jsii.String("property"),

						// the properties below are optional
						"field": jsii.String("field"),
					},
					"componentName": jsii.String("componentName"),
					"concat": []interface{}{
						componentPropertyProperty_,
					},
					"condition": &ComponentConditionPropertyProperty{
						"else": componentPropertyProperty_,
						"field": jsii.String("field"),
						"operand": jsii.String("operand"),
						"operandType": jsii.String("operandType"),
						"operator": jsii.String("operator"),
						"property": jsii.String("property"),
						"then": componentPropertyProperty_,
					},
					"configured": jsii.Boolean(false),
					"defaultValue": jsii.String("defaultValue"),
					"event": jsii.String("event"),
					"importedValue": jsii.String("importedValue"),
					"model": jsii.String("model"),
					"property": jsii.String("property"),
					"type": jsii.String("type"),
					"userAttribute": jsii.String("userAttribute"),
					"value": jsii.String("value"),
				},
				"model": jsii.String("model"),
				"state": &MutationActionSetStateParameterProperty{
					"componentName": jsii.String("componentName"),
					"property": jsii.String("property"),
					"set": &componentPropertyProperty{
						"bindingProperties": &ComponentPropertyBindingPropertiesProperty{
							"property": jsii.String("property"),

							// the properties below are optional
							"field": jsii.String("field"),
						},
						"bindings": bindings,
						"collectionBindingProperties": &ComponentPropertyBindingPropertiesProperty{
							"property": jsii.String("property"),

							// the properties below are optional
							"field": jsii.String("field"),
						},
						"componentName": jsii.String("componentName"),
						"concat": []interface{}{
							componentPropertyProperty_,
						},
						"condition": &ComponentConditionPropertyProperty{
							"else": componentPropertyProperty_,
							"field": jsii.String("field"),
							"operand": jsii.String("operand"),
							"operandType": jsii.String("operandType"),
							"operator": jsii.String("operator"),
							"property": jsii.String("property"),
							"then": componentPropertyProperty_,
						},
						"configured": jsii.Boolean(false),
						"defaultValue": jsii.String("defaultValue"),
						"event": jsii.String("event"),
						"importedValue": jsii.String("importedValue"),
						"model": jsii.String("model"),
						"property": jsii.String("property"),
						"type": jsii.String("type"),
						"userAttribute": jsii.String("userAttribute"),
						"value": jsii.String("value"),
					},
				},
				"target": &componentPropertyProperty{
					"bindingProperties": &ComponentPropertyBindingPropertiesProperty{
						"property": jsii.String("property"),

						// the properties below are optional
						"field": jsii.String("field"),
					},
					"bindings": bindings,
					"collectionBindingProperties": &ComponentPropertyBindingPropertiesProperty{
						"property": jsii.String("property"),

						// the properties below are optional
						"field": jsii.String("field"),
					},
					"componentName": jsii.String("componentName"),
					"concat": []interface{}{
						componentPropertyProperty_,
					},
					"condition": &ComponentConditionPropertyProperty{
						"else": componentPropertyProperty_,
						"field": jsii.String("field"),
						"operand": jsii.String("operand"),
						"operandType": jsii.String("operandType"),
						"operator": jsii.String("operator"),
						"property": jsii.String("property"),
						"then": componentPropertyProperty_,
					},
					"configured": jsii.Boolean(false),
					"defaultValue": jsii.String("defaultValue"),
					"event": jsii.String("event"),
					"importedValue": jsii.String("importedValue"),
					"model": jsii.String("model"),
					"property": jsii.String("property"),
					"type": jsii.String("type"),
					"userAttribute": jsii.String("userAttribute"),
					"value": jsii.String("value"),
				},
				"type": &componentPropertyProperty{
					"bindingProperties": &ComponentPropertyBindingPropertiesProperty{
						"property": jsii.String("property"),

						// the properties below are optional
						"field": jsii.String("field"),
					},
					"bindings": bindings,
					"collectionBindingProperties": &ComponentPropertyBindingPropertiesProperty{
						"property": jsii.String("property"),

						// the properties below are optional
						"field": jsii.String("field"),
					},
					"componentName": jsii.String("componentName"),
					"concat": []interface{}{
						componentPropertyProperty_,
					},
					"condition": &ComponentConditionPropertyProperty{
						"else": componentPropertyProperty_,
						"field": jsii.String("field"),
						"operand": jsii.String("operand"),
						"operandType": jsii.String("operandType"),
						"operator": jsii.String("operator"),
						"property": jsii.String("property"),
						"then": componentPropertyProperty_,
					},
					"configured": jsii.Boolean(false),
					"defaultValue": jsii.String("defaultValue"),
					"event": jsii.String("event"),
					"importedValue": jsii.String("importedValue"),
					"model": jsii.String("model"),
					"property": jsii.String("property"),
					"type": jsii.String("type"),
					"userAttribute": jsii.String("userAttribute"),
					"value": jsii.String("value"),
				},
				"url": &componentPropertyProperty{
					"bindingProperties": &ComponentPropertyBindingPropertiesProperty{
						"property": jsii.String("property"),

						// the properties below are optional
						"field": jsii.String("field"),
					},
					"bindings": bindings,
					"collectionBindingProperties": &ComponentPropertyBindingPropertiesProperty{
						"property": jsii.String("property"),

						// the properties below are optional
						"field": jsii.String("field"),
					},
					"componentName": jsii.String("componentName"),
					"concat": []interface{}{
						componentPropertyProperty_,
					},
					"condition": &ComponentConditionPropertyProperty{
						"else": componentPropertyProperty_,
						"field": jsii.String("field"),
						"operand": jsii.String("operand"),
						"operandType": jsii.String("operandType"),
						"operator": jsii.String("operator"),
						"property": jsii.String("property"),
						"then": componentPropertyProperty_,
					},
					"configured": jsii.Boolean(false),
					"defaultValue": jsii.String("defaultValue"),
					"event": jsii.String("event"),
					"importedValue": jsii.String("importedValue"),
					"model": jsii.String("model"),
					"property": jsii.String("property"),
					"type": jsii.String("type"),
					"userAttribute": jsii.String("userAttribute"),
					"value": jsii.String("value"),
				},
			},
		},
	},
	schemaVersion: jsii.String("schemaVersion"),
	sourceId: jsii.String("sourceId"),
	tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
}

type CfnComponent_ActionParametersProperty added in v2.15.0

type CfnComponent_ActionParametersProperty struct {
	// The HTML anchor link to the location to open.
	//
	// Specify this value for a navigation action.
	Anchor interface{} `json:"anchor" yaml:"anchor"`
	// 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.
	Fields interface{} `json:"fields" yaml:"fields"`
	// Specifies whether the user should be signed out globally.
	//
	// Specify this value for an auth sign out action.
	Global interface{} `json:"global" yaml:"global"`
	// The unique ID of the component that the `ActionParameters` apply to.
	Id interface{} `json:"id" yaml:"id"`
	// The name of the data model.
	//
	// Use when the action performs an operation on an Amplify DataStore model.
	Model *string `json:"model" yaml:"model"`
	// A key-value pair that specifies the state property name and its initial value.
	State interface{} `json:"state" yaml:"state"`
	// The element within the same component to modify when the action occurs.
	Target interface{} `json:"target" yaml:"target"`
	// The type of navigation action.
	//
	// Valid values are `url` and `anchor` . This value is required for a navigation action.
	Type interface{} `json:"type" yaml:"type"`
	// The URL to the location to open.
	//
	// Specify this value for a navigation action.
	Url interface{} `json:"url" yaml:"url"`
}

The `ActionParameters` property specifies 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.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import amplifyuibuilder "github.com/aws/aws-cdk-go/awscdk/aws_amplifyuibuilder"

var bindings interface{}
var componentPropertyProperty_ componentPropertyProperty
var fields interface{}
actionParametersProperty := &actionParametersProperty{
	anchor: &componentPropertyProperty{
		bindingProperties: &componentPropertyBindingPropertiesProperty{
			property: jsii.String("property"),

			// the properties below are optional
			field: jsii.String("field"),
		},
		bindings: bindings,
		collectionBindingProperties: &componentPropertyBindingPropertiesProperty{
			property: jsii.String("property"),

			// the properties below are optional
			field: jsii.String("field"),
		},
		componentName: jsii.String("componentName"),
		concat: []interface{}{
			componentPropertyProperty_,
		},
		condition: &componentConditionPropertyProperty{
			else: componentPropertyProperty_,
			field: jsii.String("field"),
			operand: jsii.String("operand"),
			operandType: jsii.String("operandType"),
			operator: jsii.String("operator"),
			property: jsii.String("property"),
			then: componentPropertyProperty_,
		},
		configured: jsii.Boolean(false),
		defaultValue: jsii.String("defaultValue"),
		event: jsii.String("event"),
		importedValue: jsii.String("importedValue"),
		model: jsii.String("model"),
		property: jsii.String("property"),
		type: jsii.String("type"),
		userAttribute: jsii.String("userAttribute"),
		value: jsii.String("value"),
	},
	fields: fields,
	global: &componentPropertyProperty{
		bindingProperties: &componentPropertyBindingPropertiesProperty{
			property: jsii.String("property"),

			// the properties below are optional
			field: jsii.String("field"),
		},
		bindings: bindings,
		collectionBindingProperties: &componentPropertyBindingPropertiesProperty{
			property: jsii.String("property"),

			// the properties below are optional
			field: jsii.String("field"),
		},
		componentName: jsii.String("componentName"),
		concat: []interface{}{
			componentPropertyProperty_,
		},
		condition: &componentConditionPropertyProperty{
			else: componentPropertyProperty_,
			field: jsii.String("field"),
			operand: jsii.String("operand"),
			operandType: jsii.String("operandType"),
			operator: jsii.String("operator"),
			property: jsii.String("property"),
			then: componentPropertyProperty_,
		},
		configured: jsii.Boolean(false),
		defaultValue: jsii.String("defaultValue"),
		event: jsii.String("event"),
		importedValue: jsii.String("importedValue"),
		model: jsii.String("model"),
		property: jsii.String("property"),
		type: jsii.String("type"),
		userAttribute: jsii.String("userAttribute"),
		value: jsii.String("value"),
	},
	id: &componentPropertyProperty{
		bindingProperties: &componentPropertyBindingPropertiesProperty{
			property: jsii.String("property"),

			// the properties below are optional
			field: jsii.String("field"),
		},
		bindings: bindings,
		collectionBindingProperties: &componentPropertyBindingPropertiesProperty{
			property: jsii.String("property"),

			// the properties below are optional
			field: jsii.String("field"),
		},
		componentName: jsii.String("componentName"),
		concat: []interface{}{
			componentPropertyProperty_,
		},
		condition: &componentConditionPropertyProperty{
			else: componentPropertyProperty_,
			field: jsii.String("field"),
			operand: jsii.String("operand"),
			operandType: jsii.String("operandType"),
			operator: jsii.String("operator"),
			property: jsii.String("property"),
			then: componentPropertyProperty_,
		},
		configured: jsii.Boolean(false),
		defaultValue: jsii.String("defaultValue"),
		event: jsii.String("event"),
		importedValue: jsii.String("importedValue"),
		model: jsii.String("model"),
		property: jsii.String("property"),
		type: jsii.String("type"),
		userAttribute: jsii.String("userAttribute"),
		value: jsii.String("value"),
	},
	model: jsii.String("model"),
	state: &mutationActionSetStateParameterProperty{
		componentName: jsii.String("componentName"),
		property: jsii.String("property"),
		set: &componentPropertyProperty{
			bindingProperties: &componentPropertyBindingPropertiesProperty{
				property: jsii.String("property"),

				// the properties below are optional
				field: jsii.String("field"),
			},
			bindings: bindings,
			collectionBindingProperties: &componentPropertyBindingPropertiesProperty{
				property: jsii.String("property"),

				// the properties below are optional
				field: jsii.String("field"),
			},
			componentName: jsii.String("componentName"),
			concat: []interface{}{
				componentPropertyProperty_,
			},
			condition: &componentConditionPropertyProperty{
				else: componentPropertyProperty_,
				field: jsii.String("field"),
				operand: jsii.String("operand"),
				operandType: jsii.String("operandType"),
				operator: jsii.String("operator"),
				property: jsii.String("property"),
				then: componentPropertyProperty_,
			},
			configured: jsii.Boolean(false),
			defaultValue: jsii.String("defaultValue"),
			event: jsii.String("event"),
			importedValue: jsii.String("importedValue"),
			model: jsii.String("model"),
			property: jsii.String("property"),
			type: jsii.String("type"),
			userAttribute: jsii.String("userAttribute"),
			value: jsii.String("value"),
		},
	},
	target: &componentPropertyProperty{
		bindingProperties: &componentPropertyBindingPropertiesProperty{
			property: jsii.String("property"),

			// the properties below are optional
			field: jsii.String("field"),
		},
		bindings: bindings,
		collectionBindingProperties: &componentPropertyBindingPropertiesProperty{
			property: jsii.String("property"),

			// the properties below are optional
			field: jsii.String("field"),
		},
		componentName: jsii.String("componentName"),
		concat: []interface{}{
			componentPropertyProperty_,
		},
		condition: &componentConditionPropertyProperty{
			else: componentPropertyProperty_,
			field: jsii.String("field"),
			operand: jsii.String("operand"),
			operandType: jsii.String("operandType"),
			operator: jsii.String("operator"),
			property: jsii.String("property"),
			then: componentPropertyProperty_,
		},
		configured: jsii.Boolean(false),
		defaultValue: jsii.String("defaultValue"),
		event: jsii.String("event"),
		importedValue: jsii.String("importedValue"),
		model: jsii.String("model"),
		property: jsii.String("property"),
		type: jsii.String("type"),
		userAttribute: jsii.String("userAttribute"),
		value: jsii.String("value"),
	},
	type: &componentPropertyProperty{
		bindingProperties: &componentPropertyBindingPropertiesProperty{
			property: jsii.String("property"),

			// the properties below are optional
			field: jsii.String("field"),
		},
		bindings: bindings,
		collectionBindingProperties: &componentPropertyBindingPropertiesProperty{
			property: jsii.String("property"),

			// the properties below are optional
			field: jsii.String("field"),
		},
		componentName: jsii.String("componentName"),
		concat: []interface{}{
			componentPropertyProperty_,
		},
		condition: &componentConditionPropertyProperty{
			else: componentPropertyProperty_,
			field: jsii.String("field"),
			operand: jsii.String("operand"),
			operandType: jsii.String("operandType"),
			operator: jsii.String("operator"),
			property: jsii.String("property"),
			then: componentPropertyProperty_,
		},
		configured: jsii.Boolean(false),
		defaultValue: jsii.String("defaultValue"),
		event: jsii.String("event"),
		importedValue: jsii.String("importedValue"),
		model: jsii.String("model"),
		property: jsii.String("property"),
		type: jsii.String("type"),
		userAttribute: jsii.String("userAttribute"),
		value: jsii.String("value"),
	},
	url: &componentPropertyProperty{
		bindingProperties: &componentPropertyBindingPropertiesProperty{
			property: jsii.String("property"),

			// the properties below are optional
			field: jsii.String("field"),
		},
		bindings: bindings,
		collectionBindingProperties: &componentPropertyBindingPropertiesProperty{
			property: jsii.String("property"),

			// the properties below are optional
			field: jsii.String("field"),
		},
		componentName: jsii.String("componentName"),
		concat: []interface{}{
			componentPropertyProperty_,
		},
		condition: &componentConditionPropertyProperty{
			else: componentPropertyProperty_,
			field: jsii.String("field"),
			operand: jsii.String("operand"),
			operandType: jsii.String("operandType"),
			operator: jsii.String("operator"),
			property: jsii.String("property"),
			then: componentPropertyProperty_,
		},
		configured: jsii.Boolean(false),
		defaultValue: jsii.String("defaultValue"),
		event: jsii.String("event"),
		importedValue: jsii.String("importedValue"),
		model: jsii.String("model"),
		property: jsii.String("property"),
		type: jsii.String("type"),
		userAttribute: jsii.String("userAttribute"),
		value: jsii.String("value"),
	},
}

type CfnComponent_ComponentBindingPropertiesValuePropertiesProperty

type CfnComponent_ComponentBindingPropertiesValuePropertiesProperty struct {
	// An Amazon S3 bucket.
	Bucket *string `json:"bucket" yaml:"bucket"`
	// The default value to assign to the property.
	DefaultValue *string `json:"defaultValue" yaml:"defaultValue"`
	// The field to bind the data to.
	Field *string `json:"field" yaml:"field"`
	// The storage key for an Amazon S3 bucket.
	Key *string `json:"key" yaml:"key"`
	// An Amplify DataStore model.
	Model *string `json:"model" yaml:"model"`
	// A list of predicates for binding a component's properties to data.
	Predicates interface{} `json:"predicates" yaml:"predicates"`
	// An authenticated user attribute.
	UserAttribute *string `json:"userAttribute" yaml:"userAttribute"`
}

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.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import amplifyuibuilder "github.com/aws/aws-cdk-go/awscdk/aws_amplifyuibuilder"

var predicateProperty_ predicateProperty
componentBindingPropertiesValuePropertiesProperty := &componentBindingPropertiesValuePropertiesProperty{
	bucket: jsii.String("bucket"),
	defaultValue: jsii.String("defaultValue"),
	field: jsii.String("field"),
	key: jsii.String("key"),
	model: jsii.String("model"),
	predicates: []interface{}{
		&predicateProperty{
			and: []interface{}{
				predicateProperty_,
			},
			field: jsii.String("field"),
			operand: jsii.String("operand"),
			operator: jsii.String("operator"),
			or: []interface{}{
				predicateProperty_,
			},
		},
	},
	userAttribute: jsii.String("userAttribute"),
}

type CfnComponent_ComponentBindingPropertiesValueProperty

type CfnComponent_ComponentBindingPropertiesValueProperty struct {
	// Describes the properties to customize with data at runtime.
	BindingProperties interface{} `json:"bindingProperties" yaml:"bindingProperties"`
	// The default value of the property.
	DefaultValue *string `json:"defaultValue" yaml:"defaultValue"`
	// The property type.
	Type *string `json:"type" yaml:"type"`
}

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.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import amplifyuibuilder "github.com/aws/aws-cdk-go/awscdk/aws_amplifyuibuilder"

var predicateProperty_ predicateProperty
componentBindingPropertiesValueProperty := &componentBindingPropertiesValueProperty{
	bindingProperties: &componentBindingPropertiesValuePropertiesProperty{
		bucket: jsii.String("bucket"),
		defaultValue: jsii.String("defaultValue"),
		field: jsii.String("field"),
		key: jsii.String("key"),
		model: jsii.String("model"),
		predicates: []interface{}{
			&predicateProperty{
				and: []interface{}{
					predicateProperty_,
				},
				field: jsii.String("field"),
				operand: jsii.String("operand"),
				operator: jsii.String("operator"),
				or: []interface{}{
					predicateProperty_,
				},
			},
		},
		userAttribute: jsii.String("userAttribute"),
	},
	defaultValue: jsii.String("defaultValue"),
	type: jsii.String("type"),
}

type CfnComponent_ComponentChildProperty

type CfnComponent_ComponentChildProperty struct {
	// The type of the child component.
	ComponentType *string `json:"componentType" yaml:"componentType"`
	// The name of the child component.
	Name *string `json:"name" yaml:"name"`
	// Describes the properties of the child component.
	//
	// You can't specify `tags` as a valid property for `properties` .
	Properties interface{} `json:"properties" yaml:"properties"`
	// The list of `ComponentChild` instances for this component.
	Children interface{} `json:"children" yaml:"children"`
	// 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.
	Events interface{} `json:"events" yaml:"events"`
}

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

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import amplifyuibuilder "github.com/aws/aws-cdk-go/awscdk/aws_amplifyuibuilder"

var componentChildProperty_ componentChildProperty
var events interface{}
var properties interface{}
componentChildProperty := &componentChildProperty{
	componentType: jsii.String("componentType"),
	name: jsii.String("name"),
	properties: properties,

	// the properties below are optional
	children: []interface{}{
		&componentChildProperty{
			componentType: jsii.String("componentType"),
			name: jsii.String("name"),
			properties: properties,

			// the properties below are optional
			children: []interface{}{
				componentChildProperty_,
			},
			events: events,
		},
	},
	events: events,
}

type CfnComponent_ComponentConditionPropertyProperty

type CfnComponent_ComponentConditionPropertyProperty struct {
	// The value to assign to the property if the condition is not met.
	Else interface{} `json:"else" yaml:"else"`
	// The name of a field.
	//
	// Specify this when the property is a data model.
	Field *string `json:"field" yaml:"field"`
	// The value of the property to evaluate.
	Operand *string `json:"operand" yaml:"operand"`
	// The type of the property to evaluate.
	OperandType *string `json:"operandType" yaml:"operandType"`
	// The operator to use to perform the evaluation, such as `eq` to represent equals.
	Operator *string `json:"operator" yaml:"operator"`
	// The name of the conditional property.
	Property *string `json:"property" yaml:"property"`
	// The value to assign to the property if the condition is met.
	Then interface{} `json:"then" yaml:"then"`
}

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.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import amplifyuibuilder "github.com/aws/aws-cdk-go/awscdk/aws_amplifyuibuilder"

var bindings interface{}
var componentPropertyProperty_ componentPropertyProperty
componentConditionPropertyProperty := &componentConditionPropertyProperty{
	else: &componentPropertyProperty{
		bindingProperties: &componentPropertyBindingPropertiesProperty{
			property: jsii.String("property"),

			// the properties below are optional
			field: jsii.String("field"),
		},
		bindings: bindings,
		collectionBindingProperties: &componentPropertyBindingPropertiesProperty{
			property: jsii.String("property"),

			// the properties below are optional
			field: jsii.String("field"),
		},
		componentName: jsii.String("componentName"),
		concat: []interface{}{
			componentPropertyProperty_,
		},
		condition: &componentConditionPropertyProperty{
			else: componentPropertyProperty_,
			field: jsii.String("field"),
			operand: jsii.String("operand"),
			operandType: jsii.String("operandType"),
			operator: jsii.String("operator"),
			property: jsii.String("property"),
			then: componentPropertyProperty_,
		},
		configured: jsii.Boolean(false),
		defaultValue: jsii.String("defaultValue"),
		event: jsii.String("event"),
		importedValue: jsii.String("importedValue"),
		model: jsii.String("model"),
		property: jsii.String("property"),
		type: jsii.String("type"),
		userAttribute: jsii.String("userAttribute"),
		value: jsii.String("value"),
	},
	field: jsii.String("field"),
	operand: jsii.String("operand"),
	operandType: jsii.String("operandType"),
	operator: jsii.String("operator"),
	property: jsii.String("property"),
	then: &componentPropertyProperty{
		bindingProperties: &componentPropertyBindingPropertiesProperty{
			property: jsii.String("property"),

			// the properties below are optional
			field: jsii.String("field"),
		},
		bindings: bindings,
		collectionBindingProperties: &componentPropertyBindingPropertiesProperty{
			property: jsii.String("property"),

			// the properties below are optional
			field: jsii.String("field"),
		},
		componentName: jsii.String("componentName"),
		concat: []interface{}{
			componentPropertyProperty_,
		},
		condition: &componentConditionPropertyProperty{
			else: componentPropertyProperty_,
			field: jsii.String("field"),
			operand: jsii.String("operand"),
			operandType: jsii.String("operandType"),
			operator: jsii.String("operator"),
			property: jsii.String("property"),
			then: componentPropertyProperty_,
		},
		configured: jsii.Boolean(false),
		defaultValue: jsii.String("defaultValue"),
		event: jsii.String("event"),
		importedValue: jsii.String("importedValue"),
		model: jsii.String("model"),
		property: jsii.String("property"),
		type: jsii.String("type"),
		userAttribute: jsii.String("userAttribute"),
		value: jsii.String("value"),
	},
}

type CfnComponent_ComponentDataConfigurationProperty

type CfnComponent_ComponentDataConfigurationProperty struct {
	// The name of the data model to use to bind data to a component.
	Model *string `json:"model" yaml:"model"`
	// 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.
	Identifiers *[]*string `json:"identifiers" yaml:"identifiers"`
	// 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.
	Predicate interface{} `json:"predicate" yaml:"predicate"`
	// Describes how to sort the component's properties.
	Sort interface{} `json:"sort" yaml:"sort"`
}

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

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import amplifyuibuilder "github.com/aws/aws-cdk-go/awscdk/aws_amplifyuibuilder"

var predicateProperty_ predicateProperty
componentDataConfigurationProperty := &componentDataConfigurationProperty{
	model: jsii.String("model"),

	// the properties below are optional
	identifiers: []*string{
		jsii.String("identifiers"),
	},
	predicate: &predicateProperty{
		and: []interface{}{
			predicateProperty_,
		},
		field: jsii.String("field"),
		operand: jsii.String("operand"),
		operator: jsii.String("operator"),
		or: []interface{}{
			predicateProperty_,
		},
	},
	sort: []interface{}{
		&sortPropertyProperty{
			direction: jsii.String("direction"),
			field: jsii.String("field"),
		},
	},
}

type CfnComponent_ComponentEventProperty added in v2.15.0

type CfnComponent_ComponentEventProperty struct {
	// The action to perform when a specific event is raised.
	Action *string `json:"action" yaml:"action"`
	// Describes information about the action.
	Parameters interface{} `json:"parameters" yaml:"parameters"`
}

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.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import amplifyuibuilder "github.com/aws/aws-cdk-go/awscdk/aws_amplifyuibuilder"

var bindings interface{}
var componentPropertyProperty_ componentPropertyProperty
var fields interface{}
componentEventProperty := &componentEventProperty{
	action: jsii.String("action"),
	parameters: &actionParametersProperty{
		anchor: &componentPropertyProperty{
			bindingProperties: &componentPropertyBindingPropertiesProperty{
				property: jsii.String("property"),

				// the properties below are optional
				field: jsii.String("field"),
			},
			bindings: bindings,
			collectionBindingProperties: &componentPropertyBindingPropertiesProperty{
				property: jsii.String("property"),

				// the properties below are optional
				field: jsii.String("field"),
			},
			componentName: jsii.String("componentName"),
			concat: []interface{}{
				componentPropertyProperty_,
			},
			condition: &componentConditionPropertyProperty{
				else: componentPropertyProperty_,
				field: jsii.String("field"),
				operand: jsii.String("operand"),
				operandType: jsii.String("operandType"),
				operator: jsii.String("operator"),
				property: jsii.String("property"),
				then: componentPropertyProperty_,
			},
			configured: jsii.Boolean(false),
			defaultValue: jsii.String("defaultValue"),
			event: jsii.String("event"),
			importedValue: jsii.String("importedValue"),
			model: jsii.String("model"),
			property: jsii.String("property"),
			type: jsii.String("type"),
			userAttribute: jsii.String("userAttribute"),
			value: jsii.String("value"),
		},
		fields: fields,
		global: &componentPropertyProperty{
			bindingProperties: &componentPropertyBindingPropertiesProperty{
				property: jsii.String("property"),

				// the properties below are optional
				field: jsii.String("field"),
			},
			bindings: bindings,
			collectionBindingProperties: &componentPropertyBindingPropertiesProperty{
				property: jsii.String("property"),

				// the properties below are optional
				field: jsii.String("field"),
			},
			componentName: jsii.String("componentName"),
			concat: []interface{}{
				componentPropertyProperty_,
			},
			condition: &componentConditionPropertyProperty{
				else: componentPropertyProperty_,
				field: jsii.String("field"),
				operand: jsii.String("operand"),
				operandType: jsii.String("operandType"),
				operator: jsii.String("operator"),
				property: jsii.String("property"),
				then: componentPropertyProperty_,
			},
			configured: jsii.Boolean(false),
			defaultValue: jsii.String("defaultValue"),
			event: jsii.String("event"),
			importedValue: jsii.String("importedValue"),
			model: jsii.String("model"),
			property: jsii.String("property"),
			type: jsii.String("type"),
			userAttribute: jsii.String("userAttribute"),
			value: jsii.String("value"),
		},
		id: &componentPropertyProperty{
			bindingProperties: &componentPropertyBindingPropertiesProperty{
				property: jsii.String("property"),

				// the properties below are optional
				field: jsii.String("field"),
			},
			bindings: bindings,
			collectionBindingProperties: &componentPropertyBindingPropertiesProperty{
				property: jsii.String("property"),

				// the properties below are optional
				field: jsii.String("field"),
			},
			componentName: jsii.String("componentName"),
			concat: []interface{}{
				componentPropertyProperty_,
			},
			condition: &componentConditionPropertyProperty{
				else: componentPropertyProperty_,
				field: jsii.String("field"),
				operand: jsii.String("operand"),
				operandType: jsii.String("operandType"),
				operator: jsii.String("operator"),
				property: jsii.String("property"),
				then: componentPropertyProperty_,
			},
			configured: jsii.Boolean(false),
			defaultValue: jsii.String("defaultValue"),
			event: jsii.String("event"),
			importedValue: jsii.String("importedValue"),
			model: jsii.String("model"),
			property: jsii.String("property"),
			type: jsii.String("type"),
			userAttribute: jsii.String("userAttribute"),
			value: jsii.String("value"),
		},
		model: jsii.String("model"),
		state: &mutationActionSetStateParameterProperty{
			componentName: jsii.String("componentName"),
			property: jsii.String("property"),
			set: &componentPropertyProperty{
				bindingProperties: &componentPropertyBindingPropertiesProperty{
					property: jsii.String("property"),

					// the properties below are optional
					field: jsii.String("field"),
				},
				bindings: bindings,
				collectionBindingProperties: &componentPropertyBindingPropertiesProperty{
					property: jsii.String("property"),

					// the properties below are optional
					field: jsii.String("field"),
				},
				componentName: jsii.String("componentName"),
				concat: []interface{}{
					componentPropertyProperty_,
				},
				condition: &componentConditionPropertyProperty{
					else: componentPropertyProperty_,
					field: jsii.String("field"),
					operand: jsii.String("operand"),
					operandType: jsii.String("operandType"),
					operator: jsii.String("operator"),
					property: jsii.String("property"),
					then: componentPropertyProperty_,
				},
				configured: jsii.Boolean(false),
				defaultValue: jsii.String("defaultValue"),
				event: jsii.String("event"),
				importedValue: jsii.String("importedValue"),
				model: jsii.String("model"),
				property: jsii.String("property"),
				type: jsii.String("type"),
				userAttribute: jsii.String("userAttribute"),
				value: jsii.String("value"),
			},
		},
		target: &componentPropertyProperty{
			bindingProperties: &componentPropertyBindingPropertiesProperty{
				property: jsii.String("property"),

				// the properties below are optional
				field: jsii.String("field"),
			},
			bindings: bindings,
			collectionBindingProperties: &componentPropertyBindingPropertiesProperty{
				property: jsii.String("property"),

				// the properties below are optional
				field: jsii.String("field"),
			},
			componentName: jsii.String("componentName"),
			concat: []interface{}{
				componentPropertyProperty_,
			},
			condition: &componentConditionPropertyProperty{
				else: componentPropertyProperty_,
				field: jsii.String("field"),
				operand: jsii.String("operand"),
				operandType: jsii.String("operandType"),
				operator: jsii.String("operator"),
				property: jsii.String("property"),
				then: componentPropertyProperty_,
			},
			configured: jsii.Boolean(false),
			defaultValue: jsii.String("defaultValue"),
			event: jsii.String("event"),
			importedValue: jsii.String("importedValue"),
			model: jsii.String("model"),
			property: jsii.String("property"),
			type: jsii.String("type"),
			userAttribute: jsii.String("userAttribute"),
			value: jsii.String("value"),
		},
		type: &componentPropertyProperty{
			bindingProperties: &componentPropertyBindingPropertiesProperty{
				property: jsii.String("property"),

				// the properties below are optional
				field: jsii.String("field"),
			},
			bindings: bindings,
			collectionBindingProperties: &componentPropertyBindingPropertiesProperty{
				property: jsii.String("property"),

				// the properties below are optional
				field: jsii.String("field"),
			},
			componentName: jsii.String("componentName"),
			concat: []interface{}{
				componentPropertyProperty_,
			},
			condition: &componentConditionPropertyProperty{
				else: componentPropertyProperty_,
				field: jsii.String("field"),
				operand: jsii.String("operand"),
				operandType: jsii.String("operandType"),
				operator: jsii.String("operator"),
				property: jsii.String("property"),
				then: componentPropertyProperty_,
			},
			configured: jsii.Boolean(false),
			defaultValue: jsii.String("defaultValue"),
			event: jsii.String("event"),
			importedValue: jsii.String("importedValue"),
			model: jsii.String("model"),
			property: jsii.String("property"),
			type: jsii.String("type"),
			userAttribute: jsii.String("userAttribute"),
			value: jsii.String("value"),
		},
		url: &componentPropertyProperty{
			bindingProperties: &componentPropertyBindingPropertiesProperty{
				property: jsii.String("property"),

				// the properties below are optional
				field: jsii.String("field"),
			},
			bindings: bindings,
			collectionBindingProperties: &componentPropertyBindingPropertiesProperty{
				property: jsii.String("property"),

				// the properties below are optional
				field: jsii.String("field"),
			},
			componentName: jsii.String("componentName"),
			concat: []interface{}{
				componentPropertyProperty_,
			},
			condition: &componentConditionPropertyProperty{
				else: componentPropertyProperty_,
				field: jsii.String("field"),
				operand: jsii.String("operand"),
				operandType: jsii.String("operandType"),
				operator: jsii.String("operator"),
				property: jsii.String("property"),
				then: componentPropertyProperty_,
			},
			configured: jsii.Boolean(false),
			defaultValue: jsii.String("defaultValue"),
			event: jsii.String("event"),
			importedValue: jsii.String("importedValue"),
			model: jsii.String("model"),
			property: jsii.String("property"),
			type: jsii.String("type"),
			userAttribute: jsii.String("userAttribute"),
			value: jsii.String("value"),
		},
	},
}

type CfnComponent_ComponentPropertyBindingPropertiesProperty

type CfnComponent_ComponentPropertyBindingPropertiesProperty struct {
	// The component property to bind to the data field.
	Property *string `json:"property" yaml:"property"`
	// The data field to bind the property to.
	Field *string `json:"field" yaml:"field"`
}

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.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import amplifyuibuilder "github.com/aws/aws-cdk-go/awscdk/aws_amplifyuibuilder"
componentPropertyBindingPropertiesProperty := &componentPropertyBindingPropertiesProperty{
	property: jsii.String("property"),

	// the properties below are optional
	field: jsii.String("field"),
}

type CfnComponent_ComponentPropertyProperty

type CfnComponent_ComponentPropertyProperty struct {
	// The information to bind the component property to data at runtime.
	BindingProperties interface{} `json:"bindingProperties" yaml:"bindingProperties"`
	// The information to bind the component property to form data.
	Bindings interface{} `json:"bindings" yaml:"bindings"`
	// The information to bind the component property to data at runtime.
	//
	// Use this for collection components.
	CollectionBindingProperties interface{} `json:"collectionBindingProperties" yaml:"collectionBindingProperties"`
	// The name of the component that is affected by an event.
	ComponentName *string `json:"componentName" yaml:"componentName"`
	// A list of component properties to concatenate to create the value to assign to this component property.
	Concat interface{} `json:"concat" yaml:"concat"`
	// The conditional expression to use to assign a value to the component property.
	Condition interface{} `json:"condition" yaml:"condition"`
	// Specifies whether the user configured the property in Amplify Studio after importing it.
	Configured interface{} `json:"configured" yaml:"configured"`
	// The default value to assign to the component property.
	DefaultValue *string `json:"defaultValue" yaml:"defaultValue"`
	// An event that occurs in your app.
	//
	// Use this for workflow data binding.
	Event *string `json:"event" yaml:"event"`
	// The default value assigned to the property when the component is imported into an app.
	ImportedValue *string `json:"importedValue" yaml:"importedValue"`
	// The data model to use to assign a value to the component property.
	Model *string `json:"model" yaml:"model"`
	// The name of the component's property that is affected by an event.
	Property *string `json:"property" yaml:"property"`
	// The component type.
	Type *string `json:"type" yaml:"type"`
	// An authenticated user attribute to use to assign a value to the component property.
	UserAttribute *string `json:"userAttribute" yaml:"userAttribute"`
	// The value to assign to the component property.
	Value *string `json:"value" yaml:"value"`
}

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.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import amplifyuibuilder "github.com/aws/aws-cdk-go/awscdk/aws_amplifyuibuilder"

var bindings interface{}
var componentConditionPropertyProperty_ componentConditionPropertyProperty
var componentPropertyProperty_ componentPropertyProperty
componentPropertyProperty := &componentPropertyProperty{
	bindingProperties: &componentPropertyBindingPropertiesProperty{
		property: jsii.String("property"),

		// the properties below are optional
		field: jsii.String("field"),
	},
	bindings: bindings,
	collectionBindingProperties: &componentPropertyBindingPropertiesProperty{
		property: jsii.String("property"),

		// the properties below are optional
		field: jsii.String("field"),
	},
	componentName: jsii.String("componentName"),
	concat: []interface{}{
		&componentPropertyProperty{
			bindingProperties: &componentPropertyBindingPropertiesProperty{
				property: jsii.String("property"),

				// the properties below are optional
				field: jsii.String("field"),
			},
			bindings: bindings,
			collectionBindingProperties: &componentPropertyBindingPropertiesProperty{
				property: jsii.String("property"),

				// the properties below are optional
				field: jsii.String("field"),
			},
			componentName: jsii.String("componentName"),
			concat: []interface{}{
				componentPropertyProperty_,
			},
			condition: &componentConditionPropertyProperty{
				else: componentPropertyProperty_,
				field: jsii.String("field"),
				operand: jsii.String("operand"),
				operandType: jsii.String("operandType"),
				operator: jsii.String("operator"),
				property: jsii.String("property"),
				then: componentPropertyProperty_,
			},
			configured: jsii.Boolean(false),
			defaultValue: jsii.String("defaultValue"),
			event: jsii.String("event"),
			importedValue: jsii.String("importedValue"),
			model: jsii.String("model"),
			property: jsii.String("property"),
			type: jsii.String("type"),
			userAttribute: jsii.String("userAttribute"),
			value: jsii.String("value"),
		},
	},
	condition: &componentConditionPropertyProperty{
		else: &componentPropertyProperty{
			bindingProperties: &componentPropertyBindingPropertiesProperty{
				property: jsii.String("property"),

				// the properties below are optional
				field: jsii.String("field"),
			},
			bindings: bindings,
			collectionBindingProperties: &componentPropertyBindingPropertiesProperty{
				property: jsii.String("property"),

				// the properties below are optional
				field: jsii.String("field"),
			},
			componentName: jsii.String("componentName"),
			concat: []interface{}{
				componentPropertyProperty_,
			},
			condition: componentConditionPropertyProperty_,
			configured: jsii.Boolean(false),
			defaultValue: jsii.String("defaultValue"),
			event: jsii.String("event"),
			importedValue: jsii.String("importedValue"),
			model: jsii.String("model"),
			property: jsii.String("property"),
			type: jsii.String("type"),
			userAttribute: jsii.String("userAttribute"),
			value: jsii.String("value"),
		},
		field: jsii.String("field"),
		operand: jsii.String("operand"),
		operandType: jsii.String("operandType"),
		operator: jsii.String("operator"),
		property: jsii.String("property"),
		then: &componentPropertyProperty{
			bindingProperties: &componentPropertyBindingPropertiesProperty{
				property: jsii.String("property"),

				// the properties below are optional
				field: jsii.String("field"),
			},
			bindings: bindings,
			collectionBindingProperties: &componentPropertyBindingPropertiesProperty{
				property: jsii.String("property"),

				// the properties below are optional
				field: jsii.String("field"),
			},
			componentName: jsii.String("componentName"),
			concat: []interface{}{
				componentPropertyProperty_,
			},
			condition: componentConditionPropertyProperty_,
			configured: jsii.Boolean(false),
			defaultValue: jsii.String("defaultValue"),
			event: jsii.String("event"),
			importedValue: jsii.String("importedValue"),
			model: jsii.String("model"),
			property: jsii.String("property"),
			type: jsii.String("type"),
			userAttribute: jsii.String("userAttribute"),
			value: jsii.String("value"),
		},
	},
	configured: jsii.Boolean(false),
	defaultValue: jsii.String("defaultValue"),
	event: jsii.String("event"),
	importedValue: jsii.String("importedValue"),
	model: jsii.String("model"),
	property: jsii.String("property"),
	type: jsii.String("type"),
	userAttribute: jsii.String("userAttribute"),
	value: jsii.String("value"),
}

type CfnComponent_ComponentVariantProperty

type CfnComponent_ComponentVariantProperty struct {
	// 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` .
	Overrides interface{} `json:"overrides" yaml:"overrides"`
	// The combination of variants that comprise this variant.
	VariantValues interface{} `json:"variantValues" yaml:"variantValues"`
}

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

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import amplifyuibuilder "github.com/aws/aws-cdk-go/awscdk/aws_amplifyuibuilder"

var overrides interface{}
var variantValues interface{}
componentVariantProperty := &componentVariantProperty{
	overrides: overrides,
	variantValues: variantValues,
}

type CfnComponent_MutationActionSetStateParameterProperty added in v2.15.0

type CfnComponent_MutationActionSetStateParameterProperty struct {
	// The name of the component that is being modified.
	ComponentName *string `json:"componentName" yaml:"componentName"`
	// The name of the component property to apply the state configuration to.
	Property *string `json:"property" yaml:"property"`
	// The state configuration to assign to the property.
	Set interface{} `json:"set" yaml:"set"`
}

The `MutationActionSetStateParameter` property specifies the state configuration when an action modifies a property of another element within the same component.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import amplifyuibuilder "github.com/aws/aws-cdk-go/awscdk/aws_amplifyuibuilder"

var bindings interface{}
var componentPropertyProperty_ componentPropertyProperty
mutationActionSetStateParameterProperty := &mutationActionSetStateParameterProperty{
	componentName: jsii.String("componentName"),
	property: jsii.String("property"),
	set: &componentPropertyProperty{
		bindingProperties: &componentPropertyBindingPropertiesProperty{
			property: jsii.String("property"),

			// the properties below are optional
			field: jsii.String("field"),
		},
		bindings: bindings,
		collectionBindingProperties: &componentPropertyBindingPropertiesProperty{
			property: jsii.String("property"),

			// the properties below are optional
			field: jsii.String("field"),
		},
		componentName: jsii.String("componentName"),
		concat: []interface{}{
			componentPropertyProperty_,
		},
		condition: &componentConditionPropertyProperty{
			else: componentPropertyProperty_,
			field: jsii.String("field"),
			operand: jsii.String("operand"),
			operandType: jsii.String("operandType"),
			operator: jsii.String("operator"),
			property: jsii.String("property"),
			then: componentPropertyProperty_,
		},
		configured: jsii.Boolean(false),
		defaultValue: jsii.String("defaultValue"),
		event: jsii.String("event"),
		importedValue: jsii.String("importedValue"),
		model: jsii.String("model"),
		property: jsii.String("property"),
		type: jsii.String("type"),
		userAttribute: jsii.String("userAttribute"),
		value: jsii.String("value"),
	},
}

type CfnComponent_PredicateProperty

type CfnComponent_PredicateProperty struct {
	// A list of predicates to combine logically.
	And interface{} `json:"and" yaml:"and"`
	// The field to query.
	Field *string `json:"field" yaml:"field"`
	// The value to use when performing the evaluation.
	Operand *string `json:"operand" yaml:"operand"`
	// The operator to use to perform the evaluation.
	Operator *string `json:"operator" yaml:"operator"`
	// A list of predicates to combine logically.
	Or interface{} `json:"or" yaml:"or"`
}

The `Predicate` property specifies information for generating Amplify DataStore queries.

Use `Predicate` to retrieve a subset of the data in a collection.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import amplifyuibuilder "github.com/aws/aws-cdk-go/awscdk/aws_amplifyuibuilder"

var predicateProperty_ predicateProperty
predicateProperty := &predicateProperty{
	and: []interface{}{
		&predicateProperty{
			and: []interface{}{
				predicateProperty_,
			},
			field: jsii.String("field"),
			operand: jsii.String("operand"),
			operator: jsii.String("operator"),
			or: []interface{}{
				predicateProperty_,
			},
		},
	},
	field: jsii.String("field"),
	operand: jsii.String("operand"),
	operator: jsii.String("operator"),
	or: []interface{}{
		&predicateProperty{
			and: []interface{}{
				predicateProperty_,
			},
			field: jsii.String("field"),
			operand: jsii.String("operand"),
			operator: jsii.String("operator"),
			or: []interface{}{
				predicateProperty_,
			},
		},
	},
}

type CfnComponent_SortPropertyProperty

type CfnComponent_SortPropertyProperty struct {
	// The direction of the sort, either ascending or descending.
	Direction *string `json:"direction" yaml:"direction"`
	// The field to perform the sort on.
	Field *string `json:"field" yaml:"field"`
}

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

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import amplifyuibuilder "github.com/aws/aws-cdk-go/awscdk/aws_amplifyuibuilder"
sortPropertyProperty := &sortPropertyProperty{
	direction: jsii.String("direction"),
	field: jsii.String("field"),
}

type CfnTheme

type CfnTheme interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The unique ID for the Amplify app associated with the theme.
	AttrAppId() *string
	// The time that the theme was created.
	AttrCreatedAt() *string
	// The name of the backend environment that is a part of the Amplify app.
	AttrEnvironmentName() *string
	// The ID for the theme.
	AttrId() *string
	// The time that the theme was modified.
	AttrModifiedAt() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The name of the theme.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// Describes the properties that can be overriden to customize a theme.
	Overrides() interface{}
	SetOverrides(val interface{})
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// One or more key-value pairs to use when tagging the theme.
	Tags() awscdk.TagManager
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// A list of key-value pairs that defines the properties of the theme.
	Values() interface{}
	SetValues(val interface{})
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//    "GlobalSecondaryIndexes": [
	//      {
	//        "Projection": {
	//          "NonKeyAttributes": [ "myattribute" ]
	//          ...
	//        }
	//        ...
	//      },
	//      {
	//        "ProjectionType": "INCLUDE"
	//        ...
	//      },
	//    ]
	//    ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::AmplifyUIBuilder::Theme`.

The AWS::AmplifyUIBuilder::Theme resource specifies a theme within an Amplify app. A theme is a collection of style settings that apply globally to the components associated with the app.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import amplifyuibuilder "github.com/aws/aws-cdk-go/awscdk/aws_amplifyuibuilder"

var themeValuesProperty_ themeValuesProperty
cfnTheme := amplifyuibuilder.NewCfnTheme(this, jsii.String("MyCfnTheme"), &cfnThemeProps{
	name: jsii.String("name"),
	values: []interface{}{
		&themeValuesProperty{
			key: jsii.String("key"),
			value: &themeValueProperty{
				children: []interface{}{
					themeValuesProperty_,
				},
				value: jsii.String("value"),
			},
		},
	},

	// the properties below are optional
	overrides: []interface{}{
		&themeValuesProperty{
			key: jsii.String("key"),
			value: &themeValueProperty{
				children: []interface{}{
					themeValuesProperty_,
				},
				value: jsii.String("value"),
			},
		},
	},
	tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
})

func NewCfnTheme

func NewCfnTheme(scope constructs.Construct, id *string, props *CfnThemeProps) CfnTheme

Create a new `AWS::AmplifyUIBuilder::Theme`.

type CfnThemeProps

type CfnThemeProps struct {
	// The name of the theme.
	Name *string `json:"name" yaml:"name"`
	// A list of key-value pairs that defines the properties of the theme.
	Values interface{} `json:"values" yaml:"values"`
	// Describes the properties that can be overriden to customize a theme.
	Overrides interface{} `json:"overrides" yaml:"overrides"`
	// One or more key-value pairs to use when tagging the theme.
	Tags *map[string]*string `json:"tags" yaml:"tags"`
}

Properties for defining a `CfnTheme`.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import amplifyuibuilder "github.com/aws/aws-cdk-go/awscdk/aws_amplifyuibuilder"

var themeValuesProperty_ themeValuesProperty
cfnThemeProps := &cfnThemeProps{
	name: jsii.String("name"),
	values: []interface{}{
		&themeValuesProperty{
			key: jsii.String("key"),
			value: &themeValueProperty{
				children: []interface{}{
					themeValuesProperty_,
				},
				value: jsii.String("value"),
			},
		},
	},

	// the properties below are optional
	overrides: []interface{}{
		&themeValuesProperty{
			key: jsii.String("key"),
			value: &themeValueProperty{
				children: []interface{}{
					themeValuesProperty_,
				},
				value: jsii.String("value"),
			},
		},
	},
	tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
}

type CfnTheme_ThemeValueProperty

type CfnTheme_ThemeValueProperty struct {
	// A list of key-value pairs that define the theme's properties.
	Children interface{} `json:"children" yaml:"children"`
	// The value of a theme property.
	Value *string `json:"value" yaml:"value"`
}

The `ThemeValue` property specifies the configuration of a theme's properties.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import amplifyuibuilder "github.com/aws/aws-cdk-go/awscdk/aws_amplifyuibuilder"

var themeValuesProperty_ themeValuesProperty
themeValueProperty := &themeValueProperty{
	children: []interface{}{
		&themeValuesProperty{
			key: jsii.String("key"),
			value: &themeValueProperty{
				children: []interface{}{
					themeValuesProperty_,
				},
				value: jsii.String("value"),
			},
		},
	},
	value: jsii.String("value"),
}

type CfnTheme_ThemeValuesProperty

type CfnTheme_ThemeValuesProperty struct {
	// The name of the property.
	Key *string `json:"key" yaml:"key"`
	// The value of the property.
	Value interface{} `json:"value" yaml:"value"`
}

The `ThemeValues` property specifies key-value pair that defines a property of a theme.

Example:

import awscdk "github.com/aws/aws-cdk-go/awscdk"import amplifyuibuilder "github.com/aws/aws-cdk-go/awscdk/aws_amplifyuibuilder"

var themeValueProperty_ themeValueProperty
themeValuesProperty := &themeValuesProperty{
	key: jsii.String("key"),
	value: &themeValueProperty{
		children: []interface{}{
			&themeValuesProperty{
				key: jsii.String("key"),
				value: themeValueProperty_,
			},
		},
		value: jsii.String("value"),
	},
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL