// Code generated by generators/singular-data-source/main.go; DO NOT EDIT. package ecs import ( "context" "github.com/hashicorp/terraform-plugin-framework/tfsdk" "github.com/hashicorp/terraform-plugin-framework/types" . "github.com/hashicorp/terraform-provider-awscc/internal/generic" "github.com/hashicorp/terraform-provider-awscc/internal/registry" ) func init() { registry.AddDataSourceTypeFactory("awscc_ecs_task_definition", taskDefinitionDataSourceType) } // taskDefinitionDataSourceType returns the Terraform awscc_ecs_task_definition data source type. // This Terraform data source type corresponds to the CloudFormation AWS::ECS::TaskDefinition resource type. func taskDefinitionDataSourceType(ctx context.Context) (tfsdk.DataSourceType, error) { attributes := map[string]tfsdk.Attribute{ "container_definitions": { // Property: ContainerDefinitions // CloudFormation resource type schema: // { // "insertionOrder": false, // "items": { // "additionalProperties": false, // "description": "List of container definitions that are passed to the Docker daemon on a container instance", // "properties": { // "Command": { // "insertionOrder": true, // "items": { // "type": "string" // }, // "type": "array" // }, // "Cpu": { // "type": "integer" // }, // "DependsOn": { // "insertionOrder": false, // "items": { // "additionalProperties": false, // "properties": { // "Condition": { // "type": "string" // }, // "ContainerName": { // "type": "string" // } // }, // "type": "object" // }, // "type": "array" // }, // "DisableNetworking": { // "type": "boolean" // }, // "DnsSearchDomains": { // "insertionOrder": false, // "items": { // "type": "string" // }, // "type": "array" // }, // "DnsServers": { // "insertionOrder": false, // "items": { // "type": "string" // }, // "type": "array" // }, // "DockerLabels": { // "additionalProperties": false, // "patternProperties": { // "": { // "type": "string" // } // }, // "type": "object" // }, // "DockerSecurityOptions": { // "insertionOrder": false, // "items": { // "type": "string" // }, // "type": "array" // }, // "EntryPoint": { // "insertionOrder": true, // "items": { // "type": "string" // }, // "type": "array" // }, // "Environment": { // "description": "The environment variables to pass to a container", // "insertionOrder": true, // "items": { // "additionalProperties": false, // "properties": { // "Name": { // "type": "string" // }, // "Value": { // "type": "string" // } // }, // "type": "object" // }, // "type": "array", // "uniqueItems": true // }, // "EnvironmentFiles": { // "description": "The list of one or more files that contain the environment variables to pass to a container", // "insertionOrder": true, // "items": { // "additionalProperties": false, // "properties": { // "Type": { // "type": "string" // }, // "Value": { // "type": "string" // } // }, // "type": "object" // }, // "type": "array" // }, // "Essential": { // "type": "boolean" // }, // "ExtraHosts": { // "insertionOrder": false, // "items": { // "additionalProperties": false, // "properties": { // "Hostname": { // "type": "string" // }, // "IpAddress": { // "type": "string" // } // }, // "type": "object" // }, // "type": "array" // }, // "FirelensConfiguration": { // "additionalProperties": false, // "properties": { // "Options": { // "additionalProperties": false, // "patternProperties": { // "": { // "type": "string" // } // }, // "type": "object" // }, // "Type": { // "type": "string" // } // }, // "type": "object" // }, // "HealthCheck": { // "additionalProperties": false, // "description": "The health check command and associated configuration parameters for the container.", // "properties": { // "Command": { // "description": "A string array representing the command that the container runs to determine if it is healthy.", // "insertionOrder": true, // "items": { // "type": "string" // }, // "type": "array" // }, // "Interval": { // "description": "The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.", // "type": "integer" // }, // "Retries": { // "description": "The number of times to retry a failed health check before the container is considered unhealthy. You may specify between 1 and 10 retries. The default value is three retries.", // "type": "integer" // }, // "StartPeriod": { // "description": "The optional grace period within which to provide containers time to bootstrap before failed health checks count towards the maximum number of retries. You may specify between 0 and 300 seconds. The startPeriod is disabled by default.", // "type": "integer" // }, // "Timeout": { // "description": "The time period in seconds to wait for a health check to succeed before it is considered a failure. You may specify between 2 and 60 seconds. The default value is 5 seconds.", // "type": "integer" // } // }, // "type": "object" // }, // "Hostname": { // "type": "string" // }, // "Image": { // "description": "The image used to start a container. This string is passed directly to the Docker daemon.", // "type": "string" // }, // "Interactive": { // "type": "boolean" // }, // "Links": { // "insertionOrder": false, // "items": { // "type": "string" // }, // "type": "array", // "uniqueItems": true // }, // "LinuxParameters": { // "additionalProperties": false, // "properties": { // "Capabilities": { // "additionalProperties": false, // "properties": { // "Add": { // "insertionOrder": false, // "items": { // "type": "string" // }, // "type": "array" // }, // "Drop": { // "insertionOrder": false, // "items": { // "type": "string" // }, // "type": "array" // } // }, // "type": "object" // }, // "Devices": { // "insertionOrder": false, // "items": { // "additionalProperties": false, // "properties": { // "ContainerPath": { // "type": "string" // }, // "HostPath": { // "type": "string" // }, // "Permissions": { // "insertionOrder": false, // "items": { // "type": "string" // }, // "type": "array", // "uniqueItems": true // } // }, // "type": "object" // }, // "type": "array" // }, // "InitProcessEnabled": { // "type": "boolean" // }, // "MaxSwap": { // "type": "integer" // }, // "SharedMemorySize": { // "type": "integer" // }, // "Swappiness": { // "type": "integer" // }, // "Tmpfs": { // "insertionOrder": false, // "items": { // "additionalProperties": false, // "properties": { // "ContainerPath": { // "type": "string" // }, // "MountOptions": { // "insertionOrder": false, // "items": { // "type": "string" // }, // "type": "array" // }, // "Size": { // "type": "integer" // } // }, // "required": [ // "Size" // ], // "type": "object" // }, // "type": "array" // } // }, // "type": "object" // }, // "LogConfiguration": { // "additionalProperties": false, // "properties": { // "LogDriver": { // "type": "string" // }, // "Options": { // "additionalProperties": false, // "patternProperties": { // "": { // "type": "string" // } // }, // "type": "object" // }, // "SecretOptions": { // "insertionOrder": false, // "items": { // "additionalProperties": false, // "properties": { // "Name": { // "type": "string" // }, // "ValueFrom": { // "type": "string" // } // }, // "required": [ // "Name", // "ValueFrom" // ], // "type": "object" // }, // "type": "array" // } // }, // "required": [ // "LogDriver" // ], // "type": "object" // }, // "Memory": { // "description": "The amount (in MiB) of memory to present to the container. If your container attempts to exceed the memory specified here, the container is killed.", // "type": "integer" // }, // "MemoryReservation": { // "type": "integer" // }, // "MountPoints": { // "insertionOrder": true, // "items": { // "additionalProperties": false, // "properties": { // "ContainerPath": { // "type": "string" // }, // "ReadOnly": { // "type": "boolean" // }, // "SourceVolume": { // "type": "string" // } // }, // "type": "object" // }, // "type": "array", // "uniqueItems": true // }, // "Name": { // "description": "The name of a container. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed", // "type": "string" // }, // "PortMappings": { // "description": "Port mappings allow containers to access ports on the host container instance to send or receive traffic.", // "insertionOrder": false, // "items": { // "additionalProperties": false, // "properties": { // "ContainerPort": { // "type": "integer" // }, // "HostPort": { // "type": "integer" // }, // "Protocol": { // "type": "string" // } // }, // "type": "object" // }, // "type": "array", // "uniqueItems": true // }, // "Privileged": { // "type": "boolean" // }, // "PseudoTerminal": { // "type": "boolean" // }, // "ReadonlyRootFilesystem": { // "type": "boolean" // }, // "RepositoryCredentials": { // "additionalProperties": false, // "properties": { // "CredentialsParameter": { // "type": "string" // } // }, // "type": "object" // }, // "ResourceRequirements": { // "insertionOrder": false, // "items": { // "additionalProperties": false, // "properties": { // "Type": { // "type": "string" // }, // "Value": { // "type": "string" // } // }, // "required": [ // "Type", // "Value" // ], // "type": "object" // }, // "type": "array" // }, // "Secrets": { // "insertionOrder": false, // "items": { // "additionalProperties": false, // "properties": { // "Name": { // "type": "string" // }, // "ValueFrom": { // "type": "string" // } // }, // "required": [ // "Name", // "ValueFrom" // ], // "type": "object" // }, // "type": "array" // }, // "StartTimeout": { // "type": "integer" // }, // "StopTimeout": { // "type": "integer" // }, // "SystemControls": { // "insertionOrder": false, // "items": { // "additionalProperties": false, // "properties": { // "Namespace": { // "type": "string" // }, // "Value": { // "type": "string" // } // }, // "type": "object" // }, // "type": "array" // }, // "Ulimits": { // "insertionOrder": false, // "items": { // "additionalProperties": false, // "properties": { // "HardLimit": { // "type": "integer" // }, // "Name": { // "type": "string" // }, // "SoftLimit": { // "type": "integer" // } // }, // "required": [ // "HardLimit", // "Name", // "SoftLimit" // ], // "type": "object" // }, // "type": "array" // }, // "User": { // "type": "string" // }, // "VolumesFrom": { // "insertionOrder": false, // "items": { // "additionalProperties": false, // "properties": { // "ReadOnly": { // "type": "boolean" // }, // "SourceContainer": { // "type": "string" // } // }, // "type": "object" // }, // "type": "array", // "uniqueItems": true // }, // "WorkingDirectory": { // "type": "string" // } // }, // "type": "object" // }, // "type": "array", // "uniqueItems": true // } Attributes: tfsdk.SetNestedAttributes( map[string]tfsdk.Attribute{ "command": { // Property: Command Type: types.ListType{ElemType: types.StringType}, Computed: true, }, "cpu": { // Property: Cpu Type: types.Int64Type, Computed: true, }, "depends_on": { // Property: DependsOn Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "condition": { // Property: Condition Type: types.StringType, Computed: true, }, "container_name": { // Property: ContainerName Type: types.StringType, Computed: true, }, }, tfsdk.ListNestedAttributesOptions{}, ), Computed: true, }, "disable_networking": { // Property: DisableNetworking Type: types.BoolType, Computed: true, }, "dns_search_domains": { // Property: DnsSearchDomains Type: types.ListType{ElemType: types.StringType}, Computed: true, }, "dns_servers": { // Property: DnsServers Type: types.ListType{ElemType: types.StringType}, Computed: true, }, "docker_labels": { // Property: DockerLabels // Pattern: "" Type: types.MapType{ElemType: types.StringType}, Computed: true, }, "docker_security_options": { // Property: DockerSecurityOptions Type: types.ListType{ElemType: types.StringType}, Computed: true, }, "entry_point": { // Property: EntryPoint Type: types.ListType{ElemType: types.StringType}, Computed: true, }, "environment": { // Property: Environment Description: "The environment variables to pass to a container", Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "name": { // Property: Name Type: types.StringType, Computed: true, }, "value": { // Property: Value Type: types.StringType, Computed: true, }, }, tfsdk.ListNestedAttributesOptions{}, ), Computed: true, }, "environment_files": { // Property: EnvironmentFiles Description: "The list of one or more files that contain the environment variables to pass to a container", Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "type": { // Property: Type Type: types.StringType, Computed: true, }, "value": { // Property: Value Type: types.StringType, Computed: true, }, }, tfsdk.ListNestedAttributesOptions{}, ), Computed: true, }, "essential": { // Property: Essential Type: types.BoolType, Computed: true, }, "extra_hosts": { // Property: ExtraHosts Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "hostname": { // Property: Hostname Type: types.StringType, Computed: true, }, "ip_address": { // Property: IpAddress Type: types.StringType, Computed: true, }, }, tfsdk.ListNestedAttributesOptions{}, ), Computed: true, }, "firelens_configuration": { // Property: FirelensConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "options": { // Property: Options // Pattern: "" Type: types.MapType{ElemType: types.StringType}, Computed: true, }, "type": { // Property: Type Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "health_check": { // Property: HealthCheck Description: "The health check command and associated configuration parameters for the container.", Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "command": { // Property: Command Description: "A string array representing the command that the container runs to determine if it is healthy.", Type: types.ListType{ElemType: types.StringType}, Computed: true, }, "interval": { // Property: Interval Description: "The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.", Type: types.Int64Type, Computed: true, }, "retries": { // Property: Retries Description: "The number of times to retry a failed health check before the container is considered unhealthy. You may specify between 1 and 10 retries. The default value is three retries.", Type: types.Int64Type, Computed: true, }, "start_period": { // Property: StartPeriod Description: "The optional grace period within which to provide containers time to bootstrap before failed health checks count towards the maximum number of retries. You may specify between 0 and 300 seconds. The startPeriod is disabled by default.", Type: types.Int64Type, Computed: true, }, "timeout": { // Property: Timeout Description: "The time period in seconds to wait for a health check to succeed before it is considered a failure. You may specify between 2 and 60 seconds. The default value is 5 seconds.", Type: types.Int64Type, Computed: true, }, }, ), Computed: true, }, "hostname": { // Property: Hostname Type: types.StringType, Computed: true, }, "image": { // Property: Image Description: "The image used to start a container. This string is passed directly to the Docker daemon.", Type: types.StringType, Computed: true, }, "interactive": { // Property: Interactive Type: types.BoolType, Computed: true, }, "links": { // Property: Links Type: types.SetType{ElemType: types.StringType}, Computed: true, }, "linux_parameters": { // Property: LinuxParameters Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "capabilities": { // Property: Capabilities Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "add": { // Property: Add Type: types.ListType{ElemType: types.StringType}, Computed: true, }, "drop": { // Property: Drop Type: types.ListType{ElemType: types.StringType}, Computed: true, }, }, ), Computed: true, }, "devices": { // Property: Devices Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "container_path": { // Property: ContainerPath Type: types.StringType, Computed: true, }, "host_path": { // Property: HostPath Type: types.StringType, Computed: true, }, "permissions": { // Property: Permissions Type: types.SetType{ElemType: types.StringType}, Computed: true, }, }, tfsdk.ListNestedAttributesOptions{}, ), Computed: true, }, "init_process_enabled": { // Property: InitProcessEnabled Type: types.BoolType, Computed: true, }, "max_swap": { // Property: MaxSwap Type: types.Int64Type, Computed: true, }, "shared_memory_size": { // Property: SharedMemorySize Type: types.Int64Type, Computed: true, }, "swappiness": { // Property: Swappiness Type: types.Int64Type, Computed: true, }, "tmpfs": { // Property: Tmpfs Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "container_path": { // Property: ContainerPath Type: types.StringType, Computed: true, }, "mount_options": { // Property: MountOptions Type: types.ListType{ElemType: types.StringType}, Computed: true, }, "size": { // Property: Size Type: types.Int64Type, Computed: true, }, }, tfsdk.ListNestedAttributesOptions{}, ), Computed: true, }, }, ), Computed: true, }, "log_configuration": { // Property: LogConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "log_driver": { // Property: LogDriver Type: types.StringType, Computed: true, }, "options": { // Property: Options // Pattern: "" Type: types.MapType{ElemType: types.StringType}, Computed: true, }, "secret_options": { // Property: SecretOptions Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "name": { // Property: Name Type: types.StringType, Computed: true, }, "value_from": { // Property: ValueFrom Type: types.StringType, Computed: true, }, }, tfsdk.ListNestedAttributesOptions{}, ), Computed: true, }, }, ), Computed: true, }, "memory": { // Property: Memory Description: "The amount (in MiB) of memory to present to the container. If your container attempts to exceed the memory specified here, the container is killed.", Type: types.Int64Type, Computed: true, }, "memory_reservation": { // Property: MemoryReservation Type: types.Int64Type, Computed: true, }, "mount_points": { // Property: MountPoints Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "container_path": { // Property: ContainerPath Type: types.StringType, Computed: true, }, "read_only": { // Property: ReadOnly Type: types.BoolType, Computed: true, }, "source_volume": { // Property: SourceVolume Type: types.StringType, Computed: true, }, }, tfsdk.ListNestedAttributesOptions{}, ), Computed: true, }, "name": { // Property: Name Description: "The name of a container. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed", Type: types.StringType, Computed: true, }, "port_mappings": { // Property: PortMappings Description: "Port mappings allow containers to access ports on the host container instance to send or receive traffic.", Attributes: tfsdk.SetNestedAttributes( map[string]tfsdk.Attribute{ "container_port": { // Property: ContainerPort Type: types.Int64Type, Computed: true, }, "host_port": { // Property: HostPort Type: types.Int64Type, Computed: true, }, "protocol": { // Property: Protocol Type: types.StringType, Computed: true, }, }, tfsdk.SetNestedAttributesOptions{}, ), Computed: true, }, "privileged": { // Property: Privileged Type: types.BoolType, Computed: true, }, "pseudo_terminal": { // Property: PseudoTerminal Type: types.BoolType, Computed: true, }, "readonly_root_filesystem": { // Property: ReadonlyRootFilesystem Type: types.BoolType, Computed: true, }, "repository_credentials": { // Property: RepositoryCredentials Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "credentials_parameter": { // Property: CredentialsParameter Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "resource_requirements": { // Property: ResourceRequirements Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "type": { // Property: Type Type: types.StringType, Computed: true, }, "value": { // Property: Value Type: types.StringType, Computed: true, }, }, tfsdk.ListNestedAttributesOptions{}, ), Computed: true, }, "secrets": { // Property: Secrets Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "name": { // Property: Name Type: types.StringType, Computed: true, }, "value_from": { // Property: ValueFrom Type: types.StringType, Computed: true, }, }, tfsdk.ListNestedAttributesOptions{}, ), Computed: true, }, "start_timeout": { // Property: StartTimeout Type: types.Int64Type, Computed: true, }, "stop_timeout": { // Property: StopTimeout Type: types.Int64Type, Computed: true, }, "system_controls": { // Property: SystemControls Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "namespace": { // Property: Namespace Type: types.StringType, Computed: true, }, "value": { // Property: Value Type: types.StringType, Computed: true, }, }, tfsdk.ListNestedAttributesOptions{}, ), Computed: true, }, "ulimits": { // Property: Ulimits Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "hard_limit": { // Property: HardLimit Type: types.Int64Type, Computed: true, }, "name": { // Property: Name Type: types.StringType, Computed: true, }, "soft_limit": { // Property: SoftLimit Type: types.Int64Type, Computed: true, }, }, tfsdk.ListNestedAttributesOptions{}, ), Computed: true, }, "user": { // Property: User Type: types.StringType, Computed: true, }, "volumes_from": { // Property: VolumesFrom Attributes: tfsdk.SetNestedAttributes( map[string]tfsdk.Attribute{ "read_only": { // Property: ReadOnly Type: types.BoolType, Computed: true, }, "source_container": { // Property: SourceContainer Type: types.StringType, Computed: true, }, }, tfsdk.SetNestedAttributesOptions{}, ), Computed: true, }, "working_directory": { // Property: WorkingDirectory Type: types.StringType, Computed: true, }, }, tfsdk.SetNestedAttributesOptions{}, ), Computed: true, }, "cpu": { // Property: Cpu // CloudFormation resource type schema: // { // "type": "string" // } Type: types.StringType, Computed: true, }, "ephemeral_storage": { // Property: EphemeralStorage // CloudFormation resource type schema: // { // "additionalProperties": false, // "properties": { // "SizeInGiB": { // "type": "integer" // } // }, // "type": "object" // } Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "size_in_gi_b": { // Property: SizeInGiB Type: types.Int64Type, Computed: true, }, }, ), Computed: true, }, "execution_role_arn": { // Property: ExecutionRoleArn // CloudFormation resource type schema: // { // "type": "string" // } Type: types.StringType, Computed: true, }, "family": { // Property: Family // CloudFormation resource type schema: // { // "type": "string" // } Type: types.StringType, Computed: true, }, "inference_accelerators": { // Property: InferenceAccelerators // CloudFormation resource type schema: // { // "insertionOrder": false, // "items": { // "additionalProperties": false, // "properties": { // "DeviceName": { // "type": "string" // }, // "DeviceType": { // "type": "string" // } // }, // "type": "object" // }, // "type": "array", // "uniqueItems": true // } Attributes: tfsdk.SetNestedAttributes( map[string]tfsdk.Attribute{ "device_name": { // Property: DeviceName Type: types.StringType, Computed: true, }, "device_type": { // Property: DeviceType Type: types.StringType, Computed: true, }, }, tfsdk.SetNestedAttributesOptions{}, ), Computed: true, }, "ipc_mode": { // Property: IpcMode // CloudFormation resource type schema: // { // "type": "string" // } Type: types.StringType, Computed: true, }, "memory": { // Property: Memory // CloudFormation resource type schema: // { // "type": "string" // } Type: types.StringType, Computed: true, }, "network_mode": { // Property: NetworkMode // CloudFormation resource type schema: // { // "type": "string" // } Type: types.StringType, Computed: true, }, "pid_mode": { // Property: PidMode // CloudFormation resource type schema: // { // "type": "string" // } Type: types.StringType, Computed: true, }, "placement_constraints": { // Property: PlacementConstraints // CloudFormation resource type schema: // { // "insertionOrder": false, // "items": { // "additionalProperties": false, // "properties": { // "Expression": { // "type": "string" // }, // "Type": { // "type": "string" // } // }, // "required": [ // "Type" // ], // "type": "object" // }, // "type": "array", // "uniqueItems": true // } Attributes: tfsdk.SetNestedAttributes( map[string]tfsdk.Attribute{ "expression": { // Property: Expression Type: types.StringType, Computed: true, }, "type": { // Property: Type Type: types.StringType, Computed: true, }, }, tfsdk.SetNestedAttributesOptions{}, ), Computed: true, }, "proxy_configuration": { // Property: ProxyConfiguration // CloudFormation resource type schema: // { // "additionalProperties": false, // "properties": { // "ContainerName": { // "type": "string" // }, // "ProxyConfigurationProperties": { // "insertionOrder": false, // "items": { // "additionalProperties": false, // "properties": { // "Name": { // "type": "string" // }, // "Value": { // "type": "string" // } // }, // "type": "object" // }, // "type": "array", // "uniqueItems": true // }, // "Type": { // "type": "string" // } // }, // "required": [ // "ContainerName" // ], // "type": "object" // } Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "container_name": { // Property: ContainerName Type: types.StringType, Computed: true, }, "proxy_configuration_properties": { // Property: ProxyConfigurationProperties Attributes: tfsdk.SetNestedAttributes( map[string]tfsdk.Attribute{ "name": { // Property: Name Type: types.StringType, Computed: true, }, "value": { // Property: Value Type: types.StringType, Computed: true, }, }, tfsdk.SetNestedAttributesOptions{}, ), Computed: true, }, "type": { // Property: Type Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "requires_compatibilities": { // Property: RequiresCompatibilities // CloudFormation resource type schema: // { // "insertionOrder": false, // "items": { // "type": "string" // }, // "type": "array", // "uniqueItems": true // } Type: types.SetType{ElemType: types.StringType}, Computed: true, }, "runtime_platform": { // Property: RuntimePlatform // CloudFormation resource type schema: // { // "additionalProperties": false, // "properties": { // "CpuArchitecture": { // "type": "string" // }, // "OperatingSystemFamily": { // "type": "string" // } // }, // "type": "object" // } Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "cpu_architecture": { // Property: CpuArchitecture Type: types.StringType, Computed: true, }, "operating_system_family": { // Property: OperatingSystemFamily Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "tags": { // Property: Tags // CloudFormation resource type schema: // { // "insertionOrder": false, // "items": { // "additionalProperties": false, // "properties": { // "Key": { // "type": "string" // }, // "Value": { // "type": "string" // } // }, // "type": "object" // }, // "type": "array" // } Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "key": { // Property: Key Type: types.StringType, Computed: true, }, "value": { // Property: Value Type: types.StringType, Computed: true, }, }, tfsdk.ListNestedAttributesOptions{}, ), Computed: true, }, "task_definition_arn": { // Property: TaskDefinitionArn // CloudFormation resource type schema: // { // "description": "The Amazon Resource Name (ARN) of the Amazon ECS task definition", // "type": "string" // } Description: "The Amazon Resource Name (ARN) of the Amazon ECS task definition", Type: types.StringType, Computed: true, }, "task_role_arn": { // Property: TaskRoleArn // CloudFormation resource type schema: // { // "type": "string" // } Type: types.StringType, Computed: true, }, "volumes": { // Property: Volumes // CloudFormation resource type schema: // { // "insertionOrder": false, // "items": { // "additionalProperties": false, // "properties": { // "DockerVolumeConfiguration": { // "additionalProperties": false, // "properties": { // "Autoprovision": { // "type": "boolean" // }, // "Driver": { // "type": "string" // }, // "DriverOpts": { // "additionalProperties": false, // "patternProperties": { // "": { // "type": "string" // } // }, // "type": "object" // }, // "Labels": { // "additionalProperties": false, // "patternProperties": { // "": { // "type": "string" // } // }, // "type": "object" // }, // "Scope": { // "type": "string" // } // }, // "type": "object" // }, // "EFSVolumeConfiguration": { // "additionalProperties": false, // "properties": { // "AuthorizationConfig": { // "additionalProperties": false, // "properties": { // "AccessPointId": { // "type": "string" // }, // "IAM": { // "enum": [ // "ENABLED", // "DISABLED" // ], // "type": "string" // } // }, // "type": "object" // }, // "FilesystemId": { // "type": "string" // }, // "RootDirectory": { // "type": "string" // }, // "TransitEncryption": { // "enum": [ // "ENABLED", // "DISABLED" // ], // "type": "string" // }, // "TransitEncryptionPort": { // "type": "integer" // } // }, // "required": [ // "FilesystemId" // ], // "type": "object" // }, // "Host": { // "additionalProperties": false, // "properties": { // "SourcePath": { // "type": "string" // } // }, // "type": "object" // }, // "Name": { // "type": "string" // } // }, // "type": "object" // }, // "type": "array", // "uniqueItems": true // } Attributes: tfsdk.SetNestedAttributes( map[string]tfsdk.Attribute{ "docker_volume_configuration": { // Property: DockerVolumeConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "autoprovision": { // Property: Autoprovision Type: types.BoolType, Computed: true, }, "driver": { // Property: Driver Type: types.StringType, Computed: true, }, "driver_opts": { // Property: DriverOpts // Pattern: "" Type: types.MapType{ElemType: types.StringType}, Computed: true, }, "labels": { // Property: Labels // Pattern: "" Type: types.MapType{ElemType: types.StringType}, Computed: true, }, "scope": { // Property: Scope Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "efs_volume_configuration": { // Property: EFSVolumeConfiguration Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "authorization_config": { // Property: AuthorizationConfig Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "access_point_id": { // Property: AccessPointId Type: types.StringType, Computed: true, }, "iam": { // Property: IAM Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "filesystem_id": { // Property: FilesystemId Type: types.StringType, Computed: true, }, "root_directory": { // Property: RootDirectory Type: types.StringType, Computed: true, }, "transit_encryption": { // Property: TransitEncryption Type: types.StringType, Computed: true, }, "transit_encryption_port": { // Property: TransitEncryptionPort Type: types.Int64Type, Computed: true, }, }, ), Computed: true, }, "host": { // Property: Host Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "source_path": { // Property: SourcePath Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "name": { // Property: Name Type: types.StringType, Computed: true, }, }, tfsdk.SetNestedAttributesOptions{}, ), Computed: true, }, } attributes["id"] = tfsdk.Attribute{ Description: "Uniquely identifies the resource.", Type: types.StringType, Required: true, } schema := tfsdk.Schema{ Description: "Data Source schema for AWS::ECS::TaskDefinition", Version: 1, Attributes: attributes, } var opts DataSourceTypeOptions opts = opts.WithCloudFormationTypeName("AWS::ECS::TaskDefinition").WithTerraformTypeName("awscc_ecs_task_definition") opts = opts.WithTerraformSchema(schema) opts = opts.WithAttributeNameMap(map[string]string{ "access_point_id": "AccessPointId", "add": "Add", "authorization_config": "AuthorizationConfig", "autoprovision": "Autoprovision", "capabilities": "Capabilities", "command": "Command", "condition": "Condition", "container_definitions": "ContainerDefinitions", "container_name": "ContainerName", "container_path": "ContainerPath", "container_port": "ContainerPort", "cpu": "Cpu", "cpu_architecture": "CpuArchitecture", "credentials_parameter": "CredentialsParameter", "depends_on": "DependsOn", "device_name": "DeviceName", "device_type": "DeviceType", "devices": "Devices", "disable_networking": "DisableNetworking", "dns_search_domains": "DnsSearchDomains", "dns_servers": "DnsServers", "docker_labels": "DockerLabels", "docker_security_options": "DockerSecurityOptions", "docker_volume_configuration": "DockerVolumeConfiguration", "driver": "Driver", "driver_opts": "DriverOpts", "drop": "Drop", "efs_volume_configuration": "EFSVolumeConfiguration", "entry_point": "EntryPoint", "environment": "Environment", "environment_files": "EnvironmentFiles", "ephemeral_storage": "EphemeralStorage", "essential": "Essential", "execution_role_arn": "ExecutionRoleArn", "expression": "Expression", "extra_hosts": "ExtraHosts", "family": "Family", "filesystem_id": "FilesystemId", "firelens_configuration": "FirelensConfiguration", "hard_limit": "HardLimit", "health_check": "HealthCheck", "host": "Host", "host_path": "HostPath", "host_port": "HostPort", "hostname": "Hostname", "iam": "IAM", "image": "Image", "inference_accelerators": "InferenceAccelerators", "init_process_enabled": "InitProcessEnabled", "interactive": "Interactive", "interval": "Interval", "ip_address": "IpAddress", "ipc_mode": "IpcMode", "key": "Key", "labels": "Labels", "links": "Links", "linux_parameters": "LinuxParameters", "log_configuration": "LogConfiguration", "log_driver": "LogDriver", "max_swap": "MaxSwap", "memory": "Memory", "memory_reservation": "MemoryReservation", "mount_options": "MountOptions", "mount_points": "MountPoints", "name": "Name", "namespace": "Namespace", "network_mode": "NetworkMode", "operating_system_family": "OperatingSystemFamily", "options": "Options", "permissions": "Permissions", "pid_mode": "PidMode", "placement_constraints": "PlacementConstraints", "port_mappings": "PortMappings", "privileged": "Privileged", "protocol": "Protocol", "proxy_configuration": "ProxyConfiguration", "proxy_configuration_properties": "ProxyConfigurationProperties", "pseudo_terminal": "PseudoTerminal", "read_only": "ReadOnly", "readonly_root_filesystem": "ReadonlyRootFilesystem", "repository_credentials": "RepositoryCredentials", "requires_compatibilities": "RequiresCompatibilities", "resource_requirements": "ResourceRequirements", "retries": "Retries", "root_directory": "RootDirectory", "runtime_platform": "RuntimePlatform", "scope": "Scope", "secret_options": "SecretOptions", "secrets": "Secrets", "shared_memory_size": "SharedMemorySize", "size": "Size", "size_in_gi_b": "SizeInGiB", "soft_limit": "SoftLimit", "source_container": "SourceContainer", "source_path": "SourcePath", "source_volume": "SourceVolume", "start_period": "StartPeriod", "start_timeout": "StartTimeout", "stop_timeout": "StopTimeout", "swappiness": "Swappiness", "system_controls": "SystemControls", "tags": "Tags", "task_definition_arn": "TaskDefinitionArn", "task_role_arn": "TaskRoleArn", "timeout": "Timeout", "tmpfs": "Tmpfs", "transit_encryption": "TransitEncryption", "transit_encryption_port": "TransitEncryptionPort", "type": "Type", "ulimits": "Ulimits", "user": "User", "value": "Value", "value_from": "ValueFrom", "volumes": "Volumes", "volumes_from": "VolumesFrom", "working_directory": "WorkingDirectory", }) singularDataSourceType, err := NewSingularDataSourceType(ctx, opts...) if err != nil { return nil, err } return singularDataSourceType, nil }