1. Packages
  2. AWSx (Pulumi Crosswalk for AWS)
  3. API Docs
  4. ecs
  5. EC2TaskDefinition
AWSx (Pulumi Crosswalk for AWS) v2.7.0 published on Wednesday, Apr 10, 2024 by Pulumi

awsx.ecs.EC2TaskDefinition

Explore with Pulumi AI

awsx logo
AWSx (Pulumi Crosswalk for AWS) v2.7.0 published on Wednesday, Apr 10, 2024 by Pulumi

    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?: CustomResourceOptions);
    @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,
                          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, CustomResourceOptions? opts = null)
    public EC2TaskDefinition(String name, EC2TaskDefinitionArgs args)
    public EC2TaskDefinition(String name, EC2TaskDefinitionArgs args, CustomResourceOptions options)
    
    type: awsx:ecs:EC2TaskDefinition
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args EC2TaskDefinitionArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name 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 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 string
    The unique name of the resource.
    args EC2TaskDefinitionArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args EC2TaskDefinitionArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    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",
                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,
        },
        Volumes = new[]
        {
            new Aws.Ecs.Inputs.TaskDefinitionVolumeArgs
            {
                Name = "string",
                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",
            },
        },
    });
    
    Coming soon!
    
    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")
                .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())
        .volumes(TaskDefinitionVolumeArgs.builder()
            .name("string")
            .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());
    
    ec2task_definition_resource = awsx.ecs.EC2TaskDefinition("ec2taskDefinitionResource",
        container=awsx.ecs.TaskDefinitionContainerDefinitionArgs(
            image="string",
            name="string",
            links=["string"],
            volumes_from=[awsx.ecs.TaskDefinitionVolumeFromArgs(
                read_only=False,
                source_container="string",
            )],
            dns_search_domains=["string"],
            log_configuration=awsx.ecs.TaskDefinitionLogConfigurationArgs(
                log_driver="string",
                options="any",
                secret_options=[awsx.ecs.TaskDefinitionSecretArgs(
                    name="string",
                    value_from="string",
                )],
            ),
            docker_labels="any",
            docker_security_options=["string"],
            entry_point=["string"],
            environment=[awsx.ecs.TaskDefinitionKeyValuePairArgs(
                name="string",
                value="string",
            )],
            environment_files=[awsx.ecs.TaskDefinitionEnvironmentFileArgs(
                type="string",
                value="string",
            )],
            essential=False,
            extra_hosts=[awsx.ecs.TaskDefinitionHostEntryArgs(
                hostname="string",
                ip_address="string",
            )],
            firelens_configuration=awsx.ecs.TaskDefinitionFirelensConfigurationArgs(
                options="any",
                type="string",
            ),
            health_check=awsx.ecs.TaskDefinitionHealthCheckArgs(
                command=["string"],
                interval=0,
                retries=0,
                start_period=0,
                timeout=0,
            ),
            hostname="string",
            depends_on=[awsx.ecs.TaskDefinitionContainerDependencyArgs(
                condition="string",
                container_name="string",
            )],
            interactive=False,
            command=["string"],
            linux_parameters=awsx.ecs.TaskDefinitionLinuxParametersArgs(
                capabilities=awsx.ecs.TaskDefinitionKernelCapabilitiesArgs(
                    add=["string"],
                    drop=["string"],
                ),
                devices=[awsx.ecs.TaskDefinitionDeviceArgs(
                    container_path="string",
                    host_path="string",
                    permissions=["string"],
                )],
                init_process_enabled=False,
                max_swap=0,
                shared_memory_size=0,
                swappiness=0,
                tmpfs=[awsx.ecs.TaskDefinitionTmpfsArgs(
                    size=0,
                    container_path="string",
                    mount_options=["string"],
                )],
            ),
            dns_servers=["string"],
            disable_networking=False,
            mount_points=[awsx.ecs.TaskDefinitionMountPointArgs(
                container_path="string",
                read_only=False,
                source_volume="string",
            )],
            memory_reservation=0,
            cpu=0,
            port_mappings=[awsx.ecs.TaskDefinitionPortMappingArgs(
                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=awsx.ecs.TaskDefinitionRepositoryCredentialsArgs(
                credentials_parameter="string",
            ),
            resource_requirements=[awsx.ecs.TaskDefinitionResourceRequirementArgs(
                type="string",
                value="string",
            )],
            secrets=[awsx.ecs.TaskDefinitionSecretArgs(
                name="string",
                value_from="string",
            )],
            start_timeout=0,
            stop_timeout=0,
            system_controls=[awsx.ecs.TaskDefinitionSystemControlArgs(
                namespace="string",
                value="string",
            )],
            ulimits=[awsx.ecs.TaskDefinitionUlimitArgs(
                hard_limit=0,
                name="string",
                soft_limit=0,
            )],
            user="string",
            memory=0,
            working_directory="string",
        ),
        containers={
            "string": awsx.ecs.TaskDefinitionContainerDefinitionArgs(
                image="string",
                name="string",
                links=["string"],
                volumes_from=[awsx.ecs.TaskDefinitionVolumeFromArgs(
                    read_only=False,
                    source_container="string",
                )],
                dns_search_domains=["string"],
                log_configuration=awsx.ecs.TaskDefinitionLogConfigurationArgs(
                    log_driver="string",
                    options="any",
                    secret_options=[awsx.ecs.TaskDefinitionSecretArgs(
                        name="string",
                        value_from="string",
                    )],
                ),
                docker_labels="any",
                docker_security_options=["string"],
                entry_point=["string"],
                environment=[awsx.ecs.TaskDefinitionKeyValuePairArgs(
                    name="string",
                    value="string",
                )],
                environment_files=[awsx.ecs.TaskDefinitionEnvironmentFileArgs(
                    type="string",
                    value="string",
                )],
                essential=False,
                extra_hosts=[awsx.ecs.TaskDefinitionHostEntryArgs(
                    hostname="string",
                    ip_address="string",
                )],
                firelens_configuration=awsx.ecs.TaskDefinitionFirelensConfigurationArgs(
                    options="any",
                    type="string",
                ),
                health_check=awsx.ecs.TaskDefinitionHealthCheckArgs(
                    command=["string"],
                    interval=0,
                    retries=0,
                    start_period=0,
                    timeout=0,
                ),
                hostname="string",
                depends_on=[awsx.ecs.TaskDefinitionContainerDependencyArgs(
                    condition="string",
                    container_name="string",
                )],
                interactive=False,
                command=["string"],
                linux_parameters=awsx.ecs.TaskDefinitionLinuxParametersArgs(
                    capabilities=awsx.ecs.TaskDefinitionKernelCapabilitiesArgs(
                        add=["string"],
                        drop=["string"],
                    ),
                    devices=[awsx.ecs.TaskDefinitionDeviceArgs(
                        container_path="string",
                        host_path="string",
                        permissions=["string"],
                    )],
                    init_process_enabled=False,
                    max_swap=0,
                    shared_memory_size=0,
                    swappiness=0,
                    tmpfs=[awsx.ecs.TaskDefinitionTmpfsArgs(
                        size=0,
                        container_path="string",
                        mount_options=["string"],
                    )],
                ),
                dns_servers=["string"],
                disable_networking=False,
                mount_points=[awsx.ecs.TaskDefinitionMountPointArgs(
                    container_path="string",
                    read_only=False,
                    source_volume="string",
                )],
                memory_reservation=0,
                cpu=0,
                port_mappings=[awsx.ecs.TaskDefinitionPortMappingArgs(
                    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=awsx.ecs.TaskDefinitionRepositoryCredentialsArgs(
                    credentials_parameter="string",
                ),
                resource_requirements=[awsx.ecs.TaskDefinitionResourceRequirementArgs(
                    type="string",
                    value="string",
                )],
                secrets=[awsx.ecs.TaskDefinitionSecretArgs(
                    name="string",
                    value_from="string",
                )],
                start_timeout=0,
                stop_timeout=0,
                system_controls=[awsx.ecs.TaskDefinitionSystemControlArgs(
                    namespace="string",
                    value="string",
                )],
                ulimits=[awsx.ecs.TaskDefinitionUlimitArgs(
                    hard_limit=0,
                    name="string",
                    soft_limit=0,
                )],
                user="string",
                memory=0,
                working_directory="string",
            ),
        },
        cpu="string",
        ephemeral_storage=aws.ecs.TaskDefinitionEphemeralStorageArgs(
            size_in_gib=0,
        ),
        execution_role=awsx.awsx.DefaultRoleWithPolicyArgs(
            args=awsx.awsx.RoleWithPolicyArgs(
                description="string",
                force_detach_policies=False,
                inline_policies=[aws.iam.RoleInlinePolicyArgs(
                    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=[aws.ecs.TaskDefinitionInferenceAcceleratorArgs(
            device_name="string",
            device_type="string",
        )],
        ipc_mode="string",
        log_group=awsx.awsx.DefaultLogGroupArgs(
            args=awsx.awsx.LogGroupArgs(
                kms_key_id="string",
                name="string",
                name_prefix="string",
                retention_in_days=0,
                skip_destroy=False,
                tags={
                    "string": "string",
                },
            ),
            existing=awsx.awsx.ExistingLogGroupArgs(
                arn="string",
                name="string",
                region="string",
            ),
            skip=False,
        ),
        memory="string",
        network_mode="string",
        pid_mode="string",
        placement_constraints=[aws.ecs.TaskDefinitionPlacementConstraintArgs(
            type="string",
            expression="string",
        )],
        proxy_configuration=aws.ecs.TaskDefinitionProxyConfigurationArgs(
            container_name="string",
            properties={
                "string": "string",
            },
            type="string",
        ),
        runtime_platform=aws.ecs.TaskDefinitionRuntimePlatformArgs(
            cpu_architecture="string",
            operating_system_family="string",
        ),
        skip_destroy=False,
        tags={
            "string": "string",
        },
        task_role=awsx.awsx.DefaultRoleWithPolicyArgs(
            args=awsx.awsx.RoleWithPolicyArgs(
                description="string",
                force_detach_policies=False,
                inline_policies=[aws.iam.RoleInlinePolicyArgs(
                    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,
        ),
        volumes=[aws.ecs.TaskDefinitionVolumeArgs(
            name="string",
            docker_volume_configuration=aws.ecs.TaskDefinitionVolumeDockerVolumeConfigurationArgs(
                autoprovision=False,
                driver="string",
                driver_opts={
                    "string": "string",
                },
                labels={
                    "string": "string",
                },
                scope="string",
            ),
            efs_volume_configuration=aws.ecs.TaskDefinitionVolumeEfsVolumeConfigurationArgs(
                file_system_id="string",
                authorization_config=aws.ecs.TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs(
                    access_point_id="string",
                    iam="string",
                ),
                root_directory="string",
                transit_encryption="string",
                transit_encryption_port=0,
            ),
            fsx_windows_file_server_volume_configuration=aws.ecs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs(
                authorization_config=aws.ecs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs(
                    credentials_parameter="string",
                    domain="string",
                ),
                file_system_id="string",
                root_directory="string",
            ),
            host_path="string",
        )])
    
    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",
                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,
        },
        volumes: [{
            name: "string",
            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",
        }],
    });
    
    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
                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
        volumes:
            - 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
    

    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

    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 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 List<Pulumi.Aws.Ecs.Inputs.TaskDefinitionInferenceAccelerator>
    Configuration block(s) with Inference Accelerators settings. Detailed below.
    IpcMode 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 string
    Docker networking mode to use for the containers in the task. Valid values are none, bridge, awsvpc, and host.
    PidMode string
    Process namespace to use for the containers in the task. The valid values are host and task.
    PlacementConstraints 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 Pulumi.Aws.Ecs.Inputs.TaskDefinitionProxyConfiguration

    Configuration block for the App Mesh proxy. Detailed below.

    This type is defined in the AWS Classic package.

    RuntimePlatform 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.
    Volumes 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 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 TaskDefinitionInferenceAcceleratorArgs
    Configuration block(s) with Inference Accelerators settings. Detailed below.
    IpcMode 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 string
    Docker networking mode to use for the containers in the task. Valid values are none, bridge, awsvpc, and host.
    PidMode string
    Process namespace to use for the containers in the task. The valid values are host and task.
    PlacementConstraints TaskDefinitionPlacementConstraintArgs
    Configuration block for rules that are taken into consideration during task placement. Maximum number of placement_constraints is 10. Detailed below.
    ProxyConfiguration TaskDefinitionProxyConfigurationArgs

    Configuration block for the App Mesh proxy. Detailed below.

    This type is defined in the AWS Classic package.

    RuntimePlatform 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.
    Volumes 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 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 List<TaskDefinitionInferenceAccelerator>
    Configuration block(s) with Inference Accelerators settings. Detailed below.
    ipcMode 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 String
    Docker networking mode to use for the containers in the task. Valid values are none, bridge, awsvpc, and host.
    pidMode String
    Process namespace to use for the containers in the task. The valid values are host and task.
    placementConstraints List<TaskDefinitionPlacementConstraint>
    Configuration block for rules that are taken into consideration during task placement. Maximum number of placement_constraints is 10. Detailed below.
    proxyConfiguration TaskDefinitionProxyConfiguration

    Configuration block for the App Mesh proxy. Detailed below.

    This type is defined in the AWS Classic package.

    runtimePlatform 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.
    volumes 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 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 pulumiAws.types.input.TaskDefinitionInferenceAccelerator[]
    Configuration block(s) with Inference Accelerators settings. Detailed below.
    ipcMode 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 string
    Docker networking mode to use for the containers in the task. Valid values are none, bridge, awsvpc, and host.
    pidMode string
    Process namespace to use for the containers in the task. The valid values are host and task.
    placementConstraints 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 pulumiAws.types.input.TaskDefinitionProxyConfiguration

    Configuration block for the App Mesh proxy. Detailed below.

    This type is defined in the AWS Classic package.

    runtimePlatform 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.
    volumes 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 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 Sequence[pulumi_aws.ecs.TaskDefinitionInferenceAcceleratorArgs]
    Configuration block(s) with Inference Accelerators settings. Detailed below.
    ipc_mode 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 str
    Docker networking mode to use for the containers in the task. Valid values are none, bridge, awsvpc, and host.
    pid_mode str
    Process namespace to use for the containers in the task. The valid values are host and task.
    placement_constraints 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 pulumi_aws.ecs.TaskDefinitionProxyConfigurationArgs

    Configuration block for the App Mesh proxy. Detailed below.

    This type is defined in the AWS Classic package.

    runtime_platform 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.
    volumes 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 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 List<Property Map>
    Configuration block(s) with Inference Accelerators settings. Detailed below.
    ipcMode 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 String
    Docker networking mode to use for the containers in the task. Valid values are none, bridge, awsvpc, and host.
    pidMode String
    Process namespace to use for the containers in the task. The valid values are host and task.
    placementConstraints 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 Property Map

    Configuration block for the App Mesh proxy. Detailed below.

    This type is defined in the AWS Classic package.

    runtimePlatform 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.
    volumes 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.
    Name string
    The name of the log group. If omitted, this provider will assign a random, unique name.
    NamePrefix 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.
    Name string
    The name of the log group. If omitted, this provider will assign a random, unique name.
    NamePrefix 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.
    name String
    The name of the log group. If omitted, this provider will assign a random, unique name.
    namePrefix 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.
    name string
    The name of the log group. If omitted, this provider will assign a random, unique name.
    namePrefix 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.
    name str
    The name of the log group. If omitted, this provider will assign a random, unique name.
    name_prefix 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.
    name String
    The name of the log group. If omitted, this provider will assign a random, unique name.
    namePrefix 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, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., inline_policy {}) will cause the provider to remove all inline policies added out of band on apply.
    ManagedPolicyArns List<string>
    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 string
    Friendly name of the role. If omitted, the provider will assign a random, unique name. See IAM Identifiers for more information.
    NamePrefix string
    Creates a unique friendly name beginning with the specified prefix. Conflicts with name.
    Path 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, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., inline_policy {}) will cause the provider to remove all inline policies added out of band on apply.
    ManagedPolicyArns []string
    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 string
    Friendly name of the role. If omitted, the provider will assign a random, unique name. See IAM Identifiers for more information.
    NamePrefix string
    Creates a unique friendly name beginning with the specified prefix. Conflicts with name.
    Path 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, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., inline_policy {}) will cause the provider to remove all inline policies added out of band on apply.
    managedPolicyArns List<String>
    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 String
    Friendly name of the role. If omitted, the provider will assign a random, unique name. See IAM Identifiers for more information.
    namePrefix String
    Creates a unique friendly name beginning with the specified prefix. Conflicts with name.
    path 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, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., inline_policy {}) will cause the provider to remove all inline policies added out of band on apply.
    managedPolicyArns string[]
    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 string
    Friendly name of the role. If omitted, the provider will assign a random, unique name. See IAM Identifiers for more information.
    namePrefix string
    Creates a unique friendly name beginning with the specified prefix. Conflicts with name.
    path 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, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., inline_policy {}) will cause the provider to remove all inline policies added out of band on apply.
    managed_policy_arns Sequence[str]
    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 str
    Friendly name of the role. If omitted, the provider will assign a random, unique name. See IAM Identifiers for more information.
    name_prefix str
    Creates a unique friendly name beginning with the specified prefix. Conflicts with name.
    path 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, the provider will not manage any inline policies in this resource. Configuring one empty block (i.e., inline_policy {}) will cause the provider to remove all inline policies added out of band on apply.
    managedPolicyArns List<String>
    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 String
    Friendly name of the role. If omitted, the provider will assign a random, unique name. See IAM Identifiers for more information.
    namePrefix String
    Creates a unique friendly name beginning with the specified prefix. Conflicts with name.
    path 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 string
    The image used to start a container. This string is passed directly to the Docker daemon.
    Name 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 string
    The image used to start a container. This string is passed directly to the Docker daemon.
    Name 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 String
    The image used to start a container. This string is passed directly to the Docker daemon.
    name 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 string
    The image used to start a container. This string is passed directly to the Docker daemon.
    name 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 str
    The image used to start a container. This string is passed directly to the Docker daemon.
    name 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 String
    The image used to start a container. This string is passed directly to the Docker daemon.
    name 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

    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 string
    Value string
    Type string
    Value string
    type String
    value String
    type string
    value string
    type str
    value str
    type String
    value String

    TaskDefinitionSecret, TaskDefinitionSecretArgs

    Name string
    ValueFrom string
    Name string
    ValueFrom string
    name String
    valueFrom String
    name string
    valueFrom string
    name String
    valueFrom 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 int
    ContainerPath string
    MountOptions List<string>
    Size int
    ContainerPath string
    MountOptions []string
    size Integer
    containerPath String
    mountOptions List<String>
    size number
    containerPath string
    mountOptions string[]
    size int
    container_path str
    mount_options Sequence[str]
    size Number
    containerPath String
    mountOptions List<String>

    TaskDefinitionUlimit, TaskDefinitionUlimitArgs

    HardLimit int
    Name string
    SoftLimit int
    HardLimit int
    Name string
    SoftLimit int
    hardLimit Integer
    name String
    softLimit Integer
    hardLimit number
    name string
    softLimit number
    hardLimit Number
    name String
    softLimit Number

    TaskDefinitionVolumeFrom, TaskDefinitionVolumeFromArgs

    Package Details

    Repository
    AWSx (Pulumi Crosswalk for AWS) pulumi/pulumi-awsx
    License
    Apache-2.0
    awsx logo
    AWSx (Pulumi Crosswalk for AWS) v2.7.0 published on Wednesday, Apr 10, 2024 by Pulumi