1. Packages
  2. AWSx (Pulumi Crosswalk for AWS)
  3. API Docs
  4. ecs
  5. EC2TaskDefinition
AWSx (Pulumi Crosswalk for AWS) v2.21.1 published on Monday, Mar 10, 2025 by Pulumi

awsx.ecs.EC2TaskDefinition

Explore with Pulumi AI

Create a TaskDefinition resource with the given unique name, arguments, and options. Creates required log-group and task & execution roles. Presents required Service load balancers if target group included in port mappings.

Create EC2TaskDefinition Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new EC2TaskDefinition(name: string, args?: EC2TaskDefinitionArgs, opts?: ComponentResourceOptions);
@overload
def EC2TaskDefinition(resource_name: str,
                      args: Optional[EC2TaskDefinitionArgs] = None,
                      opts: Optional[ResourceOptions] = None)

@overload
def EC2TaskDefinition(resource_name: str,
                      opts: Optional[ResourceOptions] = None,
                      container: Optional[TaskDefinitionContainerDefinitionArgs] = None,
                      containers: Optional[Mapping[str, TaskDefinitionContainerDefinitionArgs]] = None,
                      cpu: Optional[str] = None,
                      ephemeral_storage: Optional[pulumi_aws.ecs.TaskDefinitionEphemeralStorageArgs] = None,
                      execution_role: Optional[_awsx.DefaultRoleWithPolicyArgs] = None,
                      family: Optional[str] = None,
                      inference_accelerators: Optional[Sequence[pulumi_aws.ecs.TaskDefinitionInferenceAcceleratorArgs]] = None,
                      ipc_mode: Optional[str] = None,
                      log_group: Optional[_awsx.DefaultLogGroupArgs] = None,
                      memory: Optional[str] = None,
                      network_mode: Optional[str] = None,
                      pid_mode: Optional[str] = None,
                      placement_constraints: Optional[Sequence[pulumi_aws.ecs.TaskDefinitionPlacementConstraintArgs]] = None,
                      proxy_configuration: Optional[pulumi_aws.ecs.TaskDefinitionProxyConfigurationArgs] = None,
                      runtime_platform: Optional[pulumi_aws.ecs.TaskDefinitionRuntimePlatformArgs] = None,
                      skip_destroy: Optional[bool] = None,
                      tags: Optional[Mapping[str, str]] = None,
                      task_role: Optional[_awsx.DefaultRoleWithPolicyArgs] = None,
                      track_latest: Optional[bool] = None,
                      volumes: Optional[Sequence[pulumi_aws.ecs.TaskDefinitionVolumeArgs]] = None)
func NewEC2TaskDefinition(ctx *Context, name string, args *EC2TaskDefinitionArgs, opts ...ResourceOption) (*EC2TaskDefinition, error)
public EC2TaskDefinition(string name, EC2TaskDefinitionArgs? args = null, ComponentResourceOptions? opts = null)
public EC2TaskDefinition(String name, EC2TaskDefinitionArgs args)
public EC2TaskDefinition(String name, EC2TaskDefinitionArgs args, ComponentResourceOptions options)
type: awsx:ecs:EC2TaskDefinition
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args EC2TaskDefinitionArgs
The arguments to resource properties.
opts ComponentResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args EC2TaskDefinitionArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args EC2TaskDefinitionArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args EC2TaskDefinitionArgs
The arguments to resource properties.
opts ComponentResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. EC2TaskDefinitionArgs
The arguments to resource properties.
options ComponentResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var ec2taskDefinitionResource = new Awsx.Ecs.EC2TaskDefinition("ec2taskDefinitionResource", new()
{
    Container = new Awsx.Ecs.Inputs.TaskDefinitionContainerDefinitionArgs
    {
        Image = "string",
        Name = "string",
        Links = new()
        {
            "string",
        },
        VolumesFrom = new()
        {
            new Awsx.Ecs.Inputs.TaskDefinitionVolumeFromArgs
            {
                ReadOnly = false,
                SourceContainer = "string",
            },
        },
        DnsSearchDomains = new()
        {
            "string",
        },
        LogConfiguration = new Awsx.Ecs.Inputs.TaskDefinitionLogConfigurationArgs
        {
            LogDriver = "string",
            Options = "any",
            SecretOptions = new()
            {
                new Awsx.Ecs.Inputs.TaskDefinitionSecretArgs
                {
                    Name = "string",
                    ValueFrom = "string",
                },
            },
        },
        DockerLabels = "any",
        DockerSecurityOptions = new()
        {
            "string",
        },
        EntryPoint = new()
        {
            "string",
        },
        Environment = new()
        {
            new Awsx.Ecs.Inputs.TaskDefinitionKeyValuePairArgs
            {
                Name = "string",
                Value = "string",
            },
        },
        EnvironmentFiles = new()
        {
            new Awsx.Ecs.Inputs.TaskDefinitionEnvironmentFileArgs
            {
                Type = "string",
                Value = "string",
            },
        },
        Essential = false,
        ExtraHosts = new()
        {
            new Awsx.Ecs.Inputs.TaskDefinitionHostEntryArgs
            {
                Hostname = "string",
                IpAddress = "string",
            },
        },
        FirelensConfiguration = new Awsx.Ecs.Inputs.TaskDefinitionFirelensConfigurationArgs
        {
            Options = "any",
            Type = "string",
        },
        HealthCheck = new Awsx.Ecs.Inputs.TaskDefinitionHealthCheckArgs
        {
            Command = new()
            {
                "string",
            },
            Interval = 0,
            Retries = 0,
            StartPeriod = 0,
            Timeout = 0,
        },
        Hostname = "string",
        DependsOn = new()
        {
            new Awsx.Ecs.Inputs.TaskDefinitionContainerDependencyArgs
            {
                Condition = "string",
                ContainerName = "string",
            },
        },
        Interactive = false,
        Command = new()
        {
            "string",
        },
        LinuxParameters = new Awsx.Ecs.Inputs.TaskDefinitionLinuxParametersArgs
        {
            Capabilities = new Awsx.Ecs.Inputs.TaskDefinitionKernelCapabilitiesArgs
            {
                Add = new()
                {
                    "string",
                },
                Drop = new()
                {
                    "string",
                },
            },
            Devices = new()
            {
                new Awsx.Ecs.Inputs.TaskDefinitionDeviceArgs
                {
                    ContainerPath = "string",
                    HostPath = "string",
                    Permissions = new()
                    {
                        "string",
                    },
                },
            },
            InitProcessEnabled = false,
            MaxSwap = 0,
            SharedMemorySize = 0,
            Swappiness = 0,
            Tmpfs = new()
            {
                new Awsx.Ecs.Inputs.TaskDefinitionTmpfsArgs
                {
                    Size = 0,
                    ContainerPath = "string",
                    MountOptions = new()
                    {
                        "string",
                    },
                },
            },
        },
        DnsServers = new()
        {
            "string",
        },
        DisableNetworking = false,
        MountPoints = new()
        {
            new Awsx.Ecs.Inputs.TaskDefinitionMountPointArgs
            {
                ContainerPath = "string",
                ReadOnly = false,
                SourceVolume = "string",
            },
        },
        MemoryReservation = 0,
        Cpu = 0,
        PortMappings = new()
        {
            new Awsx.Ecs.Inputs.TaskDefinitionPortMappingArgs
            {
                AppProtocol = Awsx.Ecs.TaskDefinitionPortMappingAppProtocol.Http,
                ContainerPort = 0,
                ContainerPortRange = "string",
                HostPort = 0,
                Name = "string",
                Protocol = "string",
                TargetGroup = targetGroup,
            },
        },
        Privileged = false,
        PseudoTerminal = false,
        ReadonlyRootFilesystem = false,
        RepositoryCredentials = new Awsx.Ecs.Inputs.TaskDefinitionRepositoryCredentialsArgs
        {
            CredentialsParameter = "string",
        },
        ResourceRequirements = new()
        {
            new Awsx.Ecs.Inputs.TaskDefinitionResourceRequirementArgs
            {
                Type = "string",
                Value = "string",
            },
        },
        Secrets = new()
        {
            new Awsx.Ecs.Inputs.TaskDefinitionSecretArgs
            {
                Name = "string",
                ValueFrom = "string",
            },
        },
        StartTimeout = 0,
        StopTimeout = 0,
        SystemControls = new()
        {
            new Awsx.Ecs.Inputs.TaskDefinitionSystemControlArgs
            {
                Namespace = "string",
                Value = "string",
            },
        },
        Ulimits = new()
        {
            new Awsx.Ecs.Inputs.TaskDefinitionUlimitArgs
            {
                HardLimit = 0,
                Name = "string",
                SoftLimit = 0,
            },
        },
        User = "string",
        Memory = 0,
        WorkingDirectory = "string",
    },
    Containers = 
    {
        { "string", new Awsx.Ecs.Inputs.TaskDefinitionContainerDefinitionArgs
        {
            Image = "string",
            Name = "string",
            Links = new()
            {
                "string",
            },
            VolumesFrom = new()
            {
                new Awsx.Ecs.Inputs.TaskDefinitionVolumeFromArgs
                {
                    ReadOnly = false,
                    SourceContainer = "string",
                },
            },
            DnsSearchDomains = new()
            {
                "string",
            },
            LogConfiguration = new Awsx.Ecs.Inputs.TaskDefinitionLogConfigurationArgs
            {
                LogDriver = "string",
                Options = "any",
                SecretOptions = new()
                {
                    new Awsx.Ecs.Inputs.TaskDefinitionSecretArgs
                    {
                        Name = "string",
                        ValueFrom = "string",
                    },
                },
            },
            DockerLabels = "any",
            DockerSecurityOptions = new()
            {
                "string",
            },
            EntryPoint = new()
            {
                "string",
            },
            Environment = new()
            {
                new Awsx.Ecs.Inputs.TaskDefinitionKeyValuePairArgs
                {
                    Name = "string",
                    Value = "string",
                },
            },
            EnvironmentFiles = new()
            {
                new Awsx.Ecs.Inputs.TaskDefinitionEnvironmentFileArgs
                {
                    Type = "string",
                    Value = "string",
                },
            },
            Essential = false,
            ExtraHosts = new()
            {
                new Awsx.Ecs.Inputs.TaskDefinitionHostEntryArgs
                {
                    Hostname = "string",
                    IpAddress = "string",
                },
            },
            FirelensConfiguration = new Awsx.Ecs.Inputs.TaskDefinitionFirelensConfigurationArgs
            {
                Options = "any",
                Type = "string",
            },
            HealthCheck = new Awsx.Ecs.Inputs.TaskDefinitionHealthCheckArgs
            {
                Command = new()
                {
                    "string",
                },
                Interval = 0,
                Retries = 0,
                StartPeriod = 0,
                Timeout = 0,
            },
            Hostname = "string",
            DependsOn = new()
            {
                new Awsx.Ecs.Inputs.TaskDefinitionContainerDependencyArgs
                {
                    Condition = "string",
                    ContainerName = "string",
                },
            },
            Interactive = false,
            Command = new()
            {
                "string",
            },
            LinuxParameters = new Awsx.Ecs.Inputs.TaskDefinitionLinuxParametersArgs
            {
                Capabilities = new Awsx.Ecs.Inputs.TaskDefinitionKernelCapabilitiesArgs
                {
                    Add = new()
                    {
                        "string",
                    },
                    Drop = new()
                    {
                        "string",
                    },
                },
                Devices = new()
                {
                    new Awsx.Ecs.Inputs.TaskDefinitionDeviceArgs
                    {
                        ContainerPath = "string",
                        HostPath = "string",
                        Permissions = new()
                        {
                            "string",
                        },
                    },
                },
                InitProcessEnabled = false,
                MaxSwap = 0,
                SharedMemorySize = 0,
                Swappiness = 0,
                Tmpfs = new()
                {
                    new Awsx.Ecs.Inputs.TaskDefinitionTmpfsArgs
                    {
                        Size = 0,
                        ContainerPath = "string",
                        MountOptions = new()
                        {
                            "string",
                        },
                    },
                },
            },
            DnsServers = new()
            {
                "string",
            },
            DisableNetworking = false,
            MountPoints = new()
            {
                new Awsx.Ecs.Inputs.TaskDefinitionMountPointArgs
                {
                    ContainerPath = "string",
                    ReadOnly = false,
                    SourceVolume = "string",
                },
            },
            MemoryReservation = 0,
            Cpu = 0,
            PortMappings = new()
            {
                new Awsx.Ecs.Inputs.TaskDefinitionPortMappingArgs
                {
                    AppProtocol = Awsx.Ecs.TaskDefinitionPortMappingAppProtocol.Http,
                    ContainerPort = 0,
                    ContainerPortRange = "string",
                    HostPort = 0,
                    Name = "string",
                    Protocol = "string",
                    TargetGroup = targetGroup,
                },
            },
            Privileged = false,
            PseudoTerminal = false,
            ReadonlyRootFilesystem = false,
            RepositoryCredentials = new Awsx.Ecs.Inputs.TaskDefinitionRepositoryCredentialsArgs
            {
                CredentialsParameter = "string",
            },
            ResourceRequirements = new()
            {
                new Awsx.Ecs.Inputs.TaskDefinitionResourceRequirementArgs
                {
                    Type = "string",
                    Value = "string",
                },
            },
            Secrets = new()
            {
                new Awsx.Ecs.Inputs.TaskDefinitionSecretArgs
                {
                    Name = "string",
                    ValueFrom = "string",
                },
            },
            StartTimeout = 0,
            StopTimeout = 0,
            SystemControls = new()
            {
                new Awsx.Ecs.Inputs.TaskDefinitionSystemControlArgs
                {
                    Namespace = "string",
                    Value = "string",
                },
            },
            Ulimits = new()
            {
                new Awsx.Ecs.Inputs.TaskDefinitionUlimitArgs
                {
                    HardLimit = 0,
                    Name = "string",
                    SoftLimit = 0,
                },
            },
            User = "string",
            Memory = 0,
            WorkingDirectory = "string",
        } },
    },
    Cpu = "string",
    EphemeralStorage = new Aws.Ecs.Inputs.TaskDefinitionEphemeralStorageArgs
    {
        SizeInGib = 0,
    },
    ExecutionRole = new Awsx.Awsx.Inputs.DefaultRoleWithPolicyArgs
    {
        Args = new Awsx.Awsx.Inputs.RoleWithPolicyArgs
        {
            Description = "string",
            ForceDetachPolicies = false,
            InlinePolicies = new()
            {
                new Aws.Iam.Inputs.RoleInlinePolicyArgs
                {
                    Name = "string",
                    Policy = "string",
                },
            },
            ManagedPolicyArns = new()
            {
                "string",
            },
            MaxSessionDuration = 0,
            Name = "string",
            NamePrefix = "string",
            Path = "string",
            PermissionsBoundary = "string",
            PolicyArns = new()
            {
                "string",
            },
            Tags = 
            {
                { "string", "string" },
            },
        },
        RoleArn = "string",
        Skip = false,
    },
    Family = "string",
    InferenceAccelerators = new[]
    {
        new Aws.Ecs.Inputs.TaskDefinitionInferenceAcceleratorArgs
        {
            DeviceName = "string",
            DeviceType = "string",
        },
    },
    IpcMode = "string",
    LogGroup = new Awsx.Awsx.Inputs.DefaultLogGroupArgs
    {
        Args = new Awsx.Awsx.Inputs.LogGroupArgs
        {
            KmsKeyId = "string",
            LogGroupClass = "string",
            Name = "string",
            NamePrefix = "string",
            RetentionInDays = 0,
            SkipDestroy = false,
            Tags = 
            {
                { "string", "string" },
            },
        },
        Existing = new Awsx.Awsx.Inputs.ExistingLogGroupArgs
        {
            Arn = "string",
            Name = "string",
            Region = "string",
        },
        Skip = false,
    },
    Memory = "string",
    NetworkMode = "string",
    PidMode = "string",
    PlacementConstraints = new[]
    {
        new Aws.Ecs.Inputs.TaskDefinitionPlacementConstraintArgs
        {
            Type = "string",
            Expression = "string",
        },
    },
    ProxyConfiguration = new Aws.Ecs.Inputs.TaskDefinitionProxyConfigurationArgs
    {
        ContainerName = "string",
        Properties = 
        {
            { "string", "string" },
        },
        Type = "string",
    },
    RuntimePlatform = new Aws.Ecs.Inputs.TaskDefinitionRuntimePlatformArgs
    {
        CpuArchitecture = "string",
        OperatingSystemFamily = "string",
    },
    SkipDestroy = false,
    Tags = 
    {
        { "string", "string" },
    },
    TaskRole = new Awsx.Awsx.Inputs.DefaultRoleWithPolicyArgs
    {
        Args = new Awsx.Awsx.Inputs.RoleWithPolicyArgs
        {
            Description = "string",
            ForceDetachPolicies = false,
            InlinePolicies = new()
            {
                new Aws.Iam.Inputs.RoleInlinePolicyArgs
                {
                    Name = "string",
                    Policy = "string",
                },
            },
            ManagedPolicyArns = new()
            {
                "string",
            },
            MaxSessionDuration = 0,
            Name = "string",
            NamePrefix = "string",
            Path = "string",
            PermissionsBoundary = "string",
            PolicyArns = new()
            {
                "string",
            },
            Tags = 
            {
                { "string", "string" },
            },
        },
        RoleArn = "string",
        Skip = false,
    },
    TrackLatest = false,
    Volumes = new[]
    {
        new Aws.Ecs.Inputs.TaskDefinitionVolumeArgs
        {
            Name = "string",
            ConfigureAtLaunch = false,
            DockerVolumeConfiguration = new Aws.Ecs.Inputs.TaskDefinitionVolumeDockerVolumeConfigurationArgs
            {
                Autoprovision = false,
                Driver = "string",
                DriverOpts = 
                {
                    { "string", "string" },
                },
                Labels = 
                {
                    { "string", "string" },
                },
                Scope = "string",
            },
            EfsVolumeConfiguration = new Aws.Ecs.Inputs.TaskDefinitionVolumeEfsVolumeConfigurationArgs
            {
                FileSystemId = "string",
                AuthorizationConfig = new Aws.Ecs.Inputs.TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs
                {
                    AccessPointId = "string",
                    Iam = "string",
                },
                RootDirectory = "string",
                TransitEncryption = "string",
                TransitEncryptionPort = 0,
            },
            FsxWindowsFileServerVolumeConfiguration = new Aws.Ecs.Inputs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs
            {
                AuthorizationConfig = new Aws.Ecs.Inputs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs
                {
                    CredentialsParameter = "string",
                    Domain = "string",
                },
                FileSystemId = "string",
                RootDirectory = "string",
            },
            HostPath = "string",
        },
    },
});
Copy
example, err := ecs.NewEC2TaskDefinition(ctx, "ec2taskDefinitionResource", &ecs.EC2TaskDefinitionArgs{
	Container: &ecs.TaskDefinitionContainerDefinitionArgs{
		Image: pulumi.String("string"),
		Name:  pulumi.String("string"),
		Links: pulumi.StringArray{
			pulumi.String("string"),
		},
		VolumesFrom: ecs.TaskDefinitionVolumeFromArray{
			&ecs.TaskDefinitionVolumeFromArgs{
				ReadOnly:        pulumi.Bool(false),
				SourceContainer: pulumi.String("string"),
			},
		},
		DnsSearchDomains: pulumi.StringArray{
			pulumi.String("string"),
		},
		LogConfiguration: &ecs.TaskDefinitionLogConfigurationArgs{
			LogDriver: pulumi.String("string"),
			Options:   pulumi.Any("any"),
			SecretOptions: ecs.TaskDefinitionSecretArray{
				&ecs.TaskDefinitionSecretArgs{
					Name:      pulumi.String("string"),
					ValueFrom: pulumi.String("string"),
				},
			},
		},
		DockerLabels: pulumi.Any("any"),
		DockerSecurityOptions: pulumi.StringArray{
			pulumi.String("string"),
		},
		EntryPoint: pulumi.StringArray{
			pulumi.String("string"),
		},
		Environment: ecs.TaskDefinitionKeyValuePairArray{
			&ecs.TaskDefinitionKeyValuePairArgs{
				Name:  pulumi.String("string"),
				Value: pulumi.String("string"),
			},
		},
		EnvironmentFiles: ecs.TaskDefinitionEnvironmentFileArray{
			&ecs.TaskDefinitionEnvironmentFileArgs{
				Type:  pulumi.String("string"),
				Value: pulumi.String("string"),
			},
		},
		Essential: pulumi.Bool(false),
		ExtraHosts: ecs.TaskDefinitionHostEntryArray{
			&ecs.TaskDefinitionHostEntryArgs{
				Hostname:  pulumi.String("string"),
				IpAddress: pulumi.String("string"),
			},
		},
		FirelensConfiguration: &ecs.TaskDefinitionFirelensConfigurationArgs{
			Options: pulumi.Any("any"),
			Type:    pulumi.String("string"),
		},
		HealthCheck: &ecs.TaskDefinitionHealthCheckArgs{
			Command: pulumi.StringArray{
				pulumi.String("string"),
			},
			Interval:    pulumi.Int(0),
			Retries:     pulumi.Int(0),
			StartPeriod: pulumi.Int(0),
			Timeout:     pulumi.Int(0),
		},
		Hostname: pulumi.String("string"),
		DependsOn: ecs.TaskDefinitionContainerDependencyArray{
			&ecs.TaskDefinitionContainerDependencyArgs{
				Condition:     pulumi.String("string"),
				ContainerName: pulumi.String("string"),
			},
		},
		Interactive: pulumi.Bool(false),
		Command: pulumi.StringArray{
			pulumi.String("string"),
		},
		LinuxParameters: &ecs.TaskDefinitionLinuxParametersArgs{
			Capabilities: &ecs.TaskDefinitionKernelCapabilitiesArgs{
				Add: pulumi.StringArray{
					pulumi.String("string"),
				},
				Drop: pulumi.StringArray{
					pulumi.String("string"),
				},
			},
			Devices: ecs.TaskDefinitionDeviceArray{
				&ecs.TaskDefinitionDeviceArgs{
					ContainerPath: pulumi.String("string"),
					HostPath:      pulumi.String("string"),
					Permissions: pulumi.StringArray{
						pulumi.String("string"),
					},
				},
			},
			InitProcessEnabled: pulumi.Bool(false),
			MaxSwap:            pulumi.Int(0),
			SharedMemorySize:   pulumi.Int(0),
			Swappiness:         pulumi.Int(0),
			Tmpfs: ecs.TaskDefinitionTmpfsArray{
				&ecs.TaskDefinitionTmpfsArgs{
					Size:          pulumi.Int(0),
					ContainerPath: pulumi.String("string"),
					MountOptions: pulumi.StringArray{
						pulumi.String("string"),
					},
				},
			},
		},
		DnsServers: pulumi.StringArray{
			pulumi.String("string"),
		},
		DisableNetworking: pulumi.Bool(false),
		MountPoints: ecs.TaskDefinitionMountPointArray{
			&ecs.TaskDefinitionMountPointArgs{
				ContainerPath: pulumi.String("string"),
				ReadOnly:      pulumi.Bool(false),
				SourceVolume:  pulumi.String("string"),
			},
		},
		MemoryReservation: pulumi.Int(0),
		Cpu:               pulumi.Int(0),
		PortMappings: ecs.TaskDefinitionPortMappingArray{
			&ecs.TaskDefinitionPortMappingArgs{
				AppProtocol:        ecs.TaskDefinitionPortMappingAppProtocolHttp,
				ContainerPort:      pulumi.Int(0),
				ContainerPortRange: pulumi.String("string"),
				HostPort:           pulumi.Int(0),
				Name:               pulumi.String("string"),
				Protocol:           pulumi.String("string"),
				TargetGroup:        pulumi.Any(targetGroup),
			},
		},
		Privileged:             pulumi.Bool(false),
		PseudoTerminal:         pulumi.Bool(false),
		ReadonlyRootFilesystem: pulumi.Bool(false),
		RepositoryCredentials: &ecs.TaskDefinitionRepositoryCredentialsArgs{
			CredentialsParameter: pulumi.String("string"),
		},
		ResourceRequirements: ecs.TaskDefinitionResourceRequirementArray{
			&ecs.TaskDefinitionResourceRequirementArgs{
				Type:  pulumi.String("string"),
				Value: pulumi.String("string"),
			},
		},
		Secrets: ecs.TaskDefinitionSecretArray{
			&ecs.TaskDefinitionSecretArgs{
				Name:      pulumi.String("string"),
				ValueFrom: pulumi.String("string"),
			},
		},
		StartTimeout: pulumi.Int(0),
		StopTimeout:  pulumi.Int(0),
		SystemControls: ecs.TaskDefinitionSystemControlArray{
			&ecs.TaskDefinitionSystemControlArgs{
				Namespace: pulumi.String("string"),
				Value:     pulumi.String("string"),
			},
		},
		Ulimits: ecs.TaskDefinitionUlimitArray{
			&ecs.TaskDefinitionUlimitArgs{
				HardLimit: pulumi.Int(0),
				Name:      pulumi.String("string"),
				SoftLimit: pulumi.Int(0),
			},
		},
		User:             pulumi.String("string"),
		Memory:           pulumi.Int(0),
		WorkingDirectory: pulumi.String("string"),
	},
	Containers: map[string]ecs.TaskDefinitionContainerDefinitionArgs{
		"string": &ecs.TaskDefinitionContainerDefinitionArgs{
			Image: pulumi.String("string"),
			Name:  pulumi.String("string"),
			Links: pulumi.StringArray{
				pulumi.String("string"),
			},
			VolumesFrom: ecs.TaskDefinitionVolumeFromArray{
				&ecs.TaskDefinitionVolumeFromArgs{
					ReadOnly:        pulumi.Bool(false),
					SourceContainer: pulumi.String("string"),
				},
			},
			DnsSearchDomains: pulumi.StringArray{
				pulumi.String("string"),
			},
			LogConfiguration: &ecs.TaskDefinitionLogConfigurationArgs{
				LogDriver: pulumi.String("string"),
				Options:   pulumi.Any("any"),
				SecretOptions: ecs.TaskDefinitionSecretArray{
					&ecs.TaskDefinitionSecretArgs{
						Name:      pulumi.String("string"),
						ValueFrom: pulumi.String("string"),
					},
				},
			},
			DockerLabels: pulumi.Any("any"),
			DockerSecurityOptions: pulumi.StringArray{
				pulumi.String("string"),
			},
			EntryPoint: pulumi.StringArray{
				pulumi.String("string"),
			},
			Environment: ecs.TaskDefinitionKeyValuePairArray{
				&ecs.TaskDefinitionKeyValuePairArgs{
					Name:  pulumi.String("string"),
					Value: pulumi.String("string"),
				},
			},
			EnvironmentFiles: ecs.TaskDefinitionEnvironmentFileArray{
				&ecs.TaskDefinitionEnvironmentFileArgs{
					Type:  pulumi.String("string"),
					Value: pulumi.String("string"),
				},
			},
			Essential: pulumi.Bool(false),
			ExtraHosts: ecs.TaskDefinitionHostEntryArray{
				&ecs.TaskDefinitionHostEntryArgs{
					Hostname:  pulumi.String("string"),
					IpAddress: pulumi.String("string"),
				},
			},
			FirelensConfiguration: &ecs.TaskDefinitionFirelensConfigurationArgs{
				Options: pulumi.Any("any"),
				Type:    pulumi.String("string"),
			},
			HealthCheck: &ecs.TaskDefinitionHealthCheckArgs{
				Command: pulumi.StringArray{
					pulumi.String("string"),
				},
				Interval:    pulumi.Int(0),
				Retries:     pulumi.Int(0),
				StartPeriod: pulumi.Int(0),
				Timeout:     pulumi.Int(0),
			},
			Hostname: pulumi.String("string"),
			DependsOn: ecs.TaskDefinitionContainerDependencyArray{
				&ecs.TaskDefinitionContainerDependencyArgs{
					Condition:     pulumi.String("string"),
					ContainerName: pulumi.String("string"),
				},
			},
			Interactive: pulumi.Bool(false),
			Command: pulumi.StringArray{
				pulumi.String("string"),
			},
			LinuxParameters: &ecs.TaskDefinitionLinuxParametersArgs{
				Capabilities: &ecs.TaskDefinitionKernelCapabilitiesArgs{
					Add: pulumi.StringArray{
						pulumi.String("string"),
					},
					Drop: pulumi.StringArray{
						pulumi.String("string"),
					},
				},
				Devices: ecs.TaskDefinitionDeviceArray{
					&ecs.TaskDefinitionDeviceArgs{
						ContainerPath: pulumi.String("string"),
						HostPath:      pulumi.String("string"),
						Permissions: pulumi.StringArray{
							pulumi.String("string"),
						},
					},
				},
				InitProcessEnabled: pulumi.Bool(false),
				MaxSwap:            pulumi.Int(0),
				SharedMemorySize:   pulumi.Int(0),
				Swappiness:         pulumi.Int(0),
				Tmpfs: ecs.TaskDefinitionTmpfsArray{
					&ecs.TaskDefinitionTmpfsArgs{
						Size:          pulumi.Int(0),
						ContainerPath: pulumi.String("string"),
						MountOptions: pulumi.StringArray{
							pulumi.String("string"),
						},
					},
				},
			},
			DnsServers: pulumi.StringArray{
				pulumi.String("string"),
			},
			DisableNetworking: pulumi.Bool(false),
			MountPoints: ecs.TaskDefinitionMountPointArray{
				&ecs.TaskDefinitionMountPointArgs{
					ContainerPath: pulumi.String("string"),
					ReadOnly:      pulumi.Bool(false),
					SourceVolume:  pulumi.String("string"),
				},
			},
			MemoryReservation: pulumi.Int(0),
			Cpu:               pulumi.Int(0),
			PortMappings: ecs.TaskDefinitionPortMappingArray{
				&ecs.TaskDefinitionPortMappingArgs{
					AppProtocol:        ecs.TaskDefinitionPortMappingAppProtocolHttp,
					ContainerPort:      pulumi.Int(0),
					ContainerPortRange: pulumi.String("string"),
					HostPort:           pulumi.Int(0),
					Name:               pulumi.String("string"),
					Protocol:           pulumi.String("string"),
					TargetGroup:        pulumi.Any(targetGroup),
				},
			},
			Privileged:             pulumi.Bool(false),
			PseudoTerminal:         pulumi.Bool(false),
			ReadonlyRootFilesystem: pulumi.Bool(false),
			RepositoryCredentials: &ecs.TaskDefinitionRepositoryCredentialsArgs{
				CredentialsParameter: pulumi.String("string"),
			},
			ResourceRequirements: ecs.TaskDefinitionResourceRequirementArray{
				&ecs.TaskDefinitionResourceRequirementArgs{
					Type:  pulumi.String("string"),
					Value: pulumi.String("string"),
				},
			},
			Secrets: ecs.TaskDefinitionSecretArray{
				&ecs.TaskDefinitionSecretArgs{
					Name:      pulumi.String("string"),
					ValueFrom: pulumi.String("string"),
				},
			},
			StartTimeout: pulumi.Int(0),
			StopTimeout:  pulumi.Int(0),
			SystemControls: ecs.TaskDefinitionSystemControlArray{
				&ecs.TaskDefinitionSystemControlArgs{
					Namespace: pulumi.String("string"),
					Value:     pulumi.String("string"),
				},
			},
			Ulimits: ecs.TaskDefinitionUlimitArray{
				&ecs.TaskDefinitionUlimitArgs{
					HardLimit: pulumi.Int(0),
					Name:      pulumi.String("string"),
					SoftLimit: pulumi.Int(0),
				},
			},
			User:             pulumi.String("string"),
			Memory:           pulumi.Int(0),
			WorkingDirectory: pulumi.String("string"),
		},
	},
	Cpu: pulumi.String("string"),
	EphemeralStorage: &ecs.TaskDefinitionEphemeralStorageArgs{
		SizeInGib: pulumi.Int(0),
	},
	ExecutionRole: &awsx.DefaultRoleWithPolicyArgs{
		Args: &awsx.RoleWithPolicyArgs{
			Description:         pulumi.String("string"),
			ForceDetachPolicies: pulumi.Bool(false),
			InlinePolicies: iam.RoleInlinePolicyArray{
				&iam.RoleInlinePolicyArgs{
					Name:   pulumi.String("string"),
					Policy: pulumi.String("string"),
				},
			},
			ManagedPolicyArns: pulumi.StringArray{
				pulumi.String("string"),
			},
			MaxSessionDuration:  pulumi.Int(0),
			Name:                pulumi.String("string"),
			NamePrefix:          pulumi.String("string"),
			Path:                pulumi.String("string"),
			PermissionsBoundary: pulumi.String("string"),
			PolicyArns: []string{
				"string",
			},
			Tags: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
		},
		RoleArn: pulumi.String("string"),
		Skip:    false,
	},
	Family: pulumi.String("string"),
	InferenceAccelerators: ecs.TaskDefinitionInferenceAcceleratorArray{
		&ecs.TaskDefinitionInferenceAcceleratorArgs{
			DeviceName: pulumi.String("string"),
			DeviceType: pulumi.String("string"),
		},
	},
	IpcMode: pulumi.String("string"),
	LogGroup: &awsx.DefaultLogGroupArgs{
		Args: &awsx.LogGroupArgs{
			KmsKeyId:        pulumi.String("string"),
			LogGroupClass:   pulumi.String("string"),
			Name:            pulumi.String("string"),
			NamePrefix:      pulumi.String("string"),
			RetentionInDays: pulumi.Int(0),
			SkipDestroy:     pulumi.Bool(false),
			Tags: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
		},
		Existing: &awsx.ExistingLogGroupArgs{
			Arn:    pulumi.String("string"),
			Name:   pulumi.String("string"),
			Region: pulumi.String("string"),
		},
		Skip: false,
	},
	Memory:      pulumi.String("string"),
	NetworkMode: pulumi.String("string"),
	PidMode:     pulumi.String("string"),
	PlacementConstraints: ecs.TaskDefinitionPlacementConstraintArray{
		&ecs.TaskDefinitionPlacementConstraintArgs{
			Type:       pulumi.String("string"),
			Expression: pulumi.String("string"),
		},
	},
	ProxyConfiguration: &ecs.TaskDefinitionProxyConfigurationArgs{
		ContainerName: pulumi.String("string"),
		Properties: pulumi.StringMap{
			"string": pulumi.String("string"),
		},
		Type: pulumi.String("string"),
	},
	RuntimePlatform: &ecs.TaskDefinitionRuntimePlatformArgs{
		CpuArchitecture:       pulumi.String("string"),
		OperatingSystemFamily: pulumi.String("string"),
	},
	SkipDestroy: pulumi.Bool(false),
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	TaskRole: &awsx.DefaultRoleWithPolicyArgs{
		Args: &awsx.RoleWithPolicyArgs{
			Description:         pulumi.String("string"),
			ForceDetachPolicies: pulumi.Bool(false),
			InlinePolicies: iam.RoleInlinePolicyArray{
				&iam.RoleInlinePolicyArgs{
					Name:   pulumi.String("string"),
					Policy: pulumi.String("string"),
				},
			},
			ManagedPolicyArns: pulumi.StringArray{
				pulumi.String("string"),
			},
			MaxSessionDuration:  pulumi.Int(0),
			Name:                pulumi.String("string"),
			NamePrefix:          pulumi.String("string"),
			Path:                pulumi.String("string"),
			PermissionsBoundary: pulumi.String("string"),
			PolicyArns: []string{
				"string",
			},
			Tags: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
		},
		RoleArn: pulumi.String("string"),
		Skip:    false,
	},
	TrackLatest: pulumi.Bool(false),
	Volumes: ecs.TaskDefinitionVolumeArray{
		&ecs.TaskDefinitionVolumeArgs{
			Name:              pulumi.String("string"),
			ConfigureAtLaunch: pulumi.Bool(false),
			DockerVolumeConfiguration: &ecs.TaskDefinitionVolumeDockerVolumeConfigurationArgs{
				Autoprovision: pulumi.Bool(false),
				Driver:        pulumi.String("string"),
				DriverOpts: pulumi.StringMap{
					"string": pulumi.String("string"),
				},
				Labels: pulumi.StringMap{
					"string": pulumi.String("string"),
				},
				Scope: pulumi.String("string"),
			},
			EfsVolumeConfiguration: &ecs.TaskDefinitionVolumeEfsVolumeConfigurationArgs{
				FileSystemId: pulumi.String("string"),
				AuthorizationConfig: &ecs.TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs{
					AccessPointId: pulumi.String("string"),
					Iam:           pulumi.String("string"),
				},
				RootDirectory:         pulumi.String("string"),
				TransitEncryption:     pulumi.String("string"),
				TransitEncryptionPort: pulumi.Int(0),
			},
			FsxWindowsFileServerVolumeConfiguration: &ecs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs{
				AuthorizationConfig: &ecs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs{
					CredentialsParameter: pulumi.String("string"),
					Domain:               pulumi.String("string"),
				},
				FileSystemId:  pulumi.String("string"),
				RootDirectory: pulumi.String("string"),
			},
			HostPath: pulumi.String("string"),
		},
	},
})
Copy
var ec2taskDefinitionResource = new EC2TaskDefinition("ec2taskDefinitionResource", EC2TaskDefinitionArgs.builder()
    .container(TaskDefinitionContainerDefinitionArgs.builder()
        .image("string")
        .name("string")
        .links("string")
        .volumesFrom(TaskDefinitionVolumeFromArgs.builder()
            .readOnly(false)
            .sourceContainer("string")
            .build())
        .dnsSearchDomains("string")
        .logConfiguration(TaskDefinitionLogConfigurationArgs.builder()
            .logDriver("string")
            .options("any")
            .secretOptions(TaskDefinitionSecretArgs.builder()
                .name("string")
                .valueFrom("string")
                .build())
            .build())
        .dockerLabels("any")
        .dockerSecurityOptions("string")
        .entryPoint("string")
        .environment(TaskDefinitionKeyValuePairArgs.builder()
            .name("string")
            .value("string")
            .build())
        .environmentFiles(TaskDefinitionEnvironmentFileArgs.builder()
            .type("string")
            .value("string")
            .build())
        .essential(false)
        .extraHosts(TaskDefinitionHostEntryArgs.builder()
            .hostname("string")
            .ipAddress("string")
            .build())
        .firelensConfiguration(TaskDefinitionFirelensConfigurationArgs.builder()
            .options("any")
            .type("string")
            .build())
        .healthCheck(TaskDefinitionHealthCheckArgs.builder()
            .command("string")
            .interval(0)
            .retries(0)
            .startPeriod(0)
            .timeout(0)
            .build())
        .hostname("string")
        .dependsOn(TaskDefinitionContainerDependencyArgs.builder()
            .condition("string")
            .containerName("string")
            .build())
        .interactive(false)
        .command("string")
        .linuxParameters(TaskDefinitionLinuxParametersArgs.builder()
            .capabilities(TaskDefinitionKernelCapabilitiesArgs.builder()
                .add("string")
                .drop("string")
                .build())
            .devices(TaskDefinitionDeviceArgs.builder()
                .containerPath("string")
                .hostPath("string")
                .permissions("string")
                .build())
            .initProcessEnabled(false)
            .maxSwap(0)
            .sharedMemorySize(0)
            .swappiness(0)
            .tmpfs(TaskDefinitionTmpfsArgs.builder()
                .size(0)
                .containerPath("string")
                .mountOptions("string")
                .build())
            .build())
        .dnsServers("string")
        .disableNetworking(false)
        .mountPoints(TaskDefinitionMountPointArgs.builder()
            .containerPath("string")
            .readOnly(false)
            .sourceVolume("string")
            .build())
        .memoryReservation(0)
        .cpu(0)
        .portMappings(TaskDefinitionPortMappingArgs.builder()
            .appProtocol("http")
            .containerPort(0)
            .containerPortRange("string")
            .hostPort(0)
            .name("string")
            .protocol("string")
            .targetGroup(targetGroup)
            .build())
        .privileged(false)
        .pseudoTerminal(false)
        .readonlyRootFilesystem(false)
        .repositoryCredentials(TaskDefinitionRepositoryCredentialsArgs.builder()
            .credentialsParameter("string")
            .build())
        .resourceRequirements(TaskDefinitionResourceRequirementArgs.builder()
            .type("string")
            .value("string")
            .build())
        .secrets(TaskDefinitionSecretArgs.builder()
            .name("string")
            .valueFrom("string")
            .build())
        .startTimeout(0)
        .stopTimeout(0)
        .systemControls(TaskDefinitionSystemControlArgs.builder()
            .namespace("string")
            .value("string")
            .build())
        .ulimits(TaskDefinitionUlimitArgs.builder()
            .hardLimit(0)
            .name("string")
            .softLimit(0)
            .build())
        .user("string")
        .memory(0)
        .workingDirectory("string")
        .build())
    .containers(Map.of("string", Map.ofEntries(
        Map.entry("image", "string"),
        Map.entry("name", "string"),
        Map.entry("links", "string"),
        Map.entry("volumesFrom", Map.ofEntries(
            Map.entry("readOnly", false),
            Map.entry("sourceContainer", "string")
        )),
        Map.entry("dnsSearchDomains", "string"),
        Map.entry("logConfiguration", Map.ofEntries(
            Map.entry("logDriver", "string"),
            Map.entry("options", "any"),
            Map.entry("secretOptions", Map.ofEntries(
                Map.entry("name", "string"),
                Map.entry("valueFrom", "string")
            ))
        )),
        Map.entry("dockerLabels", "any"),
        Map.entry("dockerSecurityOptions", "string"),
        Map.entry("entryPoint", "string"),
        Map.entry("environment", Map.ofEntries(
            Map.entry("name", "string"),
            Map.entry("value", "string")
        )),
        Map.entry("environmentFiles", Map.ofEntries(
            Map.entry("type", "string"),
            Map.entry("value", "string")
        )),
        Map.entry("essential", false),
        Map.entry("extraHosts", Map.ofEntries(
            Map.entry("hostname", "string"),
            Map.entry("ipAddress", "string")
        )),
        Map.entry("firelensConfiguration", Map.ofEntries(
            Map.entry("options", "any"),
            Map.entry("type", "string")
        )),
        Map.entry("healthCheck", Map.ofEntries(
            Map.entry("command", "string"),
            Map.entry("interval", 0),
            Map.entry("retries", 0),
            Map.entry("startPeriod", 0),
            Map.entry("timeout", 0)
        )),
        Map.entry("hostname", "string"),
        Map.entry("dependsOn", Map.ofEntries(
            Map.entry("condition", "string"),
            Map.entry("containerName", "string")
        )),
        Map.entry("interactive", false),
        Map.entry("command", "string"),
        Map.entry("linuxParameters", Map.ofEntries(
            Map.entry("capabilities", Map.ofEntries(
                Map.entry("add", "string"),
                Map.entry("drop", "string")
            )),
            Map.entry("devices", Map.ofEntries(
                Map.entry("containerPath", "string"),
                Map.entry("hostPath", "string"),
                Map.entry("permissions", "string")
            )),
            Map.entry("initProcessEnabled", false),
            Map.entry("maxSwap", 0),
            Map.entry("sharedMemorySize", 0),
            Map.entry("swappiness", 0),
            Map.entry("tmpfs", Map.ofEntries(
                Map.entry("size", 0),
                Map.entry("containerPath", "string"),
                Map.entry("mountOptions", "string")
            ))
        )),
        Map.entry("dnsServers", "string"),
        Map.entry("disableNetworking", false),
        Map.entry("mountPoints", Map.ofEntries(
            Map.entry("containerPath", "string"),
            Map.entry("readOnly", false),
            Map.entry("sourceVolume", "string")
        )),
        Map.entry("memoryReservation", 0),
        Map.entry("cpu", 0),
        Map.entry("portMappings", Map.ofEntries(
            Map.entry("appProtocol", "http"),
            Map.entry("containerPort", 0),
            Map.entry("containerPortRange", "string"),
            Map.entry("hostPort", 0),
            Map.entry("name", "string"),
            Map.entry("protocol", "string"),
            Map.entry("targetGroup", targetGroup)
        )),
        Map.entry("privileged", false),
        Map.entry("pseudoTerminal", false),
        Map.entry("readonlyRootFilesystem", false),
        Map.entry("repositoryCredentials", Map.of("credentialsParameter", "string")),
        Map.entry("resourceRequirements", Map.ofEntries(
            Map.entry("type", "string"),
            Map.entry("value", "string")
        )),
        Map.entry("secrets", Map.ofEntries(
            Map.entry("name", "string"),
            Map.entry("valueFrom", "string")
        )),
        Map.entry("startTimeout", 0),
        Map.entry("stopTimeout", 0),
        Map.entry("systemControls", Map.ofEntries(
            Map.entry("namespace", "string"),
            Map.entry("value", "string")
        )),
        Map.entry("ulimits", Map.ofEntries(
            Map.entry("hardLimit", 0),
            Map.entry("name", "string"),
            Map.entry("softLimit", 0)
        )),
        Map.entry("user", "string"),
        Map.entry("memory", 0),
        Map.entry("workingDirectory", "string")
    )))
    .cpu("string")
    .ephemeralStorage(TaskDefinitionEphemeralStorageArgs.builder()
        .sizeInGib(0)
        .build())
    .executionRole(DefaultRoleWithPolicyArgs.builder()
        .args(RoleWithPolicyArgs.builder()
            .description("string")
            .forceDetachPolicies(false)
            .inlinePolicies(RoleInlinePolicyArgs.builder()
                .name("string")
                .policy("string")
                .build())
            .managedPolicyArns("string")
            .maxSessionDuration(0)
            .name("string")
            .namePrefix("string")
            .path("string")
            .permissionsBoundary("string")
            .policyArns("string")
            .tags(Map.of("string", "string"))
            .build())
        .roleArn("string")
        .skip(false)
        .build())
    .family("string")
    .inferenceAccelerators(TaskDefinitionInferenceAcceleratorArgs.builder()
        .deviceName("string")
        .deviceType("string")
        .build())
    .ipcMode("string")
    .logGroup(DefaultLogGroupArgs.builder()
        .args(LogGroupArgs.builder()
            .kmsKeyId("string")
            .logGroupClass("string")
            .name("string")
            .namePrefix("string")
            .retentionInDays(0)
            .skipDestroy(false)
            .tags(Map.of("string", "string"))
            .build())
        .existing(ExistingLogGroupArgs.builder()
            .arn("string")
            .name("string")
            .region("string")
            .build())
        .skip(false)
        .build())
    .memory("string")
    .networkMode("string")
    .pidMode("string")
    .placementConstraints(TaskDefinitionPlacementConstraintArgs.builder()
        .type("string")
        .expression("string")
        .build())
    .proxyConfiguration(TaskDefinitionProxyConfigurationArgs.builder()
        .containerName("string")
        .properties(Map.of("string", "string"))
        .type("string")
        .build())
    .runtimePlatform(TaskDefinitionRuntimePlatformArgs.builder()
        .cpuArchitecture("string")
        .operatingSystemFamily("string")
        .build())
    .skipDestroy(false)
    .tags(Map.of("string", "string"))
    .taskRole(DefaultRoleWithPolicyArgs.builder()
        .args(RoleWithPolicyArgs.builder()
            .description("string")
            .forceDetachPolicies(false)
            .inlinePolicies(RoleInlinePolicyArgs.builder()
                .name("string")
                .policy("string")
                .build())
            .managedPolicyArns("string")
            .maxSessionDuration(0)
            .name("string")
            .namePrefix("string")
            .path("string")
            .permissionsBoundary("string")
            .policyArns("string")
            .tags(Map.of("string", "string"))
            .build())
        .roleArn("string")
        .skip(false)
        .build())
    .trackLatest(false)
    .volumes(TaskDefinitionVolumeArgs.builder()
        .name("string")
        .configureAtLaunch(false)
        .dockerVolumeConfiguration(TaskDefinitionVolumeDockerVolumeConfigurationArgs.builder()
            .autoprovision(false)
            .driver("string")
            .driverOpts(Map.of("string", "string"))
            .labels(Map.of("string", "string"))
            .scope("string")
            .build())
        .efsVolumeConfiguration(TaskDefinitionVolumeEfsVolumeConfigurationArgs.builder()
            .fileSystemId("string")
            .authorizationConfig(TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs.builder()
                .accessPointId("string")
                .iam("string")
                .build())
            .rootDirectory("string")
            .transitEncryption("string")
            .transitEncryptionPort(0)
            .build())
        .fsxWindowsFileServerVolumeConfiguration(TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs.builder()
            .authorizationConfig(TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs.builder()
                .credentialsParameter("string")
                .domain("string")
                .build())
            .fileSystemId("string")
            .rootDirectory("string")
            .build())
        .hostPath("string")
        .build())
    .build());
Copy
ec2task_definition_resource = awsx.ecs.EC2TaskDefinition("ec2taskDefinitionResource",
    container={
        "image": "string",
        "name": "string",
        "links": ["string"],
        "volumes_from": [{
            "read_only": False,
            "source_container": "string",
        }],
        "dns_search_domains": ["string"],
        "log_configuration": {
            "log_driver": "string",
            "options": "any",
            "secret_options": [{
                "name": "string",
                "value_from": "string",
            }],
        },
        "docker_labels": "any",
        "docker_security_options": ["string"],
        "entry_point": ["string"],
        "environment": [{
            "name": "string",
            "value": "string",
        }],
        "environment_files": [{
            "type": "string",
            "value": "string",
        }],
        "essential": False,
        "extra_hosts": [{
            "hostname": "string",
            "ip_address": "string",
        }],
        "firelens_configuration": {
            "options": "any",
            "type": "string",
        },
        "health_check": {
            "command": ["string"],
            "interval": 0,
            "retries": 0,
            "start_period": 0,
            "timeout": 0,
        },
        "hostname": "string",
        "depends_on": [{
            "condition": "string",
            "container_name": "string",
        }],
        "interactive": False,
        "command": ["string"],
        "linux_parameters": {
            "capabilities": {
                "add": ["string"],
                "drop": ["string"],
            },
            "devices": [{
                "container_path": "string",
                "host_path": "string",
                "permissions": ["string"],
            }],
            "init_process_enabled": False,
            "max_swap": 0,
            "shared_memory_size": 0,
            "swappiness": 0,
            "tmpfs": [{
                "size": 0,
                "container_path": "string",
                "mount_options": ["string"],
            }],
        },
        "dns_servers": ["string"],
        "disable_networking": False,
        "mount_points": [{
            "container_path": "string",
            "read_only": False,
            "source_volume": "string",
        }],
        "memory_reservation": 0,
        "cpu": 0,
        "port_mappings": [{
            "app_protocol": awsx.ecs.TaskDefinitionPortMappingAppProtocol.HTTP,
            "container_port": 0,
            "container_port_range": "string",
            "host_port": 0,
            "name": "string",
            "protocol": "string",
            "target_group": target_group,
        }],
        "privileged": False,
        "pseudo_terminal": False,
        "readonly_root_filesystem": False,
        "repository_credentials": {
            "credentials_parameter": "string",
        },
        "resource_requirements": [{
            "type": "string",
            "value": "string",
        }],
        "secrets": [{
            "name": "string",
            "value_from": "string",
        }],
        "start_timeout": 0,
        "stop_timeout": 0,
        "system_controls": [{
            "namespace": "string",
            "value": "string",
        }],
        "ulimits": [{
            "hard_limit": 0,
            "name": "string",
            "soft_limit": 0,
        }],
        "user": "string",
        "memory": 0,
        "working_directory": "string",
    },
    containers={
        "string": {
            "image": "string",
            "name": "string",
            "links": ["string"],
            "volumes_from": [{
                "read_only": False,
                "source_container": "string",
            }],
            "dns_search_domains": ["string"],
            "log_configuration": {
                "log_driver": "string",
                "options": "any",
                "secret_options": [{
                    "name": "string",
                    "value_from": "string",
                }],
            },
            "docker_labels": "any",
            "docker_security_options": ["string"],
            "entry_point": ["string"],
            "environment": [{
                "name": "string",
                "value": "string",
            }],
            "environment_files": [{
                "type": "string",
                "value": "string",
            }],
            "essential": False,
            "extra_hosts": [{
                "hostname": "string",
                "ip_address": "string",
            }],
            "firelens_configuration": {
                "options": "any",
                "type": "string",
            },
            "health_check": {
                "command": ["string"],
                "interval": 0,
                "retries": 0,
                "start_period": 0,
                "timeout": 0,
            },
            "hostname": "string",
            "depends_on": [{
                "condition": "string",
                "container_name": "string",
            }],
            "interactive": False,
            "command": ["string"],
            "linux_parameters": {
                "capabilities": {
                    "add": ["string"],
                    "drop": ["string"],
                },
                "devices": [{
                    "container_path": "string",
                    "host_path": "string",
                    "permissions": ["string"],
                }],
                "init_process_enabled": False,
                "max_swap": 0,
                "shared_memory_size": 0,
                "swappiness": 0,
                "tmpfs": [{
                    "size": 0,
                    "container_path": "string",
                    "mount_options": ["string"],
                }],
            },
            "dns_servers": ["string"],
            "disable_networking": False,
            "mount_points": [{
                "container_path": "string",
                "read_only": False,
                "source_volume": "string",
            }],
            "memory_reservation": 0,
            "cpu": 0,
            "port_mappings": [{
                "app_protocol": awsx.ecs.TaskDefinitionPortMappingAppProtocol.HTTP,
                "container_port": 0,
                "container_port_range": "string",
                "host_port": 0,
                "name": "string",
                "protocol": "string",
                "target_group": target_group,
            }],
            "privileged": False,
            "pseudo_terminal": False,
            "readonly_root_filesystem": False,
            "repository_credentials": {
                "credentials_parameter": "string",
            },
            "resource_requirements": [{
                "type": "string",
                "value": "string",
            }],
            "secrets": [{
                "name": "string",
                "value_from": "string",
            }],
            "start_timeout": 0,
            "stop_timeout": 0,
            "system_controls": [{
                "namespace": "string",
                "value": "string",
            }],
            "ulimits": [{
                "hard_limit": 0,
                "name": "string",
                "soft_limit": 0,
            }],
            "user": "string",
            "memory": 0,
            "working_directory": "string",
        },
    },
    cpu="string",
    ephemeral_storage={
        "size_in_gib": 0,
    },
    execution_role={
        "args": {
            "description": "string",
            "force_detach_policies": False,
            "inline_policies": [{
                "name": "string",
                "policy": "string",
            }],
            "managed_policy_arns": ["string"],
            "max_session_duration": 0,
            "name": "string",
            "name_prefix": "string",
            "path": "string",
            "permissions_boundary": "string",
            "policy_arns": ["string"],
            "tags": {
                "string": "string",
            },
        },
        "role_arn": "string",
        "skip": False,
    },
    family="string",
    inference_accelerators=[{
        "device_name": "string",
        "device_type": "string",
    }],
    ipc_mode="string",
    log_group={
        "args": {
            "kms_key_id": "string",
            "log_group_class": "string",
            "name": "string",
            "name_prefix": "string",
            "retention_in_days": 0,
            "skip_destroy": False,
            "tags": {
                "string": "string",
            },
        },
        "existing": {
            "arn": "string",
            "name": "string",
            "region": "string",
        },
        "skip": False,
    },
    memory="string",
    network_mode="string",
    pid_mode="string",
    placement_constraints=[{
        "type": "string",
        "expression": "string",
    }],
    proxy_configuration={
        "container_name": "string",
        "properties": {
            "string": "string",
        },
        "type": "string",
    },
    runtime_platform={
        "cpu_architecture": "string",
        "operating_system_family": "string",
    },
    skip_destroy=False,
    tags={
        "string": "string",
    },
    task_role={
        "args": {
            "description": "string",
            "force_detach_policies": False,
            "inline_policies": [{
                "name": "string",
                "policy": "string",
            }],
            "managed_policy_arns": ["string"],
            "max_session_duration": 0,
            "name": "string",
            "name_prefix": "string",
            "path": "string",
            "permissions_boundary": "string",
            "policy_arns": ["string"],
            "tags": {
                "string": "string",
            },
        },
        "role_arn": "string",
        "skip": False,
    },
    track_latest=False,
    volumes=[{
        "name": "string",
        "configure_at_launch": False,
        "docker_volume_configuration": {
            "autoprovision": False,
            "driver": "string",
            "driver_opts": {
                "string": "string",
            },
            "labels": {
                "string": "string",
            },
            "scope": "string",
        },
        "efs_volume_configuration": {
            "file_system_id": "string",
            "authorization_config": {
                "access_point_id": "string",
                "iam": "string",
            },
            "root_directory": "string",
            "transit_encryption": "string",
            "transit_encryption_port": 0,
        },
        "fsx_windows_file_server_volume_configuration": {
            "authorization_config": {
                "credentials_parameter": "string",
                "domain": "string",
            },
            "file_system_id": "string",
            "root_directory": "string",
        },
        "host_path": "string",
    }])
Copy
const ec2taskDefinitionResource = new awsx.ecs.EC2TaskDefinition("ec2taskDefinitionResource", {
    container: {
        image: "string",
        name: "string",
        links: ["string"],
        volumesFrom: [{
            readOnly: false,
            sourceContainer: "string",
        }],
        dnsSearchDomains: ["string"],
        logConfiguration: {
            logDriver: "string",
            options: "any",
            secretOptions: [{
                name: "string",
                valueFrom: "string",
            }],
        },
        dockerLabels: "any",
        dockerSecurityOptions: ["string"],
        entryPoint: ["string"],
        environment: [{
            name: "string",
            value: "string",
        }],
        environmentFiles: [{
            type: "string",
            value: "string",
        }],
        essential: false,
        extraHosts: [{
            hostname: "string",
            ipAddress: "string",
        }],
        firelensConfiguration: {
            options: "any",
            type: "string",
        },
        healthCheck: {
            command: ["string"],
            interval: 0,
            retries: 0,
            startPeriod: 0,
            timeout: 0,
        },
        hostname: "string",
        dependsOn: [{
            condition: "string",
            containerName: "string",
        }],
        interactive: false,
        command: ["string"],
        linuxParameters: {
            capabilities: {
                add: ["string"],
                drop: ["string"],
            },
            devices: [{
                containerPath: "string",
                hostPath: "string",
                permissions: ["string"],
            }],
            initProcessEnabled: false,
            maxSwap: 0,
            sharedMemorySize: 0,
            swappiness: 0,
            tmpfs: [{
                size: 0,
                containerPath: "string",
                mountOptions: ["string"],
            }],
        },
        dnsServers: ["string"],
        disableNetworking: false,
        mountPoints: [{
            containerPath: "string",
            readOnly: false,
            sourceVolume: "string",
        }],
        memoryReservation: 0,
        cpu: 0,
        portMappings: [{
            appProtocol: awsx.ecs.TaskDefinitionPortMappingAppProtocol.Http,
            containerPort: 0,
            containerPortRange: "string",
            hostPort: 0,
            name: "string",
            protocol: "string",
            targetGroup: targetGroup,
        }],
        privileged: false,
        pseudoTerminal: false,
        readonlyRootFilesystem: false,
        repositoryCredentials: {
            credentialsParameter: "string",
        },
        resourceRequirements: [{
            type: "string",
            value: "string",
        }],
        secrets: [{
            name: "string",
            valueFrom: "string",
        }],
        startTimeout: 0,
        stopTimeout: 0,
        systemControls: [{
            namespace: "string",
            value: "string",
        }],
        ulimits: [{
            hardLimit: 0,
            name: "string",
            softLimit: 0,
        }],
        user: "string",
        memory: 0,
        workingDirectory: "string",
    },
    containers: {
        string: {
            image: "string",
            name: "string",
            links: ["string"],
            volumesFrom: [{
                readOnly: false,
                sourceContainer: "string",
            }],
            dnsSearchDomains: ["string"],
            logConfiguration: {
                logDriver: "string",
                options: "any",
                secretOptions: [{
                    name: "string",
                    valueFrom: "string",
                }],
            },
            dockerLabels: "any",
            dockerSecurityOptions: ["string"],
            entryPoint: ["string"],
            environment: [{
                name: "string",
                value: "string",
            }],
            environmentFiles: [{
                type: "string",
                value: "string",
            }],
            essential: false,
            extraHosts: [{
                hostname: "string",
                ipAddress: "string",
            }],
            firelensConfiguration: {
                options: "any",
                type: "string",
            },
            healthCheck: {
                command: ["string"],
                interval: 0,
                retries: 0,
                startPeriod: 0,
                timeout: 0,
            },
            hostname: "string",
            dependsOn: [{
                condition: "string",
                containerName: "string",
            }],
            interactive: false,
            command: ["string"],
            linuxParameters: {
                capabilities: {
                    add: ["string"],
                    drop: ["string"],
                },
                devices: [{
                    containerPath: "string",
                    hostPath: "string",
                    permissions: ["string"],
                }],
                initProcessEnabled: false,
                maxSwap: 0,
                sharedMemorySize: 0,
                swappiness: 0,
                tmpfs: [{
                    size: 0,
                    containerPath: "string",
                    mountOptions: ["string"],
                }],
            },
            dnsServers: ["string"],
            disableNetworking: false,
            mountPoints: [{
                containerPath: "string",
                readOnly: false,
                sourceVolume: "string",
            }],
            memoryReservation: 0,
            cpu: 0,
            portMappings: [{
                appProtocol: awsx.ecs.TaskDefinitionPortMappingAppProtocol.Http,
                containerPort: 0,
                containerPortRange: "string",
                hostPort: 0,
                name: "string",
                protocol: "string",
                targetGroup: targetGroup,
            }],
            privileged: false,
            pseudoTerminal: false,
            readonlyRootFilesystem: false,
            repositoryCredentials: {
                credentialsParameter: "string",
            },
            resourceRequirements: [{
                type: "string",
                value: "string",
            }],
            secrets: [{
                name: "string",
                valueFrom: "string",
            }],
            startTimeout: 0,
            stopTimeout: 0,
            systemControls: [{
                namespace: "string",
                value: "string",
            }],
            ulimits: [{
                hardLimit: 0,
                name: "string",
                softLimit: 0,
            }],
            user: "string",
            memory: 0,
            workingDirectory: "string",
        },
    },
    cpu: "string",
    ephemeralStorage: {
        sizeInGib: 0,
    },
    executionRole: {
        args: {
            description: "string",
            forceDetachPolicies: false,
            inlinePolicies: [{
                name: "string",
                policy: "string",
            }],
            managedPolicyArns: ["string"],
            maxSessionDuration: 0,
            name: "string",
            namePrefix: "string",
            path: "string",
            permissionsBoundary: "string",
            policyArns: ["string"],
            tags: {
                string: "string",
            },
        },
        roleArn: "string",
        skip: false,
    },
    family: "string",
    inferenceAccelerators: [{
        deviceName: "string",
        deviceType: "string",
    }],
    ipcMode: "string",
    logGroup: {
        args: {
            kmsKeyId: "string",
            logGroupClass: "string",
            name: "string",
            namePrefix: "string",
            retentionInDays: 0,
            skipDestroy: false,
            tags: {
                string: "string",
            },
        },
        existing: {
            arn: "string",
            name: "string",
            region: "string",
        },
        skip: false,
    },
    memory: "string",
    networkMode: "string",
    pidMode: "string",
    placementConstraints: [{
        type: "string",
        expression: "string",
    }],
    proxyConfiguration: {
        containerName: "string",
        properties: {
            string: "string",
        },
        type: "string",
    },
    runtimePlatform: {
        cpuArchitecture: "string",
        operatingSystemFamily: "string",
    },
    skipDestroy: false,
    tags: {
        string: "string",
    },
    taskRole: {
        args: {
            description: "string",
            forceDetachPolicies: false,
            inlinePolicies: [{
                name: "string",
                policy: "string",
            }],
            managedPolicyArns: ["string"],
            maxSessionDuration: 0,
            name: "string",
            namePrefix: "string",
            path: "string",
            permissionsBoundary: "string",
            policyArns: ["string"],
            tags: {
                string: "string",
            },
        },
        roleArn: "string",
        skip: false,
    },
    trackLatest: false,
    volumes: [{
        name: "string",
        configureAtLaunch: false,
        dockerVolumeConfiguration: {
            autoprovision: false,
            driver: "string",
            driverOpts: {
                string: "string",
            },
            labels: {
                string: "string",
            },
            scope: "string",
        },
        efsVolumeConfiguration: {
            fileSystemId: "string",
            authorizationConfig: {
                accessPointId: "string",
                iam: "string",
            },
            rootDirectory: "string",
            transitEncryption: "string",
            transitEncryptionPort: 0,
        },
        fsxWindowsFileServerVolumeConfiguration: {
            authorizationConfig: {
                credentialsParameter: "string",
                domain: "string",
            },
            fileSystemId: "string",
            rootDirectory: "string",
        },
        hostPath: "string",
    }],
});
Copy
type: awsx:ecs:EC2TaskDefinition
properties:
    container:
        command:
            - string
        cpu: 0
        dependsOn:
            - condition: string
              containerName: string
        disableNetworking: false
        dnsSearchDomains:
            - string
        dnsServers:
            - string
        dockerLabels: any
        dockerSecurityOptions:
            - string
        entryPoint:
            - string
        environment:
            - name: string
              value: string
        environmentFiles:
            - type: string
              value: string
        essential: false
        extraHosts:
            - hostname: string
              ipAddress: string
        firelensConfiguration:
            options: any
            type: string
        healthCheck:
            command:
                - string
            interval: 0
            retries: 0
            startPeriod: 0
            timeout: 0
        hostname: string
        image: string
        interactive: false
        links:
            - string
        linuxParameters:
            capabilities:
                add:
                    - string
                drop:
                    - string
            devices:
                - containerPath: string
                  hostPath: string
                  permissions:
                    - string
            initProcessEnabled: false
            maxSwap: 0
            sharedMemorySize: 0
            swappiness: 0
            tmpfs:
                - containerPath: string
                  mountOptions:
                    - string
                  size: 0
        logConfiguration:
            logDriver: string
            options: any
            secretOptions:
                - name: string
                  valueFrom: string
        memory: 0
        memoryReservation: 0
        mountPoints:
            - containerPath: string
              readOnly: false
              sourceVolume: string
        name: string
        portMappings:
            - appProtocol: http
              containerPort: 0
              containerPortRange: string
              hostPort: 0
              name: string
              protocol: string
              targetGroup: ${targetGroup}
        privileged: false
        pseudoTerminal: false
        readonlyRootFilesystem: false
        repositoryCredentials:
            credentialsParameter: string
        resourceRequirements:
            - type: string
              value: string
        secrets:
            - name: string
              valueFrom: string
        startTimeout: 0
        stopTimeout: 0
        systemControls:
            - namespace: string
              value: string
        ulimits:
            - hardLimit: 0
              name: string
              softLimit: 0
        user: string
        volumesFrom:
            - readOnly: false
              sourceContainer: string
        workingDirectory: string
    containers:
        string:
            command:
                - string
            cpu: 0
            dependsOn:
                - condition: string
                  containerName: string
            disableNetworking: false
            dnsSearchDomains:
                - string
            dnsServers:
                - string
            dockerLabels: any
            dockerSecurityOptions:
                - string
            entryPoint:
                - string
            environment:
                - name: string
                  value: string
            environmentFiles:
                - type: string
                  value: string
            essential: false
            extraHosts:
                - hostname: string
                  ipAddress: string
            firelensConfiguration:
                options: any
                type: string
            healthCheck:
                command:
                    - string
                interval: 0
                retries: 0
                startPeriod: 0
                timeout: 0
            hostname: string
            image: string
            interactive: false
            links:
                - string
            linuxParameters:
                capabilities:
                    add:
                        - string
                    drop:
                        - string
                devices:
                    - containerPath: string
                      hostPath: string
                      permissions:
                        - string
                initProcessEnabled: false
                maxSwap: 0
                sharedMemorySize: 0
                swappiness: 0
                tmpfs:
                    - containerPath: string
                      mountOptions:
                        - string
                      size: 0
            logConfiguration:
                logDriver: string
                options: any
                secretOptions:
                    - name: string
                      valueFrom: string
            memory: 0
            memoryReservation: 0
            mountPoints:
                - containerPath: string
                  readOnly: false
                  sourceVolume: string
            name: string
            portMappings:
                - appProtocol: http
                  containerPort: 0
                  containerPortRange: string
                  hostPort: 0
                  name: string
                  protocol: string
                  targetGroup: ${targetGroup}
            privileged: false
            pseudoTerminal: false
            readonlyRootFilesystem: false
            repositoryCredentials:
                credentialsParameter: string
            resourceRequirements:
                - type: string
                  value: string
            secrets:
                - name: string
                  valueFrom: string
            startTimeout: 0
            stopTimeout: 0
            systemControls:
                - namespace: string
                  value: string
            ulimits:
                - hardLimit: 0
                  name: string
                  softLimit: 0
            user: string
            volumesFrom:
                - readOnly: false
                  sourceContainer: string
            workingDirectory: string
    cpu: string
    ephemeralStorage:
        sizeInGib: 0
    executionRole:
        args:
            description: string
            forceDetachPolicies: false
            inlinePolicies:
                - name: string
                  policy: string
            managedPolicyArns:
                - string
            maxSessionDuration: 0
            name: string
            namePrefix: string
            path: string
            permissionsBoundary: string
            policyArns:
                - string
            tags:
                string: string
        roleArn: string
        skip: false
    family: string
    inferenceAccelerators:
        - deviceName: string
          deviceType: string
    ipcMode: string
    logGroup:
        args:
            kmsKeyId: string
            logGroupClass: string
            name: string
            namePrefix: string
            retentionInDays: 0
            skipDestroy: false
            tags:
                string: string
        existing:
            arn: string
            name: string
            region: string
        skip: false
    memory: string
    networkMode: string
    pidMode: string
    placementConstraints:
        - expression: string
          type: string
    proxyConfiguration:
        containerName: string
        properties:
            string: string
        type: string
    runtimePlatform:
        cpuArchitecture: string
        operatingSystemFamily: string
    skipDestroy: false
    tags:
        string: string
    taskRole:
        args:
            description: string
            forceDetachPolicies: false
            inlinePolicies:
                - name: string
                  policy: string
            managedPolicyArns:
                - string
            maxSessionDuration: 0
            name: string
            namePrefix: string
            path: string
            permissionsBoundary: string
            policyArns:
                - string
            tags:
                string: string
        roleArn: string
        skip: false
    trackLatest: false
    volumes:
        - configureAtLaunch: false
          dockerVolumeConfiguration:
            autoprovision: false
            driver: string
            driverOpts:
                string: string
            labels:
                string: string
            scope: string
          efsVolumeConfiguration:
            authorizationConfig:
                accessPointId: string
                iam: string
            fileSystemId: string
            rootDirectory: string
            transitEncryption: string
            transitEncryptionPort: 0
          fsxWindowsFileServerVolumeConfiguration:
            authorizationConfig:
                credentialsParameter: string
                domain: string
            fileSystemId: string
            rootDirectory: string
          hostPath: string
          name: string
Copy

EC2TaskDefinition Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The EC2TaskDefinition resource accepts the following input properties:

Container TaskDefinitionContainerDefinition

Single container to make a TaskDefinition from. Useful for simple cases where there aren't multiple containers, especially when creating a TaskDefinition to call [run] on.

Either [container] or [containers] must be provided.

Containers Dictionary<string, TaskDefinitionContainerDefinitionArgs>

All the containers to make a TaskDefinition from. Useful when creating a Service that will contain many containers within.

Either [container] or [containers] must be provided.

Cpu string
The number of cpu units used by the task. If not provided, a default will be computed based on the cumulative needs specified by [containerDefinitions]
EphemeralStorage Changes to this property will trigger replacement. Pulumi.Aws.Ecs.Inputs.TaskDefinitionEphemeralStorage

The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate. See Ephemeral Storage.

This type is defined in the AWS Classic package.

ExecutionRole Pulumi.Awsx.Awsx.Inputs.DefaultRoleWithPolicy
The execution role that the Amazon ECS container agent and the Docker daemon can assume. Will be created automatically if not defined.
Family string
An optional unique name for your task definition. If not specified, then a default will be created.
InferenceAccelerators Changes to this property will trigger replacement. List<Pulumi.Aws.Ecs.Inputs.TaskDefinitionInferenceAccelerator>
Configuration block(s) with Inference Accelerators settings. Detailed below.
IpcMode Changes to this property will trigger replacement. string
IPC resource namespace to be used for the containers in the task The valid values are host, task, and none.
LogGroup Pulumi.Awsx.Awsx.Inputs.DefaultLogGroup
A set of volume blocks that containers in your task may use.
Memory string
The amount (in MiB) of memory used by the task. If not provided, a default will be computed based on the cumulative needs specified by [containerDefinitions]
NetworkMode Changes to this property will trigger replacement. string
Docker networking mode to use for the containers in the task. Valid values are none, bridge, awsvpc, and host.
PidMode Changes to this property will trigger replacement. string
Process namespace to use for the containers in the task. The valid values are host and task.
PlacementConstraints Changes to this property will trigger replacement. List<Pulumi.Aws.Ecs.Inputs.TaskDefinitionPlacementConstraint>
Configuration block for rules that are taken into consideration during task placement. Maximum number of placement_constraints is 10. Detailed below.
ProxyConfiguration Changes to this property will trigger replacement. Pulumi.Aws.Ecs.Inputs.TaskDefinitionProxyConfiguration

Configuration block for the App Mesh proxy. Detailed below.

This type is defined in the AWS Classic package.

RuntimePlatform Changes to this property will trigger replacement. Pulumi.Aws.Ecs.Inputs.TaskDefinitionRuntimePlatform

Configuration block for runtime_platform that containers in your task may use.

This type is defined in the AWS Classic package.

SkipDestroy bool
Whether to retain the old revision when the resource is destroyed or replacement is necessary. Default is false.
Tags Dictionary<string, string>
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TaskRole Pulumi.Awsx.Awsx.Inputs.DefaultRoleWithPolicy
IAM role that allows your Amazon ECS container task to make calls to other AWS services. Will be created automatically if not defined.
TrackLatest bool
Whether should track latest ACTIVE task definition on AWS or the one created with the resource stored in state. Default is false. Useful in the event the task definition is modified outside of this resource.
Volumes Changes to this property will trigger replacement. List<Pulumi.Aws.Ecs.Inputs.TaskDefinitionVolume>
Configuration block for volumes that containers in your task may use. Detailed below.
Container TaskDefinitionContainerDefinitionArgs

Single container to make a TaskDefinition from. Useful for simple cases where there aren't multiple containers, especially when creating a TaskDefinition to call [run] on.

Either [container] or [containers] must be provided.

Containers map[string]TaskDefinitionContainerDefinitionArgs

All the containers to make a TaskDefinition from. Useful when creating a Service that will contain many containers within.

Either [container] or [containers] must be provided.

Cpu string
The number of cpu units used by the task. If not provided, a default will be computed based on the cumulative needs specified by [containerDefinitions]
EphemeralStorage Changes to this property will trigger replacement. TaskDefinitionEphemeralStorageArgs

The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate. See Ephemeral Storage.

This type is defined in the AWS Classic package.

ExecutionRole DefaultRoleWithPolicyArgs
The execution role that the Amazon ECS container agent and the Docker daemon can assume. Will be created automatically if not defined.
Family string
An optional unique name for your task definition. If not specified, then a default will be created.
InferenceAccelerators Changes to this property will trigger replacement. TaskDefinitionInferenceAcceleratorArgs
Configuration block(s) with Inference Accelerators settings. Detailed below.
IpcMode Changes to this property will trigger replacement. string
IPC resource namespace to be used for the containers in the task The valid values are host, task, and none.
LogGroup DefaultLogGroupArgs
A set of volume blocks that containers in your task may use.
Memory string
The amount (in MiB) of memory used by the task. If not provided, a default will be computed based on the cumulative needs specified by [containerDefinitions]
NetworkMode Changes to this property will trigger replacement. string
Docker networking mode to use for the containers in the task. Valid values are none, bridge, awsvpc, and host.
PidMode Changes to this property will trigger replacement. string
Process namespace to use for the containers in the task. The valid values are host and task.
PlacementConstraints Changes to this property will trigger replacement. TaskDefinitionPlacementConstraintArgs
Configuration block for rules that are taken into consideration during task placement. Maximum number of placement_constraints is 10. Detailed below.
ProxyConfiguration Changes to this property will trigger replacement. TaskDefinitionProxyConfigurationArgs

Configuration block for the App Mesh proxy. Detailed below.

This type is defined in the AWS Classic package.

RuntimePlatform Changes to this property will trigger replacement. TaskDefinitionRuntimePlatformArgs

Configuration block for runtime_platform that containers in your task may use.

This type is defined in the AWS Classic package.

SkipDestroy bool
Whether to retain the old revision when the resource is destroyed or replacement is necessary. Default is false.
Tags map[string]string
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TaskRole DefaultRoleWithPolicyArgs
IAM role that allows your Amazon ECS container task to make calls to other AWS services. Will be created automatically if not defined.
TrackLatest bool
Whether should track latest ACTIVE task definition on AWS or the one created with the resource stored in state. Default is false. Useful in the event the task definition is modified outside of this resource.
Volumes Changes to this property will trigger replacement. TaskDefinitionVolumeArgs
Configuration block for volumes that containers in your task may use. Detailed below.
container TaskDefinitionContainerDefinition

Single container to make a TaskDefinition from. Useful for simple cases where there aren't multiple containers, especially when creating a TaskDefinition to call [run] on.

Either [container] or [containers] must be provided.

containers Map<String,TaskDefinitionContainerDefinitionArgs>

All the containers to make a TaskDefinition from. Useful when creating a Service that will contain many containers within.

Either [container] or [containers] must be provided.

cpu String
The number of cpu units used by the task. If not provided, a default will be computed based on the cumulative needs specified by [containerDefinitions]
ephemeralStorage Changes to this property will trigger replacement. TaskDefinitionEphemeralStorage

The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate. See Ephemeral Storage.

This type is defined in the AWS Classic package.

executionRole DefaultRoleWithPolicy
The execution role that the Amazon ECS container agent and the Docker daemon can assume. Will be created automatically if not defined.
family String
An optional unique name for your task definition. If not specified, then a default will be created.
inferenceAccelerators Changes to this property will trigger replacement. List<TaskDefinitionInferenceAccelerator>
Configuration block(s) with Inference Accelerators settings. Detailed below.
ipcMode Changes to this property will trigger replacement. String
IPC resource namespace to be used for the containers in the task The valid values are host, task, and none.
logGroup DefaultLogGroup
A set of volume blocks that containers in your task may use.
memory String
The amount (in MiB) of memory used by the task. If not provided, a default will be computed based on the cumulative needs specified by [containerDefinitions]
networkMode Changes to this property will trigger replacement. String
Docker networking mode to use for the containers in the task. Valid values are none, bridge, awsvpc, and host.
pidMode Changes to this property will trigger replacement. String
Process namespace to use for the containers in the task. The valid values are host and task.
placementConstraints Changes to this property will trigger replacement. List<TaskDefinitionPlacementConstraint>
Configuration block for rules that are taken into consideration during task placement. Maximum number of placement_constraints is 10. Detailed below.
proxyConfiguration Changes to this property will trigger replacement. TaskDefinitionProxyConfiguration

Configuration block for the App Mesh proxy. Detailed below.

This type is defined in the AWS Classic package.

runtimePlatform Changes to this property will trigger replacement. TaskDefinitionRuntimePlatform

Configuration block for runtime_platform that containers in your task may use.

This type is defined in the AWS Classic package.

skipDestroy Boolean
Whether to retain the old revision when the resource is destroyed or replacement is necessary. Default is false.
tags Map<String,String>
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
taskRole DefaultRoleWithPolicy
IAM role that allows your Amazon ECS container task to make calls to other AWS services. Will be created automatically if not defined.
trackLatest Boolean
Whether should track latest ACTIVE task definition on AWS or the one created with the resource stored in state. Default is false. Useful in the event the task definition is modified outside of this resource.
volumes Changes to this property will trigger replacement. List<TaskDefinitionVolume>
Configuration block for volumes that containers in your task may use. Detailed below.
container TaskDefinitionContainerDefinition

Single container to make a TaskDefinition from. Useful for simple cases where there aren't multiple containers, especially when creating a TaskDefinition to call [run] on.

Either [container] or [containers] must be provided.

containers {[key: string]: TaskDefinitionContainerDefinitionArgs}

All the containers to make a TaskDefinition from. Useful when creating a Service that will contain many containers within.

Either [container] or [containers] must be provided.

cpu string
The number of cpu units used by the task. If not provided, a default will be computed based on the cumulative needs specified by [containerDefinitions]
ephemeralStorage Changes to this property will trigger replacement. pulumiAws.types.input.TaskDefinitionEphemeralStorage

The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate. See Ephemeral Storage.

This type is defined in the AWS Classic package.

executionRole awsx.DefaultRoleWithPolicy
The execution role that the Amazon ECS container agent and the Docker daemon can assume. Will be created automatically if not defined.
family string
An optional unique name for your task definition. If not specified, then a default will be created.
inferenceAccelerators Changes to this property will trigger replacement. pulumiAws.types.input.TaskDefinitionInferenceAccelerator[]
Configuration block(s) with Inference Accelerators settings. Detailed below.
ipcMode Changes to this property will trigger replacement. string
IPC resource namespace to be used for the containers in the task The valid values are host, task, and none.
logGroup awsx.DefaultLogGroup
A set of volume blocks that containers in your task may use.
memory string
The amount (in MiB) of memory used by the task. If not provided, a default will be computed based on the cumulative needs specified by [containerDefinitions]
networkMode Changes to this property will trigger replacement. string
Docker networking mode to use for the containers in the task. Valid values are none, bridge, awsvpc, and host.
pidMode Changes to this property will trigger replacement. string
Process namespace to use for the containers in the task. The valid values are host and task.
placementConstraints Changes to this property will trigger replacement. pulumiAws.types.input.TaskDefinitionPlacementConstraint[]
Configuration block for rules that are taken into consideration during task placement. Maximum number of placement_constraints is 10. Detailed below.
proxyConfiguration Changes to this property will trigger replacement. pulumiAws.types.input.TaskDefinitionProxyConfiguration

Configuration block for the App Mesh proxy. Detailed below.

This type is defined in the AWS Classic package.

runtimePlatform Changes to this property will trigger replacement. pulumiAws.types.input.TaskDefinitionRuntimePlatform

Configuration block for runtime_platform that containers in your task may use.

This type is defined in the AWS Classic package.

skipDestroy boolean
Whether to retain the old revision when the resource is destroyed or replacement is necessary. Default is false.
tags {[key: string]: string}
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
taskRole awsx.DefaultRoleWithPolicy
IAM role that allows your Amazon ECS container task to make calls to other AWS services. Will be created automatically if not defined.
trackLatest boolean
Whether should track latest ACTIVE task definition on AWS or the one created with the resource stored in state. Default is false. Useful in the event the task definition is modified outside of this resource.
volumes Changes to this property will trigger replacement. pulumiAws.types.input.TaskDefinitionVolume[]
Configuration block for volumes that containers in your task may use. Detailed below.
container TaskDefinitionContainerDefinitionArgs

Single container to make a TaskDefinition from. Useful for simple cases where there aren't multiple containers, especially when creating a TaskDefinition to call [run] on.

Either [container] or [containers] must be provided.

containers Mapping[str, TaskDefinitionContainerDefinitionArgs]

All the containers to make a TaskDefinition from. Useful when creating a Service that will contain many containers within.

Either [container] or [containers] must be provided.

cpu str
The number of cpu units used by the task. If not provided, a default will be computed based on the cumulative needs specified by [containerDefinitions]
ephemeral_storage Changes to this property will trigger replacement. pulumi_aws.ecs.TaskDefinitionEphemeralStorageArgs

The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate. See Ephemeral Storage.

This type is defined in the AWS Classic package.

execution_role awsx.DefaultRoleWithPolicyArgs
The execution role that the Amazon ECS container agent and the Docker daemon can assume. Will be created automatically if not defined.
family str
An optional unique name for your task definition. If not specified, then a default will be created.
inference_accelerators Changes to this property will trigger replacement. Sequence[pulumi_aws.ecs.TaskDefinitionInferenceAcceleratorArgs]
Configuration block(s) with Inference Accelerators settings. Detailed below.
ipc_mode Changes to this property will trigger replacement. str
IPC resource namespace to be used for the containers in the task The valid values are host, task, and none.
log_group awsx.DefaultLogGroupArgs
A set of volume blocks that containers in your task may use.
memory str
The amount (in MiB) of memory used by the task. If not provided, a default will be computed based on the cumulative needs specified by [containerDefinitions]
network_mode Changes to this property will trigger replacement. str
Docker networking mode to use for the containers in the task. Valid values are none, bridge, awsvpc, and host.
pid_mode Changes to this property will trigger replacement. str
Process namespace to use for the containers in the task. The valid values are host and task.
placement_constraints Changes to this property will trigger replacement. Sequence[pulumi_aws.ecs.TaskDefinitionPlacementConstraintArgs]
Configuration block for rules that are taken into consideration during task placement. Maximum number of placement_constraints is 10. Detailed below.
proxy_configuration Changes to this property will trigger replacement. pulumi_aws.ecs.TaskDefinitionProxyConfigurationArgs

Configuration block for the App Mesh proxy. Detailed below.

This type is defined in the AWS Classic package.

runtime_platform Changes to this property will trigger replacement. pulumi_aws.ecs.TaskDefinitionRuntimePlatformArgs

Configuration block for runtime_platform that containers in your task may use.

This type is defined in the AWS Classic package.

skip_destroy bool
Whether to retain the old revision when the resource is destroyed or replacement is necessary. Default is false.
tags Mapping[str, str]
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
task_role awsx.DefaultRoleWithPolicyArgs
IAM role that allows your Amazon ECS container task to make calls to other AWS services. Will be created automatically if not defined.
track_latest bool
Whether should track latest ACTIVE task definition on AWS or the one created with the resource stored in state. Default is false. Useful in the event the task definition is modified outside of this resource.
volumes Changes to this property will trigger replacement. Sequence[pulumi_aws.ecs.TaskDefinitionVolumeArgs]
Configuration block for volumes that containers in your task may use. Detailed below.
container Property Map

Single container to make a TaskDefinition from. Useful for simple cases where there aren't multiple containers, especially when creating a TaskDefinition to call [run] on.

Either [container] or [containers] must be provided.

containers Map<Property Map>

All the containers to make a TaskDefinition from. Useful when creating a Service that will contain many containers within.

Either [container] or [containers] must be provided.

cpu String
The number of cpu units used by the task. If not provided, a default will be computed based on the cumulative needs specified by [containerDefinitions]
ephemeralStorage Changes to this property will trigger replacement. Property Map

The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate. See Ephemeral Storage.

This type is defined in the AWS Classic package.

executionRole Property Map
The execution role that the Amazon ECS container agent and the Docker daemon can assume. Will be created automatically if not defined.
family String
An optional unique name for your task definition. If not specified, then a default will be created.
inferenceAccelerators Changes to this property will trigger replacement. List<Property Map>
Configuration block(s) with Inference Accelerators settings. Detailed below.
ipcMode Changes to this property will trigger replacement. String
IPC resource namespace to be used for the containers in the task The valid values are host, task, and none.
logGroup Property Map
A set of volume blocks that containers in your task may use.
memory String
The amount (in MiB) of memory used by the task. If not provided, a default will be computed based on the cumulative needs specified by [containerDefinitions]
networkMode Changes to this property will trigger replacement. String
Docker networking mode to use for the containers in the task. Valid values are none, bridge, awsvpc, and host.
pidMode Changes to this property will trigger replacement. String
Process namespace to use for the containers in the task. The valid values are host and task.
placementConstraints Changes to this property will trigger replacement. List<Property Map>
Configuration block for rules that are taken into consideration during task placement. Maximum number of placement_constraints is 10. Detailed below.
proxyConfiguration Changes to this property will trigger replacement. Property Map

Configuration block for the App Mesh proxy. Detailed below.

This type is defined in the AWS Classic package.

runtimePlatform Changes to this property will trigger replacement. Property Map

Configuration block for runtime_platform that containers in your task may use.

This type is defined in the AWS Classic package.

skipDestroy Boolean
Whether to retain the old revision when the resource is destroyed or replacement is necessary. Default is false.
tags Map<String>
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
taskRole Property Map
IAM role that allows your Amazon ECS container task to make calls to other AWS services. Will be created automatically if not defined.
trackLatest Boolean
Whether should track latest ACTIVE task definition on AWS or the one created with the resource stored in state. Default is false. Useful in the event the task definition is modified outside of this resource.
volumes Changes to this property will trigger replacement. List<Property Map>
Configuration block for volumes that containers in your task may use. Detailed below.

Outputs

All input properties are implicitly available as output properties. Additionally, the EC2TaskDefinition resource produces the following output properties:

LoadBalancers List<Pulumi.Aws.Ecs.Outputs.ServiceLoadBalancer>
Computed load balancers from target groups specified of container port mappings.
TaskDefinition Pulumi.Aws.Ecs.TaskDefinition
Underlying ECS Task Definition resource This type is defined in the AWS Classic package.
LoadBalancers ServiceLoadBalancer
Computed load balancers from target groups specified of container port mappings.
TaskDefinition TaskDefinition
Underlying ECS Task Definition resource This type is defined in the AWS Classic package.
loadBalancers List<ServiceLoadBalancer>
Computed load balancers from target groups specified of container port mappings.
taskDefinition TaskDefinition
Underlying ECS Task Definition resource This type is defined in the AWS Classic package.
loadBalancers pulumiAws.types.output.ServiceLoadBalancer[]
Computed load balancers from target groups specified of container port mappings.
taskDefinition pulumiAws.TaskDefinition
Underlying ECS Task Definition resource This type is defined in the AWS Classic package.
load_balancers Sequence[pulumi_aws.ecs.ServiceLoadBalancer]
Computed load balancers from target groups specified of container port mappings.
task_definition pulumi_aws.ecs.TaskDefinition
Underlying ECS Task Definition resource This type is defined in the AWS Classic package.
loadBalancers List<Property Map>
Computed load balancers from target groups specified of container port mappings.
taskDefinition aws::TaskDefinition
Underlying ECS Task Definition resource This type is defined in the AWS Classic package.

Supporting Types

DefaultLogGroup
, DefaultLogGroupArgs

Args Pulumi.Awsx.Awsx.Inputs.LogGroup
Arguments to use instead of the default values during creation.
Existing Pulumi.Awsx.Awsx.Inputs.ExistingLogGroup
Identity of an existing log group to use. Cannot be used in combination with args or opts.
Skip bool
Skip creation of the log group.
Args LogGroup
Arguments to use instead of the default values during creation.
Existing ExistingLogGroup
Identity of an existing log group to use. Cannot be used in combination with args or opts.
Skip bool
Skip creation of the log group.
args LogGroup
Arguments to use instead of the default values during creation.
existing ExistingLogGroup
Identity of an existing log group to use. Cannot be used in combination with args or opts.
skip Boolean
Skip creation of the log group.
args awsx.LogGroup
Arguments to use instead of the default values during creation.
existing awsx.ExistingLogGroup
Identity of an existing log group to use. Cannot be used in combination with args or opts.
skip boolean
Skip creation of the log group.
args awsx.LogGroup
Arguments to use instead of the default values during creation.
existing awsx.ExistingLogGroup
Identity of an existing log group to use. Cannot be used in combination with args or opts.
skip bool
Skip creation of the log group.
args Property Map
Arguments to use instead of the default values during creation.
existing Property Map
Identity of an existing log group to use. Cannot be used in combination with args or opts.
skip Boolean
Skip creation of the log group.

DefaultRoleWithPolicy
, DefaultRoleWithPolicyArgs

Args Pulumi.Awsx.Awsx.Inputs.RoleWithPolicy
Args to use when creating the role and policies. Can't be specified if roleArn is used.
RoleArn string
ARN of existing role to use instead of creating a new role. Cannot be used in combination with args or opts.
Skip bool
Skips creation of the role if set to true.
Args RoleWithPolicy
Args to use when creating the role and policies. Can't be specified if roleArn is used.
RoleArn string
ARN of existing role to use instead of creating a new role. Cannot be used in combination with args or opts.
Skip bool
Skips creation of the role if set to true.
args RoleWithPolicy
Args to use when creating the role and policies. Can't be specified if roleArn is used.
roleArn String
ARN of existing role to use instead of creating a new role. Cannot be used in combination with args or opts.
skip Boolean
Skips creation of the role if set to true.
args awsx.RoleWithPolicy
Args to use when creating the role and policies. Can't be specified if roleArn is used.
roleArn string
ARN of existing role to use instead of creating a new role. Cannot be used in combination with args or opts.
skip boolean
Skips creation of the role if set to true.
args awsx.RoleWithPolicy
Args to use when creating the role and policies. Can't be specified if roleArn is used.
role_arn str
ARN of existing role to use instead of creating a new role. Cannot be used in combination with args or opts.
skip bool
Skips creation of the role if set to true.
args Property Map
Args to use when creating the role and policies. Can't be specified if roleArn is used.
roleArn String
ARN of existing role to use instead of creating a new role. Cannot be used in combination with args or opts.
skip Boolean
Skips creation of the role if set to true.

ExistingLogGroup
, ExistingLogGroupArgs

Arn string
Arn of the log group. Only one of [arn] or [name] can be specified.
Name string
Name of the log group. Only one of [arn] or [name] can be specified.
Region string
Region of the log group. If not specified, the provider region will be used.
Arn string
Arn of the log group. Only one of [arn] or [name] can be specified.
Name string
Name of the log group. Only one of [arn] or [name] can be specified.
Region string
Region of the log group. If not specified, the provider region will be used.
arn String
Arn of the log group. Only one of [arn] or [name] can be specified.
name String
Name of the log group. Only one of [arn] or [name] can be specified.
region String
Region of the log group. If not specified, the provider region will be used.
arn string
Arn of the log group. Only one of [arn] or [name] can be specified.
name string
Name of the log group. Only one of [arn] or [name] can be specified.
region string
Region of the log group. If not specified, the provider region will be used.
arn str
Arn of the log group. Only one of [arn] or [name] can be specified.
name str
Name of the log group. Only one of [arn] or [name] can be specified.
region str
Region of the log group. If not specified, the provider region will be used.
arn String
Arn of the log group. Only one of [arn] or [name] can be specified.
name String
Name of the log group. Only one of [arn] or [name] can be specified.
region String
Region of the log group. If not specified, the provider region will be used.

LogGroup
, LogGroupArgs

KmsKeyId string
The ARN of the KMS Key to use when encrypting log data. Please note, after the AWS KMS CMK is disassociated from the log group, AWS CloudWatch Logs stops encrypting newly ingested data for the log group. All previously ingested data remains encrypted, and AWS CloudWatch Logs requires permissions for the CMK whenever the encrypted data is requested.
LogGroupClass Changes to this property will trigger replacement. string
Specified the log class of the log group. Possible values are: STANDARD or INFREQUENT_ACCESS.
Name Changes to this property will trigger replacement. string
The name of the log group. If omitted, this provider will assign a random, unique name.
NamePrefix Changes to this property will trigger replacement. string
Creates a unique name beginning with the specified prefix. Conflicts with name.
RetentionInDays int
Specifies the number of days you want to retain log events in the specified log group. Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1096, 1827, 2192, 2557, 2922, 3288, 3653, and 0. If you select 0, the events in the log group are always retained and never expire.
SkipDestroy bool
Set to true if you do not wish the log group (and any logs it may contain) to be deleted at destroy time, and instead just remove the log group from the state.
Tags Dictionary<string, string>
A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
KmsKeyId string
The ARN of the KMS Key to use when encrypting log data. Please note, after the AWS KMS CMK is disassociated from the log group, AWS CloudWatch Logs stops encrypting newly ingested data for the log group. All previously ingested data remains encrypted, and AWS CloudWatch Logs requires permissions for the CMK whenever the encrypted data is requested.
LogGroupClass Changes to this property will trigger replacement. string
Specified the log class of the log group. Possible values are: STANDARD or INFREQUENT_ACCESS.
Name Changes to this property will trigger replacement. string
The name of the log group. If omitted, this provider will assign a random, unique name.
NamePrefix Changes to this property will trigger replacement. string
Creates a unique name beginning with the specified prefix. Conflicts with name.
RetentionInDays int
Specifies the number of days you want to retain log events in the specified log group. Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1096, 1827, 2192, 2557, 2922, 3288, 3653, and 0. If you select 0, the events in the log group are always retained and never expire.
SkipDestroy bool
Set to true if you do not wish the log group (and any logs it may contain) to be deleted at destroy time, and instead just remove the log group from the state.
Tags map[string]string
A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
kmsKeyId String
The ARN of the KMS Key to use when encrypting log data. Please note, after the AWS KMS CMK is disassociated from the log group, AWS CloudWatch Logs stops encrypting newly ingested data for the log group. All previously ingested data remains encrypted, and AWS CloudWatch Logs requires permissions for the CMK whenever the encrypted data is requested.
logGroupClass Changes to this property will trigger replacement. String
Specified the log class of the log group. Possible values are: STANDARD or INFREQUENT_ACCESS.
name Changes to this property will trigger replacement. String
The name of the log group. If omitted, this provider will assign a random, unique name.
namePrefix Changes to this property will trigger replacement. String
Creates a unique name beginning with the specified prefix. Conflicts with name.
retentionInDays Integer
Specifies the number of days you want to retain log events in the specified log group. Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1096, 1827, 2192, 2557, 2922, 3288, 3653, and 0. If you select 0, the events in the log group are always retained and never expire.
skipDestroy Boolean
Set to true if you do not wish the log group (and any logs it may contain) to be deleted at destroy time, and instead just remove the log group from the state.
tags Map<String,String>
A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
kmsKeyId string
The ARN of the KMS Key to use when encrypting log data. Please note, after the AWS KMS CMK is disassociated from the log group, AWS CloudWatch Logs stops encrypting newly ingested data for the log group. All previously ingested data remains encrypted, and AWS CloudWatch Logs requires permissions for the CMK whenever the encrypted data is requested.
logGroupClass Changes to this property will trigger replacement. string
Specified the log class of the log group. Possible values are: STANDARD or INFREQUENT_ACCESS.
name Changes to this property will trigger replacement. string
The name of the log group. If omitted, this provider will assign a random, unique name.
namePrefix Changes to this property will trigger replacement. string
Creates a unique name beginning with the specified prefix. Conflicts with name.
retentionInDays number
Specifies the number of days you want to retain log events in the specified log group. Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1096, 1827, 2192, 2557, 2922, 3288, 3653, and 0. If you select 0, the events in the log group are always retained and never expire.
skipDestroy boolean
Set to true if you do not wish the log group (and any logs it may contain) to be deleted at destroy time, and instead just remove the log group from the state.
tags {[key: string]: string}
A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
kms_key_id str
The ARN of the KMS Key to use when encrypting log data. Please note, after the AWS KMS CMK is disassociated from the log group, AWS CloudWatch Logs stops encrypting newly ingested data for the log group. All previously ingested data remains encrypted, and AWS CloudWatch Logs requires permissions for the CMK whenever the encrypted data is requested.
log_group_class Changes to this property will trigger replacement. str
Specified the log class of the log group. Possible values are: STANDARD or INFREQUENT_ACCESS.
name Changes to this property will trigger replacement. str
The name of the log group. If omitted, this provider will assign a random, unique name.
name_prefix Changes to this property will trigger replacement. str
Creates a unique name beginning with the specified prefix. Conflicts with name.
retention_in_days int
Specifies the number of days you want to retain log events in the specified log group. Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1096, 1827, 2192, 2557, 2922, 3288, 3653, and 0. If you select 0, the events in the log group are always retained and never expire.
skip_destroy bool
Set to true if you do not wish the log group (and any logs it may contain) to be deleted at destroy time, and instead just remove the log group from the state.
tags Mapping[str, str]
A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
kmsKeyId String
The ARN of the KMS Key to use when encrypting log data. Please note, after the AWS KMS CMK is disassociated from the log group, AWS CloudWatch Logs stops encrypting newly ingested data for the log group. All previously ingested data remains encrypted, and AWS CloudWatch Logs requires permissions for the CMK whenever the encrypted data is requested.
logGroupClass Changes to this property will trigger replacement. String
Specified the log class of the log group. Possible values are: STANDARD or INFREQUENT_ACCESS.
name Changes to this property will trigger replacement. String
The name of the log group. If omitted, this provider will assign a random, unique name.
namePrefix Changes to this property will trigger replacement. String
Creates a unique name beginning with the specified prefix. Conflicts with name.
retentionInDays Number
Specifies the number of days you want to retain log events in the specified log group. Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1096, 1827, 2192, 2557, 2922, 3288, 3653, and 0. If you select 0, the events in the log group are always retained and never expire.
skipDestroy Boolean
Set to true if you do not wish the log group (and any logs it may contain) to be deleted at destroy time, and instead just remove the log group from the state.
tags Map<String>
A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

RoleWithPolicy
, RoleWithPolicyArgs

Description string
Description of the role.
ForceDetachPolicies bool
Whether to force detaching any policies the role has before destroying it. Defaults to false.
InlinePolicies List<Pulumi.Aws.Iam.Inputs.RoleInlinePolicy>
Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, Pulumi will not manage any inline policies in this resource. Configuring one empty block (i.e., inline_policy {}) will cause Pulumi to remove all inline policies added out of band on apply.
ManagedPolicyArns List<string>
Set of exclusive IAM managed policy ARNs to attach to the IAM role. If this attribute is not configured, Pulumi will ignore policy attachments to this resource. When configured, Pulumi will align the role's managed policy attachments with this set by attaching or detaching managed policies. Configuring an empty set (i.e., managed_policy_arns = []) will cause Pulumi to remove all managed policy attachments.
MaxSessionDuration int
Maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours.
Name Changes to this property will trigger replacement. string
Friendly name of the role. If omitted, the provider will assign a random, unique name. See IAM Identifiers for more information.
NamePrefix Changes to this property will trigger replacement. string
Creates a unique friendly name beginning with the specified prefix. Conflicts with name.
Path Changes to this property will trigger replacement. string
Path to the role. See IAM Identifiers for more information.
PermissionsBoundary string
ARN of the policy that is used to set the permissions boundary for the role.
PolicyArns List<string>
ARNs of the policies to attach to the created role.
Tags Dictionary<string, string>
Key-value mapping of tags for the IAM role. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
Description string
Description of the role.
ForceDetachPolicies bool
Whether to force detaching any policies the role has before destroying it. Defaults to false.
InlinePolicies RoleInlinePolicy
Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, Pulumi will not manage any inline policies in this resource. Configuring one empty block (i.e., inline_policy {}) will cause Pulumi to remove all inline policies added out of band on apply.
ManagedPolicyArns []string
Set of exclusive IAM managed policy ARNs to attach to the IAM role. If this attribute is not configured, Pulumi will ignore policy attachments to this resource. When configured, Pulumi will align the role's managed policy attachments with this set by attaching or detaching managed policies. Configuring an empty set (i.e., managed_policy_arns = []) will cause Pulumi to remove all managed policy attachments.
MaxSessionDuration int
Maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours.
Name Changes to this property will trigger replacement. string
Friendly name of the role. If omitted, the provider will assign a random, unique name. See IAM Identifiers for more information.
NamePrefix Changes to this property will trigger replacement. string
Creates a unique friendly name beginning with the specified prefix. Conflicts with name.
Path Changes to this property will trigger replacement. string
Path to the role. See IAM Identifiers for more information.
PermissionsBoundary string
ARN of the policy that is used to set the permissions boundary for the role.
PolicyArns []string
ARNs of the policies to attach to the created role.
Tags map[string]string
Key-value mapping of tags for the IAM role. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
description String
Description of the role.
forceDetachPolicies Boolean
Whether to force detaching any policies the role has before destroying it. Defaults to false.
inlinePolicies List<RoleInlinePolicy>
Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, Pulumi will not manage any inline policies in this resource. Configuring one empty block (i.e., inline_policy {}) will cause Pulumi to remove all inline policies added out of band on apply.
managedPolicyArns List<String>
Set of exclusive IAM managed policy ARNs to attach to the IAM role. If this attribute is not configured, Pulumi will ignore policy attachments to this resource. When configured, Pulumi will align the role's managed policy attachments with this set by attaching or detaching managed policies. Configuring an empty set (i.e., managed_policy_arns = []) will cause Pulumi to remove all managed policy attachments.
maxSessionDuration Integer
Maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours.
name Changes to this property will trigger replacement. String
Friendly name of the role. If omitted, the provider will assign a random, unique name. See IAM Identifiers for more information.
namePrefix Changes to this property will trigger replacement. String
Creates a unique friendly name beginning with the specified prefix. Conflicts with name.
path Changes to this property will trigger replacement. String
Path to the role. See IAM Identifiers for more information.
permissionsBoundary String
ARN of the policy that is used to set the permissions boundary for the role.
policyArns List<String>
ARNs of the policies to attach to the created role.
tags Map<String,String>
Key-value mapping of tags for the IAM role. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
description string
Description of the role.
forceDetachPolicies boolean
Whether to force detaching any policies the role has before destroying it. Defaults to false.
inlinePolicies pulumiAws.types.input.iam.RoleInlinePolicy[]
Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, Pulumi will not manage any inline policies in this resource. Configuring one empty block (i.e., inline_policy {}) will cause Pulumi to remove all inline policies added out of band on apply.
managedPolicyArns string[]
Set of exclusive IAM managed policy ARNs to attach to the IAM role. If this attribute is not configured, Pulumi will ignore policy attachments to this resource. When configured, Pulumi will align the role's managed policy attachments with this set by attaching or detaching managed policies. Configuring an empty set (i.e., managed_policy_arns = []) will cause Pulumi to remove all managed policy attachments.
maxSessionDuration number
Maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours.
name Changes to this property will trigger replacement. string
Friendly name of the role. If omitted, the provider will assign a random, unique name. See IAM Identifiers for more information.
namePrefix Changes to this property will trigger replacement. string
Creates a unique friendly name beginning with the specified prefix. Conflicts with name.
path Changes to this property will trigger replacement. string
Path to the role. See IAM Identifiers for more information.
permissionsBoundary string
ARN of the policy that is used to set the permissions boundary for the role.
policyArns string[]
ARNs of the policies to attach to the created role.
tags {[key: string]: string}
Key-value mapping of tags for the IAM role. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
description str
Description of the role.
force_detach_policies bool
Whether to force detaching any policies the role has before destroying it. Defaults to false.
inline_policies Sequence[pulumi_aws.iam.RoleInlinePolicyArgs]
Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, Pulumi will not manage any inline policies in this resource. Configuring one empty block (i.e., inline_policy {}) will cause Pulumi to remove all inline policies added out of band on apply.
managed_policy_arns Sequence[str]
Set of exclusive IAM managed policy ARNs to attach to the IAM role. If this attribute is not configured, Pulumi will ignore policy attachments to this resource. When configured, Pulumi will align the role's managed policy attachments with this set by attaching or detaching managed policies. Configuring an empty set (i.e., managed_policy_arns = []) will cause Pulumi to remove all managed policy attachments.
max_session_duration int
Maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours.
name Changes to this property will trigger replacement. str
Friendly name of the role. If omitted, the provider will assign a random, unique name. See IAM Identifiers for more information.
name_prefix Changes to this property will trigger replacement. str
Creates a unique friendly name beginning with the specified prefix. Conflicts with name.
path Changes to this property will trigger replacement. str
Path to the role. See IAM Identifiers for more information.
permissions_boundary str
ARN of the policy that is used to set the permissions boundary for the role.
policy_arns Sequence[str]
ARNs of the policies to attach to the created role.
tags Mapping[str, str]
Key-value mapping of tags for the IAM role. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
description String
Description of the role.
forceDetachPolicies Boolean
Whether to force detaching any policies the role has before destroying it. Defaults to false.
inlinePolicies List<Property Map>
Configuration block defining an exclusive set of IAM inline policies associated with the IAM role. See below. If no blocks are configured, Pulumi will not manage any inline policies in this resource. Configuring one empty block (i.e., inline_policy {}) will cause Pulumi to remove all inline policies added out of band on apply.
managedPolicyArns List<String>
Set of exclusive IAM managed policy ARNs to attach to the IAM role. If this attribute is not configured, Pulumi will ignore policy attachments to this resource. When configured, Pulumi will align the role's managed policy attachments with this set by attaching or detaching managed policies. Configuring an empty set (i.e., managed_policy_arns = []) will cause Pulumi to remove all managed policy attachments.
maxSessionDuration Number
Maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours.
name Changes to this property will trigger replacement. String
Friendly name of the role. If omitted, the provider will assign a random, unique name. See IAM Identifiers for more information.
namePrefix Changes to this property will trigger replacement. String
Creates a unique friendly name beginning with the specified prefix. Conflicts with name.
path Changes to this property will trigger replacement. String
Path to the role. See IAM Identifiers for more information.
permissionsBoundary String
ARN of the policy that is used to set the permissions boundary for the role.
policyArns List<String>
ARNs of the policies to attach to the created role.
tags Map<String>
Key-value mapping of tags for the IAM role. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

TaskDefinitionContainerDefinition
, TaskDefinitionContainerDefinitionArgs

Image This property is required. string
The image used to start a container. This string is passed directly to the Docker daemon.
Name This property is required. string
The name of a container. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed
Command List<string>
Cpu int
DependsOn List<TaskDefinitionContainerDependency>
DisableNetworking bool
DnsSearchDomains List<string>
DnsServers List<string>
DockerLabels object
DockerSecurityOptions List<string>
EntryPoint List<string>
Environment List<TaskDefinitionKeyValuePair>
The environment variables to pass to a container
EnvironmentFiles List<TaskDefinitionEnvironmentFile>
The list of one or more files that contain the environment variables to pass to a container
Essential bool
ExtraHosts List<TaskDefinitionHostEntry>
FirelensConfiguration TaskDefinitionFirelensConfiguration
HealthCheck TaskDefinitionHealthCheck
Hostname string
Interactive bool
Links List<string>
LinuxParameters TaskDefinitionLinuxParameters
LogConfiguration TaskDefinitionLogConfiguration
Memory int
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.
MemoryReservation int
MountPoints List<TaskDefinitionMountPoint>
PortMappings List<TaskDefinitionPortMapping>
Port mappings allow containers to access ports on the host container instance to send or receive traffic.
Privileged bool
PseudoTerminal bool
ReadonlyRootFilesystem bool
RepositoryCredentials TaskDefinitionRepositoryCredentials
ResourceRequirements List<TaskDefinitionResourceRequirement>
Secrets List<TaskDefinitionSecret>
StartTimeout int
StopTimeout int
SystemControls List<TaskDefinitionSystemControl>
Ulimits List<TaskDefinitionUlimit>
User string
VolumesFrom List<TaskDefinitionVolumeFrom>
WorkingDirectory string
Image This property is required. string
The image used to start a container. This string is passed directly to the Docker daemon.
Name This property is required. string
The name of a container. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed
Command []string
Cpu int
DependsOn []TaskDefinitionContainerDependency
DisableNetworking bool
DnsSearchDomains []string
DnsServers []string
DockerLabels interface{}
DockerSecurityOptions []string
EntryPoint []string
Environment []TaskDefinitionKeyValuePair
The environment variables to pass to a container
EnvironmentFiles []TaskDefinitionEnvironmentFile
The list of one or more files that contain the environment variables to pass to a container
Essential bool
ExtraHosts []TaskDefinitionHostEntry
FirelensConfiguration TaskDefinitionFirelensConfiguration
HealthCheck TaskDefinitionHealthCheck
Hostname string
Interactive bool
Links []string
LinuxParameters TaskDefinitionLinuxParameters
LogConfiguration TaskDefinitionLogConfiguration
Memory int
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.
MemoryReservation int
MountPoints []TaskDefinitionMountPoint
PortMappings []TaskDefinitionPortMapping
Port mappings allow containers to access ports on the host container instance to send or receive traffic.
Privileged bool
PseudoTerminal bool
ReadonlyRootFilesystem bool
RepositoryCredentials TaskDefinitionRepositoryCredentials
ResourceRequirements []TaskDefinitionResourceRequirement
Secrets []TaskDefinitionSecret
StartTimeout int
StopTimeout int
SystemControls []TaskDefinitionSystemControl
Ulimits []TaskDefinitionUlimit
User string
VolumesFrom []TaskDefinitionVolumeFrom
WorkingDirectory string
image This property is required. String
The image used to start a container. This string is passed directly to the Docker daemon.
name This property is required. String
The name of a container. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed
command List<String>
cpu Integer
dependsOn List<TaskDefinitionContainerDependency>
disableNetworking Boolean
dnsSearchDomains List<String>
dnsServers List<String>
dockerLabels Object
dockerSecurityOptions List<String>
entryPoint List<String>
environment List<TaskDefinitionKeyValuePair>
The environment variables to pass to a container
environmentFiles List<TaskDefinitionEnvironmentFile>
The list of one or more files that contain the environment variables to pass to a container
essential Boolean
extraHosts List<TaskDefinitionHostEntry>
firelensConfiguration TaskDefinitionFirelensConfiguration
healthCheck TaskDefinitionHealthCheck
hostname String
interactive Boolean
links List<String>
linuxParameters TaskDefinitionLinuxParameters
logConfiguration TaskDefinitionLogConfiguration
memory Integer
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.
memoryReservation Integer
mountPoints List<TaskDefinitionMountPoint>
portMappings List<TaskDefinitionPortMapping>
Port mappings allow containers to access ports on the host container instance to send or receive traffic.
privileged Boolean
pseudoTerminal Boolean
readonlyRootFilesystem Boolean
repositoryCredentials TaskDefinitionRepositoryCredentials
resourceRequirements List<TaskDefinitionResourceRequirement>
secrets List<TaskDefinitionSecret>
startTimeout Integer
stopTimeout Integer
systemControls List<TaskDefinitionSystemControl>
ulimits List<TaskDefinitionUlimit>
user String
volumesFrom List<TaskDefinitionVolumeFrom>
workingDirectory String
image This property is required. string
The image used to start a container. This string is passed directly to the Docker daemon.
name This property is required. string
The name of a container. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed
command string[]
cpu number
dependsOn TaskDefinitionContainerDependency[]
disableNetworking boolean
dnsSearchDomains string[]
dnsServers string[]
dockerLabels any
dockerSecurityOptions string[]
entryPoint string[]
environment TaskDefinitionKeyValuePair[]
The environment variables to pass to a container
environmentFiles TaskDefinitionEnvironmentFile[]
The list of one or more files that contain the environment variables to pass to a container
essential boolean
extraHosts TaskDefinitionHostEntry[]
firelensConfiguration TaskDefinitionFirelensConfiguration
healthCheck TaskDefinitionHealthCheck
hostname string
interactive boolean
links string[]
linuxParameters TaskDefinitionLinuxParameters
logConfiguration TaskDefinitionLogConfiguration
memory number
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.
memoryReservation number
mountPoints TaskDefinitionMountPoint[]
portMappings TaskDefinitionPortMapping[]
Port mappings allow containers to access ports on the host container instance to send or receive traffic.
privileged boolean
pseudoTerminal boolean
readonlyRootFilesystem boolean
repositoryCredentials TaskDefinitionRepositoryCredentials
resourceRequirements TaskDefinitionResourceRequirement[]
secrets TaskDefinitionSecret[]
startTimeout number
stopTimeout number
systemControls TaskDefinitionSystemControl[]
ulimits TaskDefinitionUlimit[]
user string
volumesFrom TaskDefinitionVolumeFrom[]
workingDirectory string
image This property is required. str
The image used to start a container. This string is passed directly to the Docker daemon.
name This property is required. str
The name of a container. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed
command Sequence[str]
cpu int
depends_on Sequence[TaskDefinitionContainerDependency]
disable_networking bool
dns_search_domains Sequence[str]
dns_servers Sequence[str]
docker_labels Any
docker_security_options Sequence[str]
entry_point Sequence[str]
environment Sequence[TaskDefinitionKeyValuePair]
The environment variables to pass to a container
environment_files Sequence[TaskDefinitionEnvironmentFile]
The list of one or more files that contain the environment variables to pass to a container
essential bool
extra_hosts Sequence[TaskDefinitionHostEntry]
firelens_configuration TaskDefinitionFirelensConfiguration
health_check TaskDefinitionHealthCheck
hostname str
interactive bool
links Sequence[str]
linux_parameters TaskDefinitionLinuxParameters
log_configuration TaskDefinitionLogConfiguration
memory int
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.
memory_reservation int
mount_points Sequence[TaskDefinitionMountPoint]
port_mappings Sequence[TaskDefinitionPortMapping]
Port mappings allow containers to access ports on the host container instance to send or receive traffic.
privileged bool
pseudo_terminal bool
readonly_root_filesystem bool
repository_credentials TaskDefinitionRepositoryCredentials
resource_requirements Sequence[TaskDefinitionResourceRequirement]
secrets Sequence[TaskDefinitionSecret]
start_timeout int
stop_timeout int
system_controls Sequence[TaskDefinitionSystemControl]
ulimits Sequence[TaskDefinitionUlimit]
user str
volumes_from Sequence[TaskDefinitionVolumeFrom]
working_directory str
image This property is required. String
The image used to start a container. This string is passed directly to the Docker daemon.
name This property is required. String
The name of a container. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed
command List<String>
cpu Number
dependsOn List<Property Map>
disableNetworking Boolean
dnsSearchDomains List<String>
dnsServers List<String>
dockerLabels Any
dockerSecurityOptions List<String>
entryPoint List<String>
environment List<Property Map>
The environment variables to pass to a container
environmentFiles List<Property Map>
The list of one or more files that contain the environment variables to pass to a container
essential Boolean
extraHosts List<Property Map>
firelensConfiguration Property Map
healthCheck Property Map
hostname String
interactive Boolean
links List<String>
linuxParameters Property Map
logConfiguration Property Map
memory Number
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.
memoryReservation Number
mountPoints List<Property Map>
portMappings List<Property Map>
Port mappings allow containers to access ports on the host container instance to send or receive traffic.
privileged Boolean
pseudoTerminal Boolean
readonlyRootFilesystem Boolean
repositoryCredentials Property Map
resourceRequirements List<Property Map>
secrets List<Property Map>
startTimeout Number
stopTimeout Number
systemControls List<Property Map>
ulimits List<Property Map>
user String
volumesFrom List<Property Map>
workingDirectory String

TaskDefinitionContainerDependency
, TaskDefinitionContainerDependencyArgs

TaskDefinitionDevice
, TaskDefinitionDeviceArgs

ContainerPath string
HostPath string
Permissions List<string>
ContainerPath string
HostPath string
Permissions []string
containerPath String
hostPath String
permissions List<String>
containerPath string
hostPath string
permissions string[]
containerPath String
hostPath String
permissions List<String>

TaskDefinitionEnvironmentFile
, TaskDefinitionEnvironmentFileArgs

Type string
Value string
Type string
Value string
type String
value String
type string
value string
type str
value str
type String
value String

TaskDefinitionFirelensConfiguration
, TaskDefinitionFirelensConfigurationArgs

Options object
Type string
Options interface{}
Type string
options Object
type String
options any
type string
options Any
type str
options Any
type String

TaskDefinitionHealthCheck
, TaskDefinitionHealthCheckArgs

Command List<string>
A string array representing the command that the container runs to determine if it is healthy.
Interval int
The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.
Retries int
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.
StartPeriod int
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.
Timeout int
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.
Command []string
A string array representing the command that the container runs to determine if it is healthy.
Interval int
The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.
Retries int
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.
StartPeriod int
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.
Timeout int
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.
command List<String>
A string array representing the command that the container runs to determine if it is healthy.
interval Integer
The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.
retries Integer
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.
startPeriod Integer
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.
timeout Integer
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.
command string[]
A string array representing the command that the container runs to determine if it is healthy.
interval number
The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.
retries number
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.
startPeriod number
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.
timeout number
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.
command Sequence[str]
A string array representing the command that the container runs to determine if it is healthy.
interval int
The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.
retries int
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.
start_period int
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.
timeout int
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.
command List<String>
A string array representing the command that the container runs to determine if it is healthy.
interval Number
The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.
retries Number
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.
startPeriod Number
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.
timeout Number
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.

TaskDefinitionHostEntry
, TaskDefinitionHostEntryArgs

Hostname string
IpAddress string
Hostname string
IpAddress string
hostname String
ipAddress String
hostname string
ipAddress string
hostname String
ipAddress String

TaskDefinitionKernelCapabilities
, TaskDefinitionKernelCapabilitiesArgs

Add List<string>
Drop List<string>
Add []string
Drop []string
add List<String>
drop List<String>
add string[]
drop string[]
add Sequence[str]
drop Sequence[str]
add List<String>
drop List<String>

TaskDefinitionKeyValuePair
, TaskDefinitionKeyValuePairArgs

Name string
Value string
Name string
Value string
name String
value String
name string
value string
name str
value str
name String
value String

TaskDefinitionLinuxParameters
, TaskDefinitionLinuxParametersArgs

TaskDefinitionLogConfiguration
, TaskDefinitionLogConfigurationArgs

LogDriver This property is required. string
Options object
SecretOptions List<TaskDefinitionSecret>
LogDriver This property is required. string
Options interface{}
SecretOptions []TaskDefinitionSecret
logDriver This property is required. String
options Object
secretOptions List<TaskDefinitionSecret>
logDriver This property is required. string
options any
secretOptions TaskDefinitionSecret[]
logDriver This property is required. String
options Any
secretOptions List<Property Map>

TaskDefinitionMountPoint
, TaskDefinitionMountPointArgs

containerPath String
readOnly Boolean
sourceVolume String
containerPath string
readOnly boolean
sourceVolume string
containerPath String
readOnly Boolean
sourceVolume String

TaskDefinitionPortMapping
, TaskDefinitionPortMappingArgs

AppProtocol Pulumi.Awsx.Ecs.TaskDefinitionPortMappingAppProtocol
ContainerPort int
ContainerPortRange string
HostPort int
Name string
Protocol string
TargetGroup Pulumi.Aws.LB.TargetGroup
This type is defined in the AWS Classic package.
appProtocol TaskDefinitionPortMappingAppProtocol
containerPort Integer
containerPortRange String
hostPort Integer
name String
protocol String
targetGroup TargetGroup
This type is defined in the AWS Classic package.
appProtocol TaskDefinitionPortMappingAppProtocol
containerPort number
containerPortRange string
hostPort number
name string
protocol string
targetGroup pulumiAws.lb.TargetGroup
This type is defined in the AWS Classic package.
app_protocol TaskDefinitionPortMappingAppProtocol
container_port int
container_port_range str
host_port int
name str
protocol str
target_group pulumi_aws.lb.TargetGroup
This type is defined in the AWS Classic package.
appProtocol "http" | "http2" | "grpc"
containerPort Number
containerPortRange String
hostPort Number
name String
protocol String
targetGroup aws:lb:TargetGroup
This type is defined in the AWS Classic package.

TaskDefinitionPortMappingAppProtocol
, TaskDefinitionPortMappingAppProtocolArgs

Http
http
Http2
http2
Grpc
grpc
TaskDefinitionPortMappingAppProtocolHttp
http
TaskDefinitionPortMappingAppProtocolHttp2
http2
TaskDefinitionPortMappingAppProtocolGrpc
grpc
Http
http
Http2
http2
Grpc
grpc
Http
http
Http2
http2
Grpc
grpc
HTTP
http
HTTP2
http2
GRPC
grpc
"http"
http
"http2"
http2
"grpc"
grpc

TaskDefinitionRepositoryCredentials
, TaskDefinitionRepositoryCredentialsArgs

TaskDefinitionResourceRequirement
, TaskDefinitionResourceRequirementArgs

Type This property is required. string
Value This property is required. string
Type This property is required. string
Value This property is required. string
type This property is required. String
value This property is required. String
type This property is required. string
value This property is required. string
type This property is required. str
value This property is required. str
type This property is required. String
value This property is required. String

TaskDefinitionSecret
, TaskDefinitionSecretArgs

Name This property is required. string
ValueFrom This property is required. string
Name This property is required. string
ValueFrom This property is required. string
name This property is required. String
valueFrom This property is required. String
name This property is required. string
valueFrom This property is required. string
name This property is required. str
value_from This property is required. str
name This property is required. String
valueFrom This property is required. String

TaskDefinitionSystemControl
, TaskDefinitionSystemControlArgs

Namespace string
Value string
Namespace string
Value string
namespace String
value String
namespace string
value string
namespace String
value String

TaskDefinitionTmpfs
, TaskDefinitionTmpfsArgs

Size This property is required. int
ContainerPath string
MountOptions List<string>
Size This property is required. int
ContainerPath string
MountOptions []string
size This property is required. Integer
containerPath String
mountOptions List<String>
size This property is required. number
containerPath string
mountOptions string[]
size This property is required. int
container_path str
mount_options Sequence[str]
size This property is required. Number
containerPath String
mountOptions List<String>

TaskDefinitionUlimit
, TaskDefinitionUlimitArgs

HardLimit This property is required. int
Name This property is required. string
SoftLimit This property is required. int
HardLimit This property is required. int
Name This property is required. string
SoftLimit This property is required. int
hardLimit This property is required. Integer
name This property is required. String
softLimit This property is required. Integer
hardLimit This property is required. number
name This property is required. string
softLimit This property is required. number
hard_limit This property is required. int
name This property is required. str
soft_limit This property is required. int
hardLimit This property is required. Number
name This property is required. String
softLimit This property is required. Number

TaskDefinitionVolumeFrom
, TaskDefinitionVolumeFromArgs

Package Details

Repository
AWSx (Pulumi Crosswalk for AWS) pulumi/pulumi-awsx
License
Apache-2.0