1. Packages
  2. AWSx (Pulumi Crosswalk for AWS)
  3. API Docs
  4. ecs
  5. EC2Service
AWSx (Pulumi Crosswalk for AWS) v2.16.0 published on Wednesday, Sep 25, 2024 by Pulumi

awsx.ecs.EC2Service

Explore with Pulumi AI

awsx logo
AWSx (Pulumi Crosswalk for AWS) v2.16.0 published on Wednesday, Sep 25, 2024 by Pulumi

    Create an ECS Service resource for EC2 with the given unique name, arguments, and options. Creates Task definition if taskDefinitionArgs is specified.

    Create EC2Service Resource

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

    Constructor syntax

    new EC2Service(name: string, args?: EC2ServiceArgs, opts?: CustomResourceOptions);
    @overload
    def EC2Service(resource_name: str,
                   args: Optional[EC2ServiceArgs] = None,
                   opts: Optional[ResourceOptions] = None)
    
    @overload
    def EC2Service(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   alarms: Optional[pulumi_aws.ecs.ServiceAlarmsArgs] = None,
                   cluster: Optional[str] = None,
                   continue_before_steady_state: Optional[bool] = None,
                   deployment_circuit_breaker: Optional[pulumi_aws.ecs.ServiceDeploymentCircuitBreakerArgs] = None,
                   deployment_controller: Optional[pulumi_aws.ecs.ServiceDeploymentControllerArgs] = None,
                   deployment_maximum_percent: Optional[int] = None,
                   deployment_minimum_healthy_percent: Optional[int] = None,
                   desired_count: Optional[int] = None,
                   enable_ecs_managed_tags: Optional[bool] = None,
                   enable_execute_command: Optional[bool] = None,
                   force_new_deployment: Optional[bool] = None,
                   health_check_grace_period_seconds: Optional[int] = None,
                   iam_role: Optional[str] = None,
                   load_balancers: Optional[Sequence[pulumi_aws.ecs.ServiceLoadBalancerArgs]] = None,
                   name: Optional[str] = None,
                   network_configuration: Optional[pulumi_aws.ecs.ServiceNetworkConfigurationArgs] = None,
                   ordered_placement_strategies: Optional[Sequence[pulumi_aws.ecs.ServiceOrderedPlacementStrategyArgs]] = None,
                   placement_constraints: Optional[Sequence[pulumi_aws.ecs.ServicePlacementConstraintArgs]] = None,
                   platform_version: Optional[str] = None,
                   propagate_tags: Optional[str] = None,
                   scheduling_strategy: Optional[str] = None,
                   service_connect_configuration: Optional[pulumi_aws.ecs.ServiceServiceConnectConfigurationArgs] = None,
                   service_registries: Optional[pulumi_aws.ecs.ServiceServiceRegistriesArgs] = None,
                   tags: Optional[Mapping[str, str]] = None,
                   task_definition: Optional[str] = None,
                   task_definition_args: Optional[EC2ServiceTaskDefinitionArgs] = None,
                   triggers: Optional[Mapping[str, str]] = None,
                   volume_configuration: Optional[pulumi_aws.ecs.ServiceVolumeConfigurationArgs] = None)
    func NewEC2Service(ctx *Context, name string, args *EC2ServiceArgs, opts ...ResourceOption) (*EC2Service, error)
    public EC2Service(string name, EC2ServiceArgs? args = null, CustomResourceOptions? opts = null)
    public EC2Service(String name, EC2ServiceArgs args)
    public EC2Service(String name, EC2ServiceArgs args, CustomResourceOptions options)
    
    type: awsx:ecs:EC2Service
    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 EC2ServiceArgs
    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 EC2ServiceArgs
    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 EC2ServiceArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args EC2ServiceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args EC2ServiceArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

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

    var ec2serviceResource = new Awsx.Ecs.EC2Service("ec2serviceResource", new()
    {
        Alarms = new Aws.Ecs.Inputs.ServiceAlarmsArgs
        {
            AlarmNames = new[]
            {
                "string",
            },
            Enable = false,
            Rollback = false,
        },
        Cluster = "string",
        ContinueBeforeSteadyState = false,
        DeploymentCircuitBreaker = new Aws.Ecs.Inputs.ServiceDeploymentCircuitBreakerArgs
        {
            Enable = false,
            Rollback = false,
        },
        DeploymentController = new Aws.Ecs.Inputs.ServiceDeploymentControllerArgs
        {
            Type = "string",
        },
        DeploymentMaximumPercent = 0,
        DeploymentMinimumHealthyPercent = 0,
        DesiredCount = 0,
        EnableEcsManagedTags = false,
        EnableExecuteCommand = false,
        ForceNewDeployment = false,
        HealthCheckGracePeriodSeconds = 0,
        IamRole = "string",
        LoadBalancers = new[]
        {
            new Aws.Ecs.Inputs.ServiceLoadBalancerArgs
            {
                ContainerName = "string",
                ContainerPort = 0,
                ElbName = "string",
                TargetGroupArn = "string",
            },
        },
        Name = "string",
        NetworkConfiguration = new Aws.Ecs.Inputs.ServiceNetworkConfigurationArgs
        {
            Subnets = new[]
            {
                "string",
            },
            AssignPublicIp = false,
            SecurityGroups = new[]
            {
                "string",
            },
        },
        OrderedPlacementStrategies = new[]
        {
            new Aws.Ecs.Inputs.ServiceOrderedPlacementStrategyArgs
            {
                Type = "string",
                Field = "string",
            },
        },
        PlacementConstraints = new[]
        {
            new Aws.Ecs.Inputs.ServicePlacementConstraintArgs
            {
                Type = "string",
                Expression = "string",
            },
        },
        PlatformVersion = "string",
        PropagateTags = "string",
        SchedulingStrategy = "string",
        ServiceConnectConfiguration = new Aws.Ecs.Inputs.ServiceServiceConnectConfigurationArgs
        {
            Enabled = false,
            LogConfiguration = new Aws.Ecs.Inputs.ServiceServiceConnectConfigurationLogConfigurationArgs
            {
                LogDriver = "string",
                Options = 
                {
                    { "string", "string" },
                },
                SecretOptions = new[]
                {
                    new Aws.Ecs.Inputs.ServiceServiceConnectConfigurationLogConfigurationSecretOptionArgs
                    {
                        Name = "string",
                        ValueFrom = "string",
                    },
                },
            },
            Namespace = "string",
            Services = new[]
            {
                new Aws.Ecs.Inputs.ServiceServiceConnectConfigurationServiceArgs
                {
                    PortName = "string",
                    ClientAlias = new[]
                    {
                        new Aws.Ecs.Inputs.ServiceServiceConnectConfigurationServiceClientAliasArgs
                        {
                            Port = 0,
                            DnsName = "string",
                        },
                    },
                    DiscoveryName = "string",
                    IngressPortOverride = 0,
                    Timeout = new Aws.Ecs.Inputs.ServiceServiceConnectConfigurationServiceTimeoutArgs
                    {
                        IdleTimeoutSeconds = 0,
                        PerRequestTimeoutSeconds = 0,
                    },
                    Tls = new Aws.Ecs.Inputs.ServiceServiceConnectConfigurationServiceTlsArgs
                    {
                        IssuerCertAuthority = new Aws.Ecs.Inputs.ServiceServiceConnectConfigurationServiceTlsIssuerCertAuthorityArgs
                        {
                            AwsPcaAuthorityArn = "string",
                        },
                        KmsKey = "string",
                        RoleArn = "string",
                    },
                },
            },
        },
        ServiceRegistries = new Aws.Ecs.Inputs.ServiceServiceRegistriesArgs
        {
            RegistryArn = "string",
            ContainerName = "string",
            ContainerPort = 0,
            Port = 0,
        },
        Tags = 
        {
            { "string", "string" },
        },
        TaskDefinition = "string",
        TaskDefinitionArgs = new Awsx.Ecs.Inputs.EC2ServiceTaskDefinitionArgs
        {
            Container = new Awsx.Ecs.Inputs.TaskDefinitionContainerDefinitionArgs
            {
                Image = "string",
                Name = "string",
                Links = new()
                {
                    "string",
                },
                VolumesFrom = new()
                {
                    new Awsx.Ecs.Inputs.TaskDefinitionVolumeFromArgs
                    {
                        ReadOnly = false,
                        SourceContainer = "string",
                    },
                },
                DnsSearchDomains = new()
                {
                    "string",
                },
                LogConfiguration = new Awsx.Ecs.Inputs.TaskDefinitionLogConfigurationArgs
                {
                    LogDriver = "string",
                    Options = "any",
                    SecretOptions = new()
                    {
                        new Awsx.Ecs.Inputs.TaskDefinitionSecretArgs
                        {
                            Name = "string",
                            ValueFrom = "string",
                        },
                    },
                },
                DockerLabels = "any",
                DockerSecurityOptions = new()
                {
                    "string",
                },
                EntryPoint = new()
                {
                    "string",
                },
                Environment = new()
                {
                    new Awsx.Ecs.Inputs.TaskDefinitionKeyValuePairArgs
                    {
                        Name = "string",
                        Value = "string",
                    },
                },
                EnvironmentFiles = new()
                {
                    new Awsx.Ecs.Inputs.TaskDefinitionEnvironmentFileArgs
                    {
                        Type = "string",
                        Value = "string",
                    },
                },
                Essential = false,
                ExtraHosts = new()
                {
                    new Awsx.Ecs.Inputs.TaskDefinitionHostEntryArgs
                    {
                        Hostname = "string",
                        IpAddress = "string",
                    },
                },
                FirelensConfiguration = new Awsx.Ecs.Inputs.TaskDefinitionFirelensConfigurationArgs
                {
                    Options = "any",
                    Type = "string",
                },
                HealthCheck = new Awsx.Ecs.Inputs.TaskDefinitionHealthCheckArgs
                {
                    Command = new()
                    {
                        "string",
                    },
                    Interval = 0,
                    Retries = 0,
                    StartPeriod = 0,
                    Timeout = 0,
                },
                Hostname = "string",
                DependsOn = new()
                {
                    new Awsx.Ecs.Inputs.TaskDefinitionContainerDependencyArgs
                    {
                        Condition = "string",
                        ContainerName = "string",
                    },
                },
                Interactive = false,
                Command = new()
                {
                    "string",
                },
                LinuxParameters = new Awsx.Ecs.Inputs.TaskDefinitionLinuxParametersArgs
                {
                    Capabilities = new Awsx.Ecs.Inputs.TaskDefinitionKernelCapabilitiesArgs
                    {
                        Add = new()
                        {
                            "string",
                        },
                        Drop = new()
                        {
                            "string",
                        },
                    },
                    Devices = new()
                    {
                        new Awsx.Ecs.Inputs.TaskDefinitionDeviceArgs
                        {
                            ContainerPath = "string",
                            HostPath = "string",
                            Permissions = new()
                            {
                                "string",
                            },
                        },
                    },
                    InitProcessEnabled = false,
                    MaxSwap = 0,
                    SharedMemorySize = 0,
                    Swappiness = 0,
                    Tmpfs = new()
                    {
                        new Awsx.Ecs.Inputs.TaskDefinitionTmpfsArgs
                        {
                            Size = 0,
                            ContainerPath = "string",
                            MountOptions = new()
                            {
                                "string",
                            },
                        },
                    },
                },
                DnsServers = new()
                {
                    "string",
                },
                DisableNetworking = false,
                MountPoints = new()
                {
                    new Awsx.Ecs.Inputs.TaskDefinitionMountPointArgs
                    {
                        ContainerPath = "string",
                        ReadOnly = false,
                        SourceVolume = "string",
                    },
                },
                MemoryReservation = 0,
                Cpu = 0,
                PortMappings = new()
                {
                    new Awsx.Ecs.Inputs.TaskDefinitionPortMappingArgs
                    {
                        AppProtocol = Awsx.Ecs.TaskDefinitionPortMappingAppProtocol.Http,
                        ContainerPort = 0,
                        ContainerPortRange = "string",
                        HostPort = 0,
                        Name = "string",
                        Protocol = "string",
                        TargetGroup = targetGroup,
                    },
                },
                Privileged = false,
                PseudoTerminal = false,
                ReadonlyRootFilesystem = false,
                RepositoryCredentials = new Awsx.Ecs.Inputs.TaskDefinitionRepositoryCredentialsArgs
                {
                    CredentialsParameter = "string",
                },
                ResourceRequirements = new()
                {
                    new Awsx.Ecs.Inputs.TaskDefinitionResourceRequirementArgs
                    {
                        Type = "string",
                        Value = "string",
                    },
                },
                Secrets = new()
                {
                    new Awsx.Ecs.Inputs.TaskDefinitionSecretArgs
                    {
                        Name = "string",
                        ValueFrom = "string",
                    },
                },
                StartTimeout = 0,
                StopTimeout = 0,
                SystemControls = new()
                {
                    new Awsx.Ecs.Inputs.TaskDefinitionSystemControlArgs
                    {
                        Namespace = "string",
                        Value = "string",
                    },
                },
                Ulimits = new()
                {
                    new Awsx.Ecs.Inputs.TaskDefinitionUlimitArgs
                    {
                        HardLimit = 0,
                        Name = "string",
                        SoftLimit = 0,
                    },
                },
                User = "string",
                Memory = 0,
                WorkingDirectory = "string",
            },
            Containers = 
            {
                { "string", new Awsx.Ecs.Inputs.TaskDefinitionContainerDefinitionArgs
                {
                    Image = "string",
                    Name = "string",
                    Links = new()
                    {
                        "string",
                    },
                    VolumesFrom = new()
                    {
                        new Awsx.Ecs.Inputs.TaskDefinitionVolumeFromArgs
                        {
                            ReadOnly = false,
                            SourceContainer = "string",
                        },
                    },
                    DnsSearchDomains = new()
                    {
                        "string",
                    },
                    LogConfiguration = new Awsx.Ecs.Inputs.TaskDefinitionLogConfigurationArgs
                    {
                        LogDriver = "string",
                        Options = "any",
                        SecretOptions = new()
                        {
                            new Awsx.Ecs.Inputs.TaskDefinitionSecretArgs
                            {
                                Name = "string",
                                ValueFrom = "string",
                            },
                        },
                    },
                    DockerLabels = "any",
                    DockerSecurityOptions = new()
                    {
                        "string",
                    },
                    EntryPoint = new()
                    {
                        "string",
                    },
                    Environment = new()
                    {
                        new Awsx.Ecs.Inputs.TaskDefinitionKeyValuePairArgs
                        {
                            Name = "string",
                            Value = "string",
                        },
                    },
                    EnvironmentFiles = new()
                    {
                        new Awsx.Ecs.Inputs.TaskDefinitionEnvironmentFileArgs
                        {
                            Type = "string",
                            Value = "string",
                        },
                    },
                    Essential = false,
                    ExtraHosts = new()
                    {
                        new Awsx.Ecs.Inputs.TaskDefinitionHostEntryArgs
                        {
                            Hostname = "string",
                            IpAddress = "string",
                        },
                    },
                    FirelensConfiguration = new Awsx.Ecs.Inputs.TaskDefinitionFirelensConfigurationArgs
                    {
                        Options = "any",
                        Type = "string",
                    },
                    HealthCheck = new Awsx.Ecs.Inputs.TaskDefinitionHealthCheckArgs
                    {
                        Command = new()
                        {
                            "string",
                        },
                        Interval = 0,
                        Retries = 0,
                        StartPeriod = 0,
                        Timeout = 0,
                    },
                    Hostname = "string",
                    DependsOn = new()
                    {
                        new Awsx.Ecs.Inputs.TaskDefinitionContainerDependencyArgs
                        {
                            Condition = "string",
                            ContainerName = "string",
                        },
                    },
                    Interactive = false,
                    Command = new()
                    {
                        "string",
                    },
                    LinuxParameters = new Awsx.Ecs.Inputs.TaskDefinitionLinuxParametersArgs
                    {
                        Capabilities = new Awsx.Ecs.Inputs.TaskDefinitionKernelCapabilitiesArgs
                        {
                            Add = new()
                            {
                                "string",
                            },
                            Drop = new()
                            {
                                "string",
                            },
                        },
                        Devices = new()
                        {
                            new Awsx.Ecs.Inputs.TaskDefinitionDeviceArgs
                            {
                                ContainerPath = "string",
                                HostPath = "string",
                                Permissions = new()
                                {
                                    "string",
                                },
                            },
                        },
                        InitProcessEnabled = false,
                        MaxSwap = 0,
                        SharedMemorySize = 0,
                        Swappiness = 0,
                        Tmpfs = new()
                        {
                            new Awsx.Ecs.Inputs.TaskDefinitionTmpfsArgs
                            {
                                Size = 0,
                                ContainerPath = "string",
                                MountOptions = new()
                                {
                                    "string",
                                },
                            },
                        },
                    },
                    DnsServers = new()
                    {
                        "string",
                    },
                    DisableNetworking = false,
                    MountPoints = new()
                    {
                        new Awsx.Ecs.Inputs.TaskDefinitionMountPointArgs
                        {
                            ContainerPath = "string",
                            ReadOnly = false,
                            SourceVolume = "string",
                        },
                    },
                    MemoryReservation = 0,
                    Cpu = 0,
                    PortMappings = new()
                    {
                        new Awsx.Ecs.Inputs.TaskDefinitionPortMappingArgs
                        {
                            AppProtocol = Awsx.Ecs.TaskDefinitionPortMappingAppProtocol.Http,
                            ContainerPort = 0,
                            ContainerPortRange = "string",
                            HostPort = 0,
                            Name = "string",
                            Protocol = "string",
                            TargetGroup = targetGroup,
                        },
                    },
                    Privileged = false,
                    PseudoTerminal = false,
                    ReadonlyRootFilesystem = false,
                    RepositoryCredentials = new Awsx.Ecs.Inputs.TaskDefinitionRepositoryCredentialsArgs
                    {
                        CredentialsParameter = "string",
                    },
                    ResourceRequirements = new()
                    {
                        new Awsx.Ecs.Inputs.TaskDefinitionResourceRequirementArgs
                        {
                            Type = "string",
                            Value = "string",
                        },
                    },
                    Secrets = new()
                    {
                        new Awsx.Ecs.Inputs.TaskDefinitionSecretArgs
                        {
                            Name = "string",
                            ValueFrom = "string",
                        },
                    },
                    StartTimeout = 0,
                    StopTimeout = 0,
                    SystemControls = new()
                    {
                        new Awsx.Ecs.Inputs.TaskDefinitionSystemControlArgs
                        {
                            Namespace = "string",
                            Value = "string",
                        },
                    },
                    Ulimits = new()
                    {
                        new Awsx.Ecs.Inputs.TaskDefinitionUlimitArgs
                        {
                            HardLimit = 0,
                            Name = "string",
                            SoftLimit = 0,
                        },
                    },
                    User = "string",
                    Memory = 0,
                    WorkingDirectory = "string",
                } },
            },
            Cpu = "string",
            EphemeralStorage = new Aws.Ecs.Inputs.TaskDefinitionEphemeralStorageArgs
            {
                SizeInGib = 0,
            },
            ExecutionRole = new Awsx.Awsx.Inputs.DefaultRoleWithPolicyArgs
            {
                Args = new Awsx.Awsx.Inputs.RoleWithPolicyArgs
                {
                    Description = "string",
                    ForceDetachPolicies = false,
                    InlinePolicies = new()
                    {
                        new Aws.Iam.Inputs.RoleInlinePolicyArgs
                        {
                            Name = "string",
                            Policy = "string",
                        },
                    },
                    ManagedPolicyArns = new()
                    {
                        "string",
                    },
                    MaxSessionDuration = 0,
                    Name = "string",
                    NamePrefix = "string",
                    Path = "string",
                    PermissionsBoundary = "string",
                    PolicyArns = new()
                    {
                        "string",
                    },
                    Tags = 
                    {
                        { "string", "string" },
                    },
                },
                RoleArn = "string",
                Skip = false,
            },
            Family = "string",
            InferenceAccelerators = new()
            {
                new Aws.Ecs.Inputs.TaskDefinitionInferenceAcceleratorArgs
                {
                    DeviceName = "string",
                    DeviceType = "string",
                },
            },
            IpcMode = "string",
            LogGroup = new Awsx.Awsx.Inputs.DefaultLogGroupArgs
            {
                Args = new Awsx.Awsx.Inputs.LogGroupArgs
                {
                    KmsKeyId = "string",
                    LogGroupClass = "string",
                    Name = "string",
                    NamePrefix = "string",
                    RetentionInDays = 0,
                    SkipDestroy = false,
                    Tags = 
                    {
                        { "string", "string" },
                    },
                },
                Existing = new Awsx.Awsx.Inputs.ExistingLogGroupArgs
                {
                    Arn = "string",
                    Name = "string",
                    Region = "string",
                },
                Skip = false,
            },
            Memory = "string",
            NetworkMode = "string",
            PidMode = "string",
            PlacementConstraints = new()
            {
                new Aws.Ecs.Inputs.TaskDefinitionPlacementConstraintArgs
                {
                    Type = "string",
                    Expression = "string",
                },
            },
            ProxyConfiguration = new Aws.Ecs.Inputs.TaskDefinitionProxyConfigurationArgs
            {
                ContainerName = "string",
                Properties = 
                {
                    { "string", "string" },
                },
                Type = "string",
            },
            RuntimePlatform = new Aws.Ecs.Inputs.TaskDefinitionRuntimePlatformArgs
            {
                CpuArchitecture = "string",
                OperatingSystemFamily = "string",
            },
            SkipDestroy = false,
            Tags = 
            {
                { "string", "string" },
            },
            TaskRole = new Awsx.Awsx.Inputs.DefaultRoleWithPolicyArgs
            {
                Args = new Awsx.Awsx.Inputs.RoleWithPolicyArgs
                {
                    Description = "string",
                    ForceDetachPolicies = false,
                    InlinePolicies = new()
                    {
                        new Aws.Iam.Inputs.RoleInlinePolicyArgs
                        {
                            Name = "string",
                            Policy = "string",
                        },
                    },
                    ManagedPolicyArns = new()
                    {
                        "string",
                    },
                    MaxSessionDuration = 0,
                    Name = "string",
                    NamePrefix = "string",
                    Path = "string",
                    PermissionsBoundary = "string",
                    PolicyArns = new()
                    {
                        "string",
                    },
                    Tags = 
                    {
                        { "string", "string" },
                    },
                },
                RoleArn = "string",
                Skip = false,
            },
            TrackLatest = false,
            Volumes = new()
            {
                new Aws.Ecs.Inputs.TaskDefinitionVolumeArgs
                {
                    Name = "string",
                    ConfigureAtLaunch = false,
                    DockerVolumeConfiguration = new Aws.Ecs.Inputs.TaskDefinitionVolumeDockerVolumeConfigurationArgs
                    {
                        Autoprovision = false,
                        Driver = "string",
                        DriverOpts = 
                        {
                            { "string", "string" },
                        },
                        Labels = 
                        {
                            { "string", "string" },
                        },
                        Scope = "string",
                    },
                    EfsVolumeConfiguration = new Aws.Ecs.Inputs.TaskDefinitionVolumeEfsVolumeConfigurationArgs
                    {
                        FileSystemId = "string",
                        AuthorizationConfig = new Aws.Ecs.Inputs.TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs
                        {
                            AccessPointId = "string",
                            Iam = "string",
                        },
                        RootDirectory = "string",
                        TransitEncryption = "string",
                        TransitEncryptionPort = 0,
                    },
                    FsxWindowsFileServerVolumeConfiguration = new Aws.Ecs.Inputs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs
                    {
                        AuthorizationConfig = new Aws.Ecs.Inputs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs
                        {
                            CredentialsParameter = "string",
                            Domain = "string",
                        },
                        FileSystemId = "string",
                        RootDirectory = "string",
                    },
                    HostPath = "string",
                },
            },
        },
        Triggers = 
        {
            { "string", "string" },
        },
        VolumeConfiguration = new Aws.Ecs.Inputs.ServiceVolumeConfigurationArgs
        {
            ManagedEbsVolume = new Aws.Ecs.Inputs.ServiceVolumeConfigurationManagedEbsVolumeArgs
            {
                RoleArn = "string",
                Encrypted = false,
                FileSystemType = "string",
                Iops = 0,
                KmsKeyId = "string",
                SizeInGb = 0,
                SnapshotId = "string",
                Throughput = 0,
                VolumeType = "string",
            },
            Name = "string",
        },
    });
    
    example, err := ecs.NewEC2Service(ctx, "ec2serviceResource", &ecs.EC2ServiceArgs{
    	Alarms: &ecs.ServiceAlarmsArgs{
    		AlarmNames: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Enable:   pulumi.Bool(false),
    		Rollback: pulumi.Bool(false),
    	},
    	Cluster:                   pulumi.String("string"),
    	ContinueBeforeSteadyState: pulumi.Bool(false),
    	DeploymentCircuitBreaker: &ecs.ServiceDeploymentCircuitBreakerArgs{
    		Enable:   pulumi.Bool(false),
    		Rollback: pulumi.Bool(false),
    	},
    	DeploymentController: &ecs.ServiceDeploymentControllerArgs{
    		Type: pulumi.String("string"),
    	},
    	DeploymentMaximumPercent:        pulumi.Int(0),
    	DeploymentMinimumHealthyPercent: pulumi.Int(0),
    	DesiredCount:                    pulumi.Int(0),
    	EnableEcsManagedTags:            pulumi.Bool(false),
    	EnableExecuteCommand:            pulumi.Bool(false),
    	ForceNewDeployment:              pulumi.Bool(false),
    	HealthCheckGracePeriodSeconds:   pulumi.Int(0),
    	IamRole:                         pulumi.String("string"),
    	LoadBalancers: ecs.ServiceLoadBalancerArray{
    		&ecs.ServiceLoadBalancerArgs{
    			ContainerName:  pulumi.String("string"),
    			ContainerPort:  pulumi.Int(0),
    			ElbName:        pulumi.String("string"),
    			TargetGroupArn: pulumi.String("string"),
    		},
    	},
    	Name: pulumi.String("string"),
    	NetworkConfiguration: &ecs.ServiceNetworkConfigurationArgs{
    		Subnets: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		AssignPublicIp: pulumi.Bool(false),
    		SecurityGroups: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	OrderedPlacementStrategies: ecs.ServiceOrderedPlacementStrategyArray{
    		&ecs.ServiceOrderedPlacementStrategyArgs{
    			Type:  pulumi.String("string"),
    			Field: pulumi.String("string"),
    		},
    	},
    	PlacementConstraints: ecs.ServicePlacementConstraintArray{
    		&ecs.ServicePlacementConstraintArgs{
    			Type:       pulumi.String("string"),
    			Expression: pulumi.String("string"),
    		},
    	},
    	PlatformVersion:    pulumi.String("string"),
    	PropagateTags:      pulumi.String("string"),
    	SchedulingStrategy: pulumi.String("string"),
    	ServiceConnectConfiguration: &ecs.ServiceServiceConnectConfigurationArgs{
    		Enabled: pulumi.Bool(false),
    		LogConfiguration: &ecs.ServiceServiceConnectConfigurationLogConfigurationArgs{
    			LogDriver: pulumi.String("string"),
    			Options: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			SecretOptions: ecs.ServiceServiceConnectConfigurationLogConfigurationSecretOptionArray{
    				&ecs.ServiceServiceConnectConfigurationLogConfigurationSecretOptionArgs{
    					Name:      pulumi.String("string"),
    					ValueFrom: pulumi.String("string"),
    				},
    			},
    		},
    		Namespace: pulumi.String("string"),
    		Services: ecs.ServiceServiceConnectConfigurationServiceArray{
    			&ecs.ServiceServiceConnectConfigurationServiceArgs{
    				PortName: pulumi.String("string"),
    				ClientAlias: ecs.ServiceServiceConnectConfigurationServiceClientAliasArray{
    					&ecs.ServiceServiceConnectConfigurationServiceClientAliasArgs{
    						Port:    pulumi.Int(0),
    						DnsName: pulumi.String("string"),
    					},
    				},
    				DiscoveryName:       pulumi.String("string"),
    				IngressPortOverride: pulumi.Int(0),
    				Timeout: &ecs.ServiceServiceConnectConfigurationServiceTimeoutArgs{
    					IdleTimeoutSeconds:       pulumi.Int(0),
    					PerRequestTimeoutSeconds: pulumi.Int(0),
    				},
    				Tls: &ecs.ServiceServiceConnectConfigurationServiceTlsArgs{
    					IssuerCertAuthority: &ecs.ServiceServiceConnectConfigurationServiceTlsIssuerCertAuthorityArgs{
    						AwsPcaAuthorityArn: pulumi.String("string"),
    					},
    					KmsKey:  pulumi.String("string"),
    					RoleArn: pulumi.String("string"),
    				},
    			},
    		},
    	},
    	ServiceRegistries: &ecs.ServiceServiceRegistriesArgs{
    		RegistryArn:   pulumi.String("string"),
    		ContainerName: pulumi.String("string"),
    		ContainerPort: pulumi.Int(0),
    		Port:          pulumi.Int(0),
    	},
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	TaskDefinition: pulumi.String("string"),
    	TaskDefinitionArgs: &ecs.EC2ServiceTaskDefinitionArgs{
    		Container: &ecs.TaskDefinitionContainerDefinitionArgs{
    			Image: pulumi.String("string"),
    			Name:  pulumi.String("string"),
    			Links: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			VolumesFrom: ecs.TaskDefinitionVolumeFromArray{
    				&ecs.TaskDefinitionVolumeFromArgs{
    					ReadOnly:        pulumi.Bool(false),
    					SourceContainer: pulumi.String("string"),
    				},
    			},
    			DnsSearchDomains: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			LogConfiguration: &ecs.TaskDefinitionLogConfigurationArgs{
    				LogDriver: pulumi.String("string"),
    				Options:   pulumi.Any("any"),
    				SecretOptions: ecs.TaskDefinitionSecretArray{
    					&ecs.TaskDefinitionSecretArgs{
    						Name:      pulumi.String("string"),
    						ValueFrom: pulumi.String("string"),
    					},
    				},
    			},
    			DockerLabels: pulumi.Any("any"),
    			DockerSecurityOptions: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			EntryPoint: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Environment: ecs.TaskDefinitionKeyValuePairArray{
    				&ecs.TaskDefinitionKeyValuePairArgs{
    					Name:  pulumi.String("string"),
    					Value: pulumi.String("string"),
    				},
    			},
    			EnvironmentFiles: ecs.TaskDefinitionEnvironmentFileArray{
    				&ecs.TaskDefinitionEnvironmentFileArgs{
    					Type:  pulumi.String("string"),
    					Value: pulumi.String("string"),
    				},
    			},
    			Essential: pulumi.Bool(false),
    			ExtraHosts: ecs.TaskDefinitionHostEntryArray{
    				&ecs.TaskDefinitionHostEntryArgs{
    					Hostname:  pulumi.String("string"),
    					IpAddress: pulumi.String("string"),
    				},
    			},
    			FirelensConfiguration: &ecs.TaskDefinitionFirelensConfigurationArgs{
    				Options: pulumi.Any("any"),
    				Type:    pulumi.String("string"),
    			},
    			HealthCheck: &ecs.TaskDefinitionHealthCheckArgs{
    				Command: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Interval:    pulumi.Int(0),
    				Retries:     pulumi.Int(0),
    				StartPeriod: pulumi.Int(0),
    				Timeout:     pulumi.Int(0),
    			},
    			Hostname: pulumi.String("string"),
    			DependsOn: ecs.TaskDefinitionContainerDependencyArray{
    				&ecs.TaskDefinitionContainerDependencyArgs{
    					Condition:     pulumi.String("string"),
    					ContainerName: pulumi.String("string"),
    				},
    			},
    			Interactive: pulumi.Bool(false),
    			Command: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			LinuxParameters: &ecs.TaskDefinitionLinuxParametersArgs{
    				Capabilities: &ecs.TaskDefinitionKernelCapabilitiesArgs{
    					Add: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Drop: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    				Devices: ecs.TaskDefinitionDeviceArray{
    					&ecs.TaskDefinitionDeviceArgs{
    						ContainerPath: pulumi.String("string"),
    						HostPath:      pulumi.String("string"),
    						Permissions: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    				},
    				InitProcessEnabled: pulumi.Bool(false),
    				MaxSwap:            pulumi.Int(0),
    				SharedMemorySize:   pulumi.Int(0),
    				Swappiness:         pulumi.Int(0),
    				Tmpfs: ecs.TaskDefinitionTmpfsArray{
    					&ecs.TaskDefinitionTmpfsArgs{
    						Size:          pulumi.Int(0),
    						ContainerPath: pulumi.String("string"),
    						MountOptions: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    				},
    			},
    			DnsServers: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			DisableNetworking: pulumi.Bool(false),
    			MountPoints: ecs.TaskDefinitionMountPointArray{
    				&ecs.TaskDefinitionMountPointArgs{
    					ContainerPath: pulumi.String("string"),
    					ReadOnly:      pulumi.Bool(false),
    					SourceVolume:  pulumi.String("string"),
    				},
    			},
    			MemoryReservation: pulumi.Int(0),
    			Cpu:               pulumi.Int(0),
    			PortMappings: ecs.TaskDefinitionPortMappingArray{
    				&ecs.TaskDefinitionPortMappingArgs{
    					AppProtocol:        ecs.TaskDefinitionPortMappingAppProtocolHttp,
    					ContainerPort:      pulumi.Int(0),
    					ContainerPortRange: pulumi.String("string"),
    					HostPort:           pulumi.Int(0),
    					Name:               pulumi.String("string"),
    					Protocol:           pulumi.String("string"),
    					TargetGroup:        pulumi.Any(targetGroup),
    				},
    			},
    			Privileged:             pulumi.Bool(false),
    			PseudoTerminal:         pulumi.Bool(false),
    			ReadonlyRootFilesystem: pulumi.Bool(false),
    			RepositoryCredentials: &ecs.TaskDefinitionRepositoryCredentialsArgs{
    				CredentialsParameter: pulumi.String("string"),
    			},
    			ResourceRequirements: ecs.TaskDefinitionResourceRequirementArray{
    				&ecs.TaskDefinitionResourceRequirementArgs{
    					Type:  pulumi.String("string"),
    					Value: pulumi.String("string"),
    				},
    			},
    			Secrets: ecs.TaskDefinitionSecretArray{
    				&ecs.TaskDefinitionSecretArgs{
    					Name:      pulumi.String("string"),
    					ValueFrom: pulumi.String("string"),
    				},
    			},
    			StartTimeout: pulumi.Int(0),
    			StopTimeout:  pulumi.Int(0),
    			SystemControls: ecs.TaskDefinitionSystemControlArray{
    				&ecs.TaskDefinitionSystemControlArgs{
    					Namespace: pulumi.String("string"),
    					Value:     pulumi.String("string"),
    				},
    			},
    			Ulimits: ecs.TaskDefinitionUlimitArray{
    				&ecs.TaskDefinitionUlimitArgs{
    					HardLimit: pulumi.Int(0),
    					Name:      pulumi.String("string"),
    					SoftLimit: pulumi.Int(0),
    				},
    			},
    			User:             pulumi.String("string"),
    			Memory:           pulumi.Int(0),
    			WorkingDirectory: pulumi.String("string"),
    		},
    		Containers: map[string]ecs.TaskDefinitionContainerDefinitionArgs{
    			"string": &ecs.TaskDefinitionContainerDefinitionArgs{
    				Image: pulumi.String("string"),
    				Name:  pulumi.String("string"),
    				Links: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				VolumesFrom: ecs.TaskDefinitionVolumeFromArray{
    					&ecs.TaskDefinitionVolumeFromArgs{
    						ReadOnly:        pulumi.Bool(false),
    						SourceContainer: pulumi.String("string"),
    					},
    				},
    				DnsSearchDomains: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				LogConfiguration: &ecs.TaskDefinitionLogConfigurationArgs{
    					LogDriver: pulumi.String("string"),
    					Options:   pulumi.Any("any"),
    					SecretOptions: ecs.TaskDefinitionSecretArray{
    						&ecs.TaskDefinitionSecretArgs{
    							Name:      pulumi.String("string"),
    							ValueFrom: pulumi.String("string"),
    						},
    					},
    				},
    				DockerLabels: pulumi.Any("any"),
    				DockerSecurityOptions: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				EntryPoint: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Environment: ecs.TaskDefinitionKeyValuePairArray{
    					&ecs.TaskDefinitionKeyValuePairArgs{
    						Name:  pulumi.String("string"),
    						Value: pulumi.String("string"),
    					},
    				},
    				EnvironmentFiles: ecs.TaskDefinitionEnvironmentFileArray{
    					&ecs.TaskDefinitionEnvironmentFileArgs{
    						Type:  pulumi.String("string"),
    						Value: pulumi.String("string"),
    					},
    				},
    				Essential: pulumi.Bool(false),
    				ExtraHosts: ecs.TaskDefinitionHostEntryArray{
    					&ecs.TaskDefinitionHostEntryArgs{
    						Hostname:  pulumi.String("string"),
    						IpAddress: pulumi.String("string"),
    					},
    				},
    				FirelensConfiguration: &ecs.TaskDefinitionFirelensConfigurationArgs{
    					Options: pulumi.Any("any"),
    					Type:    pulumi.String("string"),
    				},
    				HealthCheck: &ecs.TaskDefinitionHealthCheckArgs{
    					Command: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Interval:    pulumi.Int(0),
    					Retries:     pulumi.Int(0),
    					StartPeriod: pulumi.Int(0),
    					Timeout:     pulumi.Int(0),
    				},
    				Hostname: pulumi.String("string"),
    				DependsOn: ecs.TaskDefinitionContainerDependencyArray{
    					&ecs.TaskDefinitionContainerDependencyArgs{
    						Condition:     pulumi.String("string"),
    						ContainerName: pulumi.String("string"),
    					},
    				},
    				Interactive: pulumi.Bool(false),
    				Command: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				LinuxParameters: &ecs.TaskDefinitionLinuxParametersArgs{
    					Capabilities: &ecs.TaskDefinitionKernelCapabilitiesArgs{
    						Add: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						Drop: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    					Devices: ecs.TaskDefinitionDeviceArray{
    						&ecs.TaskDefinitionDeviceArgs{
    							ContainerPath: pulumi.String("string"),
    							HostPath:      pulumi.String("string"),
    							Permissions: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    					},
    					InitProcessEnabled: pulumi.Bool(false),
    					MaxSwap:            pulumi.Int(0),
    					SharedMemorySize:   pulumi.Int(0),
    					Swappiness:         pulumi.Int(0),
    					Tmpfs: ecs.TaskDefinitionTmpfsArray{
    						&ecs.TaskDefinitionTmpfsArgs{
    							Size:          pulumi.Int(0),
    							ContainerPath: pulumi.String("string"),
    							MountOptions: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    					},
    				},
    				DnsServers: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				DisableNetworking: pulumi.Bool(false),
    				MountPoints: ecs.TaskDefinitionMountPointArray{
    					&ecs.TaskDefinitionMountPointArgs{
    						ContainerPath: pulumi.String("string"),
    						ReadOnly:      pulumi.Bool(false),
    						SourceVolume:  pulumi.String("string"),
    					},
    				},
    				MemoryReservation: pulumi.Int(0),
    				Cpu:               pulumi.Int(0),
    				PortMappings: ecs.TaskDefinitionPortMappingArray{
    					&ecs.TaskDefinitionPortMappingArgs{
    						AppProtocol:        ecs.TaskDefinitionPortMappingAppProtocolHttp,
    						ContainerPort:      pulumi.Int(0),
    						ContainerPortRange: pulumi.String("string"),
    						HostPort:           pulumi.Int(0),
    						Name:               pulumi.String("string"),
    						Protocol:           pulumi.String("string"),
    						TargetGroup:        pulumi.Any(targetGroup),
    					},
    				},
    				Privileged:             pulumi.Bool(false),
    				PseudoTerminal:         pulumi.Bool(false),
    				ReadonlyRootFilesystem: pulumi.Bool(false),
    				RepositoryCredentials: &ecs.TaskDefinitionRepositoryCredentialsArgs{
    					CredentialsParameter: pulumi.String("string"),
    				},
    				ResourceRequirements: ecs.TaskDefinitionResourceRequirementArray{
    					&ecs.TaskDefinitionResourceRequirementArgs{
    						Type:  pulumi.String("string"),
    						Value: pulumi.String("string"),
    					},
    				},
    				Secrets: ecs.TaskDefinitionSecretArray{
    					&ecs.TaskDefinitionSecretArgs{
    						Name:      pulumi.String("string"),
    						ValueFrom: pulumi.String("string"),
    					},
    				},
    				StartTimeout: pulumi.Int(0),
    				StopTimeout:  pulumi.Int(0),
    				SystemControls: ecs.TaskDefinitionSystemControlArray{
    					&ecs.TaskDefinitionSystemControlArgs{
    						Namespace: pulumi.String("string"),
    						Value:     pulumi.String("string"),
    					},
    				},
    				Ulimits: ecs.TaskDefinitionUlimitArray{
    					&ecs.TaskDefinitionUlimitArgs{
    						HardLimit: pulumi.Int(0),
    						Name:      pulumi.String("string"),
    						SoftLimit: pulumi.Int(0),
    					},
    				},
    				User:             pulumi.String("string"),
    				Memory:           pulumi.Int(0),
    				WorkingDirectory: pulumi.String("string"),
    			},
    		},
    		Cpu: pulumi.String("string"),
    		EphemeralStorage: &ecs.TaskDefinitionEphemeralStorageArgs{
    			SizeInGib: pulumi.Int(0),
    		},
    		ExecutionRole: &awsx.DefaultRoleWithPolicyArgs{
    			Args: &awsx.RoleWithPolicyArgs{
    				Description:         pulumi.String("string"),
    				ForceDetachPolicies: pulumi.Bool(false),
    				InlinePolicies: iam.RoleInlinePolicyArray{
    					&iam.RoleInlinePolicyArgs{
    						Name:   pulumi.String("string"),
    						Policy: pulumi.String("string"),
    					},
    				},
    				ManagedPolicyArns: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				MaxSessionDuration:  pulumi.Int(0),
    				Name:                pulumi.String("string"),
    				NamePrefix:          pulumi.String("string"),
    				Path:                pulumi.String("string"),
    				PermissionsBoundary: pulumi.String("string"),
    				PolicyArns: []string{
    					"string",
    				},
    				Tags: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    			},
    			RoleArn: pulumi.String("string"),
    			Skip:    false,
    		},
    		Family: pulumi.String("string"),
    		InferenceAccelerators: ecs.TaskDefinitionInferenceAcceleratorArray{
    			&ecs.TaskDefinitionInferenceAcceleratorArgs{
    				DeviceName: pulumi.String("string"),
    				DeviceType: pulumi.String("string"),
    			},
    		},
    		IpcMode: pulumi.String("string"),
    		LogGroup: &awsx.DefaultLogGroupArgs{
    			Args: &awsx.LogGroupArgs{
    				KmsKeyId:        pulumi.String("string"),
    				LogGroupClass:   pulumi.String("string"),
    				Name:            pulumi.String("string"),
    				NamePrefix:      pulumi.String("string"),
    				RetentionInDays: pulumi.Int(0),
    				SkipDestroy:     pulumi.Bool(false),
    				Tags: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    			},
    			Existing: &awsx.ExistingLogGroupArgs{
    				Arn:    pulumi.String("string"),
    				Name:   pulumi.String("string"),
    				Region: pulumi.String("string"),
    			},
    			Skip: false,
    		},
    		Memory:      pulumi.String("string"),
    		NetworkMode: pulumi.String("string"),
    		PidMode:     pulumi.String("string"),
    		PlacementConstraints: ecs.TaskDefinitionPlacementConstraintArray{
    			&ecs.TaskDefinitionPlacementConstraintArgs{
    				Type:       pulumi.String("string"),
    				Expression: pulumi.String("string"),
    			},
    		},
    		ProxyConfiguration: &ecs.TaskDefinitionProxyConfigurationArgs{
    			ContainerName: pulumi.String("string"),
    			Properties: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			Type: pulumi.String("string"),
    		},
    		RuntimePlatform: &ecs.TaskDefinitionRuntimePlatformArgs{
    			CpuArchitecture:       pulumi.String("string"),
    			OperatingSystemFamily: pulumi.String("string"),
    		},
    		SkipDestroy: pulumi.Bool(false),
    		Tags: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    		TaskRole: &awsx.DefaultRoleWithPolicyArgs{
    			Args: &awsx.RoleWithPolicyArgs{
    				Description:         pulumi.String("string"),
    				ForceDetachPolicies: pulumi.Bool(false),
    				InlinePolicies: iam.RoleInlinePolicyArray{
    					&iam.RoleInlinePolicyArgs{
    						Name:   pulumi.String("string"),
    						Policy: pulumi.String("string"),
    					},
    				},
    				ManagedPolicyArns: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				MaxSessionDuration:  pulumi.Int(0),
    				Name:                pulumi.String("string"),
    				NamePrefix:          pulumi.String("string"),
    				Path:                pulumi.String("string"),
    				PermissionsBoundary: pulumi.String("string"),
    				PolicyArns: []string{
    					"string",
    				},
    				Tags: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    			},
    			RoleArn: pulumi.String("string"),
    			Skip:    false,
    		},
    		TrackLatest: pulumi.Bool(false),
    		Volumes: ecs.TaskDefinitionVolumeArray{
    			&ecs.TaskDefinitionVolumeArgs{
    				Name:              pulumi.String("string"),
    				ConfigureAtLaunch: pulumi.Bool(false),
    				DockerVolumeConfiguration: &ecs.TaskDefinitionVolumeDockerVolumeConfigurationArgs{
    					Autoprovision: pulumi.Bool(false),
    					Driver:        pulumi.String("string"),
    					DriverOpts: pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    					Labels: pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    					Scope: pulumi.String("string"),
    				},
    				EfsVolumeConfiguration: &ecs.TaskDefinitionVolumeEfsVolumeConfigurationArgs{
    					FileSystemId: pulumi.String("string"),
    					AuthorizationConfig: &ecs.TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs{
    						AccessPointId: pulumi.String("string"),
    						Iam:           pulumi.String("string"),
    					},
    					RootDirectory:         pulumi.String("string"),
    					TransitEncryption:     pulumi.String("string"),
    					TransitEncryptionPort: pulumi.Int(0),
    				},
    				FsxWindowsFileServerVolumeConfiguration: &ecs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs{
    					AuthorizationConfig: &ecs.TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs{
    						CredentialsParameter: pulumi.String("string"),
    						Domain:               pulumi.String("string"),
    					},
    					FileSystemId:  pulumi.String("string"),
    					RootDirectory: pulumi.String("string"),
    				},
    				HostPath: pulumi.String("string"),
    			},
    		},
    	},
    	Triggers: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	VolumeConfiguration: &ecs.ServiceVolumeConfigurationArgs{
    		ManagedEbsVolume: &ecs.ServiceVolumeConfigurationManagedEbsVolumeArgs{
    			RoleArn:        pulumi.String("string"),
    			Encrypted:      pulumi.Bool(false),
    			FileSystemType: pulumi.String("string"),
    			Iops:           pulumi.Int(0),
    			KmsKeyId:       pulumi.String("string"),
    			SizeInGb:       pulumi.Int(0),
    			SnapshotId:     pulumi.String("string"),
    			Throughput:     pulumi.Int(0),
    			VolumeType:     pulumi.String("string"),
    		},
    		Name: pulumi.String("string"),
    	},
    })
    
    var ec2serviceResource = new EC2Service("ec2serviceResource", EC2ServiceArgs.builder()
        .alarms(ServiceAlarmsArgs.builder()
            .alarmNames("string")
            .enable(false)
            .rollback(false)
            .build())
        .cluster("string")
        .continueBeforeSteadyState(false)
        .deploymentCircuitBreaker(ServiceDeploymentCircuitBreakerArgs.builder()
            .enable(false)
            .rollback(false)
            .build())
        .deploymentController(ServiceDeploymentControllerArgs.builder()
            .type("string")
            .build())
        .deploymentMaximumPercent(0)
        .deploymentMinimumHealthyPercent(0)
        .desiredCount(0)
        .enableEcsManagedTags(false)
        .enableExecuteCommand(false)
        .forceNewDeployment(false)
        .healthCheckGracePeriodSeconds(0)
        .iamRole("string")
        .loadBalancers(ServiceLoadBalancerArgs.builder()
            .containerName("string")
            .containerPort(0)
            .elbName("string")
            .targetGroupArn("string")
            .build())
        .name("string")
        .networkConfiguration(ServiceNetworkConfigurationArgs.builder()
            .subnets("string")
            .assignPublicIp(false)
            .securityGroups("string")
            .build())
        .orderedPlacementStrategies(ServiceOrderedPlacementStrategyArgs.builder()
            .type("string")
            .field("string")
            .build())
        .placementConstraints(ServicePlacementConstraintArgs.builder()
            .type("string")
            .expression("string")
            .build())
        .platformVersion("string")
        .propagateTags("string")
        .schedulingStrategy("string")
        .serviceConnectConfiguration(ServiceServiceConnectConfigurationArgs.builder()
            .enabled(false)
            .logConfiguration(ServiceServiceConnectConfigurationLogConfigurationArgs.builder()
                .logDriver("string")
                .options(Map.of("string", "string"))
                .secretOptions(ServiceServiceConnectConfigurationLogConfigurationSecretOptionArgs.builder()
                    .name("string")
                    .valueFrom("string")
                    .build())
                .build())
            .namespace("string")
            .services(ServiceServiceConnectConfigurationServiceArgs.builder()
                .portName("string")
                .clientAlias(ServiceServiceConnectConfigurationServiceClientAliasArgs.builder()
                    .port(0)
                    .dnsName("string")
                    .build())
                .discoveryName("string")
                .ingressPortOverride(0)
                .timeout(ServiceServiceConnectConfigurationServiceTimeoutArgs.builder()
                    .idleTimeoutSeconds(0)
                    .perRequestTimeoutSeconds(0)
                    .build())
                .tls(ServiceServiceConnectConfigurationServiceTlsArgs.builder()
                    .issuerCertAuthority(ServiceServiceConnectConfigurationServiceTlsIssuerCertAuthorityArgs.builder()
                        .awsPcaAuthorityArn("string")
                        .build())
                    .kmsKey("string")
                    .roleArn("string")
                    .build())
                .build())
            .build())
        .serviceRegistries(ServiceServiceRegistriesArgs.builder()
            .registryArn("string")
            .containerName("string")
            .containerPort(0)
            .port(0)
            .build())
        .tags(Map.of("string", "string"))
        .taskDefinition("string")
        .taskDefinitionArgs(EC2ServiceTaskDefinitionArgs.builder()
            .container(TaskDefinitionContainerDefinitionArgs.builder()
                .image("string")
                .name("string")
                .links("string")
                .volumesFrom(TaskDefinitionVolumeFromArgs.builder()
                    .readOnly(false)
                    .sourceContainer("string")
                    .build())
                .dnsSearchDomains("string")
                .logConfiguration(TaskDefinitionLogConfigurationArgs.builder()
                    .logDriver("string")
                    .options("any")
                    .secretOptions(TaskDefinitionSecretArgs.builder()
                        .name("string")
                        .valueFrom("string")
                        .build())
                    .build())
                .dockerLabels("any")
                .dockerSecurityOptions("string")
                .entryPoint("string")
                .environment(TaskDefinitionKeyValuePairArgs.builder()
                    .name("string")
                    .value("string")
                    .build())
                .environmentFiles(TaskDefinitionEnvironmentFileArgs.builder()
                    .type("string")
                    .value("string")
                    .build())
                .essential(false)
                .extraHosts(TaskDefinitionHostEntryArgs.builder()
                    .hostname("string")
                    .ipAddress("string")
                    .build())
                .firelensConfiguration(TaskDefinitionFirelensConfigurationArgs.builder()
                    .options("any")
                    .type("string")
                    .build())
                .healthCheck(TaskDefinitionHealthCheckArgs.builder()
                    .command("string")
                    .interval(0)
                    .retries(0)
                    .startPeriod(0)
                    .timeout(0)
                    .build())
                .hostname("string")
                .dependsOn(TaskDefinitionContainerDependencyArgs.builder()
                    .condition("string")
                    .containerName("string")
                    .build())
                .interactive(false)
                .command("string")
                .linuxParameters(TaskDefinitionLinuxParametersArgs.builder()
                    .capabilities(TaskDefinitionKernelCapabilitiesArgs.builder()
                        .add("string")
                        .drop("string")
                        .build())
                    .devices(TaskDefinitionDeviceArgs.builder()
                        .containerPath("string")
                        .hostPath("string")
                        .permissions("string")
                        .build())
                    .initProcessEnabled(false)
                    .maxSwap(0)
                    .sharedMemorySize(0)
                    .swappiness(0)
                    .tmpfs(TaskDefinitionTmpfsArgs.builder()
                        .size(0)
                        .containerPath("string")
                        .mountOptions("string")
                        .build())
                    .build())
                .dnsServers("string")
                .disableNetworking(false)
                .mountPoints(TaskDefinitionMountPointArgs.builder()
                    .containerPath("string")
                    .readOnly(false)
                    .sourceVolume("string")
                    .build())
                .memoryReservation(0)
                .cpu(0)
                .portMappings(TaskDefinitionPortMappingArgs.builder()
                    .appProtocol("http")
                    .containerPort(0)
                    .containerPortRange("string")
                    .hostPort(0)
                    .name("string")
                    .protocol("string")
                    .targetGroup(targetGroup)
                    .build())
                .privileged(false)
                .pseudoTerminal(false)
                .readonlyRootFilesystem(false)
                .repositoryCredentials(TaskDefinitionRepositoryCredentialsArgs.builder()
                    .credentialsParameter("string")
                    .build())
                .resourceRequirements(TaskDefinitionResourceRequirementArgs.builder()
                    .type("string")
                    .value("string")
                    .build())
                .secrets(TaskDefinitionSecretArgs.builder()
                    .name("string")
                    .valueFrom("string")
                    .build())
                .startTimeout(0)
                .stopTimeout(0)
                .systemControls(TaskDefinitionSystemControlArgs.builder()
                    .namespace("string")
                    .value("string")
                    .build())
                .ulimits(TaskDefinitionUlimitArgs.builder()
                    .hardLimit(0)
                    .name("string")
                    .softLimit(0)
                    .build())
                .user("string")
                .memory(0)
                .workingDirectory("string")
                .build())
            .containers(Map.of("string", Map.ofEntries(
                Map.entry("image", "string"),
                Map.entry("name", "string"),
                Map.entry("links", "string"),
                Map.entry("volumesFrom", Map.ofEntries(
                    Map.entry("readOnly", false),
                    Map.entry("sourceContainer", "string")
                )),
                Map.entry("dnsSearchDomains", "string"),
                Map.entry("logConfiguration", Map.ofEntries(
                    Map.entry("logDriver", "string"),
                    Map.entry("options", "any"),
                    Map.entry("secretOptions", Map.ofEntries(
                        Map.entry("name", "string"),
                        Map.entry("valueFrom", "string")
                    ))
                )),
                Map.entry("dockerLabels", "any"),
                Map.entry("dockerSecurityOptions", "string"),
                Map.entry("entryPoint", "string"),
                Map.entry("environment", Map.ofEntries(
                    Map.entry("name", "string"),
                    Map.entry("value", "string")
                )),
                Map.entry("environmentFiles", Map.ofEntries(
                    Map.entry("type", "string"),
                    Map.entry("value", "string")
                )),
                Map.entry("essential", false),
                Map.entry("extraHosts", Map.ofEntries(
                    Map.entry("hostname", "string"),
                    Map.entry("ipAddress", "string")
                )),
                Map.entry("firelensConfiguration", Map.ofEntries(
                    Map.entry("options", "any"),
                    Map.entry("type", "string")
                )),
                Map.entry("healthCheck", Map.ofEntries(
                    Map.entry("command", "string"),
                    Map.entry("interval", 0),
                    Map.entry("retries", 0),
                    Map.entry("startPeriod", 0),
                    Map.entry("timeout", 0)
                )),
                Map.entry("hostname", "string"),
                Map.entry("dependsOn", Map.ofEntries(
                    Map.entry("condition", "string"),
                    Map.entry("containerName", "string")
                )),
                Map.entry("interactive", false),
                Map.entry("command", "string"),
                Map.entry("linuxParameters", Map.ofEntries(
                    Map.entry("capabilities", Map.ofEntries(
                        Map.entry("add", "string"),
                        Map.entry("drop", "string")
                    )),
                    Map.entry("devices", Map.ofEntries(
                        Map.entry("containerPath", "string"),
                        Map.entry("hostPath", "string"),
                        Map.entry("permissions", "string")
                    )),
                    Map.entry("initProcessEnabled", false),
                    Map.entry("maxSwap", 0),
                    Map.entry("sharedMemorySize", 0),
                    Map.entry("swappiness", 0),
                    Map.entry("tmpfs", Map.ofEntries(
                        Map.entry("size", 0),
                        Map.entry("containerPath", "string"),
                        Map.entry("mountOptions", "string")
                    ))
                )),
                Map.entry("dnsServers", "string"),
                Map.entry("disableNetworking", false),
                Map.entry("mountPoints", Map.ofEntries(
                    Map.entry("containerPath", "string"),
                    Map.entry("readOnly", false),
                    Map.entry("sourceVolume", "string")
                )),
                Map.entry("memoryReservation", 0),
                Map.entry("cpu", 0),
                Map.entry("portMappings", Map.ofEntries(
                    Map.entry("appProtocol", "http"),
                    Map.entry("containerPort", 0),
                    Map.entry("containerPortRange", "string"),
                    Map.entry("hostPort", 0),
                    Map.entry("name", "string"),
                    Map.entry("protocol", "string"),
                    Map.entry("targetGroup", targetGroup)
                )),
                Map.entry("privileged", false),
                Map.entry("pseudoTerminal", false),
                Map.entry("readonlyRootFilesystem", false),
                Map.entry("repositoryCredentials", Map.of("credentialsParameter", "string")),
                Map.entry("resourceRequirements", Map.ofEntries(
                    Map.entry("type", "string"),
                    Map.entry("value", "string")
                )),
                Map.entry("secrets", Map.ofEntries(
                    Map.entry("name", "string"),
                    Map.entry("valueFrom", "string")
                )),
                Map.entry("startTimeout", 0),
                Map.entry("stopTimeout", 0),
                Map.entry("systemControls", Map.ofEntries(
                    Map.entry("namespace", "string"),
                    Map.entry("value", "string")
                )),
                Map.entry("ulimits", Map.ofEntries(
                    Map.entry("hardLimit", 0),
                    Map.entry("name", "string"),
                    Map.entry("softLimit", 0)
                )),
                Map.entry("user", "string"),
                Map.entry("memory", 0),
                Map.entry("workingDirectory", "string")
            )))
            .cpu("string")
            .ephemeralStorage(TaskDefinitionEphemeralStorageArgs.builder()
                .sizeInGib(0)
                .build())
            .executionRole(DefaultRoleWithPolicyArgs.builder()
                .args(RoleWithPolicyArgs.builder()
                    .description("string")
                    .forceDetachPolicies(false)
                    .inlinePolicies(RoleInlinePolicyArgs.builder()
                        .name("string")
                        .policy("string")
                        .build())
                    .managedPolicyArns("string")
                    .maxSessionDuration(0)
                    .name("string")
                    .namePrefix("string")
                    .path("string")
                    .permissionsBoundary("string")
                    .policyArns("string")
                    .tags(Map.of("string", "string"))
                    .build())
                .roleArn("string")
                .skip(false)
                .build())
            .family("string")
            .inferenceAccelerators(TaskDefinitionInferenceAcceleratorArgs.builder()
                .deviceName("string")
                .deviceType("string")
                .build())
            .ipcMode("string")
            .logGroup(DefaultLogGroupArgs.builder()
                .args(LogGroupArgs.builder()
                    .kmsKeyId("string")
                    .logGroupClass("string")
                    .name("string")
                    .namePrefix("string")
                    .retentionInDays(0)
                    .skipDestroy(false)
                    .tags(Map.of("string", "string"))
                    .build())
                .existing(ExistingLogGroupArgs.builder()
                    .arn("string")
                    .name("string")
                    .region("string")
                    .build())
                .skip(false)
                .build())
            .memory("string")
            .networkMode("string")
            .pidMode("string")
            .placementConstraints(TaskDefinitionPlacementConstraintArgs.builder()
                .type("string")
                .expression("string")
                .build())
            .proxyConfiguration(TaskDefinitionProxyConfigurationArgs.builder()
                .containerName("string")
                .properties(Map.of("string", "string"))
                .type("string")
                .build())
            .runtimePlatform(TaskDefinitionRuntimePlatformArgs.builder()
                .cpuArchitecture("string")
                .operatingSystemFamily("string")
                .build())
            .skipDestroy(false)
            .tags(Map.of("string", "string"))
            .taskRole(DefaultRoleWithPolicyArgs.builder()
                .args(RoleWithPolicyArgs.builder()
                    .description("string")
                    .forceDetachPolicies(false)
                    .inlinePolicies(RoleInlinePolicyArgs.builder()
                        .name("string")
                        .policy("string")
                        .build())
                    .managedPolicyArns("string")
                    .maxSessionDuration(0)
                    .name("string")
                    .namePrefix("string")
                    .path("string")
                    .permissionsBoundary("string")
                    .policyArns("string")
                    .tags(Map.of("string", "string"))
                    .build())
                .roleArn("string")
                .skip(false)
                .build())
            .trackLatest(false)
            .volumes(TaskDefinitionVolumeArgs.builder()
                .name("string")
                .configureAtLaunch(false)
                .dockerVolumeConfiguration(TaskDefinitionVolumeDockerVolumeConfigurationArgs.builder()
                    .autoprovision(false)
                    .driver("string")
                    .driverOpts(Map.of("string", "string"))
                    .labels(Map.of("string", "string"))
                    .scope("string")
                    .build())
                .efsVolumeConfiguration(TaskDefinitionVolumeEfsVolumeConfigurationArgs.builder()
                    .fileSystemId("string")
                    .authorizationConfig(TaskDefinitionVolumeEfsVolumeConfigurationAuthorizationConfigArgs.builder()
                        .accessPointId("string")
                        .iam("string")
                        .build())
                    .rootDirectory("string")
                    .transitEncryption("string")
                    .transitEncryptionPort(0)
                    .build())
                .fsxWindowsFileServerVolumeConfiguration(TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationArgs.builder()
                    .authorizationConfig(TaskDefinitionVolumeFsxWindowsFileServerVolumeConfigurationAuthorizationConfigArgs.builder()
                        .credentialsParameter("string")
                        .domain("string")
                        .build())
                    .fileSystemId("string")
                    .rootDirectory("string")
                    .build())
                .hostPath("string")
                .build())
            .build())
        .triggers(Map.of("string", "string"))
        .volumeConfiguration(ServiceVolumeConfigurationArgs.builder()
            .managedEbsVolume(ServiceVolumeConfigurationManagedEbsVolumeArgs.builder()
                .roleArn("string")
                .encrypted(false)
                .fileSystemType("string")
                .iops(0)
                .kmsKeyId("string")
                .sizeInGb(0)
                .snapshotId("string")
                .throughput(0)
                .volumeType("string")
                .build())
            .name("string")
            .build())
        .build());
    
    ec2service_resource = awsx.ecs.EC2Service("ec2serviceResource",
        alarms={
            "alarmNames": ["string"],
            "enable": False,
            "rollback": False,
        },
        cluster="string",
        continue_before_steady_state=False,
        deployment_circuit_breaker={
            "enable": False,
            "rollback": False,
        },
        deployment_controller={
            "type": "string",
        },
        deployment_maximum_percent=0,
        deployment_minimum_healthy_percent=0,
        desired_count=0,
        enable_ecs_managed_tags=False,
        enable_execute_command=False,
        force_new_deployment=False,
        health_check_grace_period_seconds=0,
        iam_role="string",
        load_balancers=[{
            "containerName": "string",
            "containerPort": 0,
            "elbName": "string",
            "targetGroupArn": "string",
        }],
        name="string",
        network_configuration={
            "subnets": ["string"],
            "assignPublicIp": False,
            "securityGroups": ["string"],
        },
        ordered_placement_strategies=[{
            "type": "string",
            "field": "string",
        }],
        placement_constraints=[{
            "type": "string",
            "expression": "string",
        }],
        platform_version="string",
        propagate_tags="string",
        scheduling_strategy="string",
        service_connect_configuration={
            "enabled": False,
            "logConfiguration": {
                "logDriver": "string",
                "options": {
                    "string": "string",
                },
                "secretOptions": [{
                    "name": "string",
                    "valueFrom": "string",
                }],
            },
            "namespace": "string",
            "services": [{
                "portName": "string",
                "clientAlias": [{
                    "port": 0,
                    "dnsName": "string",
                }],
                "discoveryName": "string",
                "ingressPortOverride": 0,
                "timeout": {
                    "idleTimeoutSeconds": 0,
                    "perRequestTimeoutSeconds": 0,
                },
                "tls": {
                    "issuerCertAuthority": {
                        "awsPcaAuthorityArn": "string",
                    },
                    "kmsKey": "string",
                    "roleArn": "string",
                },
            }],
        },
        service_registries={
            "registryArn": "string",
            "containerName": "string",
            "containerPort": 0,
            "port": 0,
        },
        tags={
            "string": "string",
        },
        task_definition="string",
        task_definition_args=awsx.ecs.EC2ServiceTaskDefinitionArgs(
            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={
                "sizeInGib": 0,
            },
            execution_role=awsx.awsx.DefaultRoleWithPolicyArgs(
                args=awsx.awsx.RoleWithPolicyArgs(
                    description="string",
                    force_detach_policies=False,
                    inline_policies=[{
                        "name": "string",
                        "policy": "string",
                    }],
                    managed_policy_arns=["string"],
                    max_session_duration=0,
                    name="string",
                    name_prefix="string",
                    path="string",
                    permissions_boundary="string",
                    policy_arns=["string"],
                    tags={
                        "string": "string",
                    },
                ),
                role_arn="string",
                skip=False,
            ),
            family="string",
            inference_accelerators=[{
                "deviceName": "string",
                "deviceType": "string",
            }],
            ipc_mode="string",
            log_group=awsx.awsx.DefaultLogGroupArgs(
                args=awsx.awsx.LogGroupArgs(
                    kms_key_id="string",
                    log_group_class="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=[{
                "type": "string",
                "expression": "string",
            }],
            proxy_configuration={
                "containerName": "string",
                "properties": {
                    "string": "string",
                },
                "type": "string",
            },
            runtime_platform={
                "cpuArchitecture": "string",
                "operatingSystemFamily": "string",
            },
            skip_destroy=False,
            tags={
                "string": "string",
            },
            task_role=awsx.awsx.DefaultRoleWithPolicyArgs(
                args=awsx.awsx.RoleWithPolicyArgs(
                    description="string",
                    force_detach_policies=False,
                    inline_policies=[{
                        "name": "string",
                        "policy": "string",
                    }],
                    managed_policy_arns=["string"],
                    max_session_duration=0,
                    name="string",
                    name_prefix="string",
                    path="string",
                    permissions_boundary="string",
                    policy_arns=["string"],
                    tags={
                        "string": "string",
                    },
                ),
                role_arn="string",
                skip=False,
            ),
            track_latest=False,
            volumes=[{
                "name": "string",
                "configureAtLaunch": False,
                "dockerVolumeConfiguration": {
                    "autoprovision": False,
                    "driver": "string",
                    "driverOpts": {
                        "string": "string",
                    },
                    "labels": {
                        "string": "string",
                    },
                    "scope": "string",
                },
                "efsVolumeConfiguration": {
                    "fileSystemId": "string",
                    "authorizationConfig": {
                        "accessPointId": "string",
                        "iam": "string",
                    },
                    "rootDirectory": "string",
                    "transitEncryption": "string",
                    "transitEncryptionPort": 0,
                },
                "fsxWindowsFileServerVolumeConfiguration": {
                    "authorizationConfig": {
                        "credentialsParameter": "string",
                        "domain": "string",
                    },
                    "fileSystemId": "string",
                    "rootDirectory": "string",
                },
                "hostPath": "string",
            }],
        ),
        triggers={
            "string": "string",
        },
        volume_configuration={
            "managedEbsVolume": {
                "roleArn": "string",
                "encrypted": False,
                "fileSystemType": "string",
                "iops": 0,
                "kmsKeyId": "string",
                "sizeInGb": 0,
                "snapshotId": "string",
                "throughput": 0,
                "volumeType": "string",
            },
            "name": "string",
        })
    
    const ec2serviceResource = new awsx.ecs.EC2Service("ec2serviceResource", {
        alarms: {
            alarmNames: ["string"],
            enable: false,
            rollback: false,
        },
        cluster: "string",
        continueBeforeSteadyState: false,
        deploymentCircuitBreaker: {
            enable: false,
            rollback: false,
        },
        deploymentController: {
            type: "string",
        },
        deploymentMaximumPercent: 0,
        deploymentMinimumHealthyPercent: 0,
        desiredCount: 0,
        enableEcsManagedTags: false,
        enableExecuteCommand: false,
        forceNewDeployment: false,
        healthCheckGracePeriodSeconds: 0,
        iamRole: "string",
        loadBalancers: [{
            containerName: "string",
            containerPort: 0,
            elbName: "string",
            targetGroupArn: "string",
        }],
        name: "string",
        networkConfiguration: {
            subnets: ["string"],
            assignPublicIp: false,
            securityGroups: ["string"],
        },
        orderedPlacementStrategies: [{
            type: "string",
            field: "string",
        }],
        placementConstraints: [{
            type: "string",
            expression: "string",
        }],
        platformVersion: "string",
        propagateTags: "string",
        schedulingStrategy: "string",
        serviceConnectConfiguration: {
            enabled: false,
            logConfiguration: {
                logDriver: "string",
                options: {
                    string: "string",
                },
                secretOptions: [{
                    name: "string",
                    valueFrom: "string",
                }],
            },
            namespace: "string",
            services: [{
                portName: "string",
                clientAlias: [{
                    port: 0,
                    dnsName: "string",
                }],
                discoveryName: "string",
                ingressPortOverride: 0,
                timeout: {
                    idleTimeoutSeconds: 0,
                    perRequestTimeoutSeconds: 0,
                },
                tls: {
                    issuerCertAuthority: {
                        awsPcaAuthorityArn: "string",
                    },
                    kmsKey: "string",
                    roleArn: "string",
                },
            }],
        },
        serviceRegistries: {
            registryArn: "string",
            containerName: "string",
            containerPort: 0,
            port: 0,
        },
        tags: {
            string: "string",
        },
        taskDefinition: "string",
        taskDefinitionArgs: {
            container: {
                image: "string",
                name: "string",
                links: ["string"],
                volumesFrom: [{
                    readOnly: false,
                    sourceContainer: "string",
                }],
                dnsSearchDomains: ["string"],
                logConfiguration: {
                    logDriver: "string",
                    options: "any",
                    secretOptions: [{
                        name: "string",
                        valueFrom: "string",
                    }],
                },
                dockerLabels: "any",
                dockerSecurityOptions: ["string"],
                entryPoint: ["string"],
                environment: [{
                    name: "string",
                    value: "string",
                }],
                environmentFiles: [{
                    type: "string",
                    value: "string",
                }],
                essential: false,
                extraHosts: [{
                    hostname: "string",
                    ipAddress: "string",
                }],
                firelensConfiguration: {
                    options: "any",
                    type: "string",
                },
                healthCheck: {
                    command: ["string"],
                    interval: 0,
                    retries: 0,
                    startPeriod: 0,
                    timeout: 0,
                },
                hostname: "string",
                dependsOn: [{
                    condition: "string",
                    containerName: "string",
                }],
                interactive: false,
                command: ["string"],
                linuxParameters: {
                    capabilities: {
                        add: ["string"],
                        drop: ["string"],
                    },
                    devices: [{
                        containerPath: "string",
                        hostPath: "string",
                        permissions: ["string"],
                    }],
                    initProcessEnabled: false,
                    maxSwap: 0,
                    sharedMemorySize: 0,
                    swappiness: 0,
                    tmpfs: [{
                        size: 0,
                        containerPath: "string",
                        mountOptions: ["string"],
                    }],
                },
                dnsServers: ["string"],
                disableNetworking: false,
                mountPoints: [{
                    containerPath: "string",
                    readOnly: false,
                    sourceVolume: "string",
                }],
                memoryReservation: 0,
                cpu: 0,
                portMappings: [{
                    appProtocol: awsx.ecs.TaskDefinitionPortMappingAppProtocol.Http,
                    containerPort: 0,
                    containerPortRange: "string",
                    hostPort: 0,
                    name: "string",
                    protocol: "string",
                    targetGroup: targetGroup,
                }],
                privileged: false,
                pseudoTerminal: false,
                readonlyRootFilesystem: false,
                repositoryCredentials: {
                    credentialsParameter: "string",
                },
                resourceRequirements: [{
                    type: "string",
                    value: "string",
                }],
                secrets: [{
                    name: "string",
                    valueFrom: "string",
                }],
                startTimeout: 0,
                stopTimeout: 0,
                systemControls: [{
                    namespace: "string",
                    value: "string",
                }],
                ulimits: [{
                    hardLimit: 0,
                    name: "string",
                    softLimit: 0,
                }],
                user: "string",
                memory: 0,
                workingDirectory: "string",
            },
            containers: {
                string: {
                    image: "string",
                    name: "string",
                    links: ["string"],
                    volumesFrom: [{
                        readOnly: false,
                        sourceContainer: "string",
                    }],
                    dnsSearchDomains: ["string"],
                    logConfiguration: {
                        logDriver: "string",
                        options: "any",
                        secretOptions: [{
                            name: "string",
                            valueFrom: "string",
                        }],
                    },
                    dockerLabels: "any",
                    dockerSecurityOptions: ["string"],
                    entryPoint: ["string"],
                    environment: [{
                        name: "string",
                        value: "string",
                    }],
                    environmentFiles: [{
                        type: "string",
                        value: "string",
                    }],
                    essential: false,
                    extraHosts: [{
                        hostname: "string",
                        ipAddress: "string",
                    }],
                    firelensConfiguration: {
                        options: "any",
                        type: "string",
                    },
                    healthCheck: {
                        command: ["string"],
                        interval: 0,
                        retries: 0,
                        startPeriod: 0,
                        timeout: 0,
                    },
                    hostname: "string",
                    dependsOn: [{
                        condition: "string",
                        containerName: "string",
                    }],
                    interactive: false,
                    command: ["string"],
                    linuxParameters: {
                        capabilities: {
                            add: ["string"],
                            drop: ["string"],
                        },
                        devices: [{
                            containerPath: "string",
                            hostPath: "string",
                            permissions: ["string"],
                        }],
                        initProcessEnabled: false,
                        maxSwap: 0,
                        sharedMemorySize: 0,
                        swappiness: 0,
                        tmpfs: [{
                            size: 0,
                            containerPath: "string",
                            mountOptions: ["string"],
                        }],
                    },
                    dnsServers: ["string"],
                    disableNetworking: false,
                    mountPoints: [{
                        containerPath: "string",
                        readOnly: false,
                        sourceVolume: "string",
                    }],
                    memoryReservation: 0,
                    cpu: 0,
                    portMappings: [{
                        appProtocol: awsx.ecs.TaskDefinitionPortMappingAppProtocol.Http,
                        containerPort: 0,
                        containerPortRange: "string",
                        hostPort: 0,
                        name: "string",
                        protocol: "string",
                        targetGroup: targetGroup,
                    }],
                    privileged: false,
                    pseudoTerminal: false,
                    readonlyRootFilesystem: false,
                    repositoryCredentials: {
                        credentialsParameter: "string",
                    },
                    resourceRequirements: [{
                        type: "string",
                        value: "string",
                    }],
                    secrets: [{
                        name: "string",
                        valueFrom: "string",
                    }],
                    startTimeout: 0,
                    stopTimeout: 0,
                    systemControls: [{
                        namespace: "string",
                        value: "string",
                    }],
                    ulimits: [{
                        hardLimit: 0,
                        name: "string",
                        softLimit: 0,
                    }],
                    user: "string",
                    memory: 0,
                    workingDirectory: "string",
                },
            },
            cpu: "string",
            ephemeralStorage: {
                sizeInGib: 0,
            },
            executionRole: {
                args: {
                    description: "string",
                    forceDetachPolicies: false,
                    inlinePolicies: [{
                        name: "string",
                        policy: "string",
                    }],
                    managedPolicyArns: ["string"],
                    maxSessionDuration: 0,
                    name: "string",
                    namePrefix: "string",
                    path: "string",
                    permissionsBoundary: "string",
                    policyArns: ["string"],
                    tags: {
                        string: "string",
                    },
                },
                roleArn: "string",
                skip: false,
            },
            family: "string",
            inferenceAccelerators: [{
                deviceName: "string",
                deviceType: "string",
            }],
            ipcMode: "string",
            logGroup: {
                args: {
                    kmsKeyId: "string",
                    logGroupClass: "string",
                    name: "string",
                    namePrefix: "string",
                    retentionInDays: 0,
                    skipDestroy: false,
                    tags: {
                        string: "string",
                    },
                },
                existing: {
                    arn: "string",
                    name: "string",
                    region: "string",
                },
                skip: false,
            },
            memory: "string",
            networkMode: "string",
            pidMode: "string",
            placementConstraints: [{
                type: "string",
                expression: "string",
            }],
            proxyConfiguration: {
                containerName: "string",
                properties: {
                    string: "string",
                },
                type: "string",
            },
            runtimePlatform: {
                cpuArchitecture: "string",
                operatingSystemFamily: "string",
            },
            skipDestroy: false,
            tags: {
                string: "string",
            },
            taskRole: {
                args: {
                    description: "string",
                    forceDetachPolicies: false,
                    inlinePolicies: [{
                        name: "string",
                        policy: "string",
                    }],
                    managedPolicyArns: ["string"],
                    maxSessionDuration: 0,
                    name: "string",
                    namePrefix: "string",
                    path: "string",
                    permissionsBoundary: "string",
                    policyArns: ["string"],
                    tags: {
                        string: "string",
                    },
                },
                roleArn: "string",
                skip: false,
            },
            trackLatest: false,
            volumes: [{
                name: "string",
                configureAtLaunch: false,
                dockerVolumeConfiguration: {
                    autoprovision: false,
                    driver: "string",
                    driverOpts: {
                        string: "string",
                    },
                    labels: {
                        string: "string",
                    },
                    scope: "string",
                },
                efsVolumeConfiguration: {
                    fileSystemId: "string",
                    authorizationConfig: {
                        accessPointId: "string",
                        iam: "string",
                    },
                    rootDirectory: "string",
                    transitEncryption: "string",
                    transitEncryptionPort: 0,
                },
                fsxWindowsFileServerVolumeConfiguration: {
                    authorizationConfig: {
                        credentialsParameter: "string",
                        domain: "string",
                    },
                    fileSystemId: "string",
                    rootDirectory: "string",
                },
                hostPath: "string",
            }],
        },
        triggers: {
            string: "string",
        },
        volumeConfiguration: {
            managedEbsVolume: {
                roleArn: "string",
                encrypted: false,
                fileSystemType: "string",
                iops: 0,
                kmsKeyId: "string",
                sizeInGb: 0,
                snapshotId: "string",
                throughput: 0,
                volumeType: "string",
            },
            name: "string",
        },
    });
    
    type: awsx:ecs:EC2Service
    properties:
        alarms:
            alarmNames:
                - string
            enable: false
            rollback: false
        cluster: string
        continueBeforeSteadyState: false
        deploymentCircuitBreaker:
            enable: false
            rollback: false
        deploymentController:
            type: string
        deploymentMaximumPercent: 0
        deploymentMinimumHealthyPercent: 0
        desiredCount: 0
        enableEcsManagedTags: false
        enableExecuteCommand: false
        forceNewDeployment: false
        healthCheckGracePeriodSeconds: 0
        iamRole: string
        loadBalancers:
            - containerName: string
              containerPort: 0
              elbName: string
              targetGroupArn: string
        name: string
        networkConfiguration:
            assignPublicIp: false
            securityGroups:
                - string
            subnets:
                - string
        orderedPlacementStrategies:
            - field: string
              type: string
        placementConstraints:
            - expression: string
              type: string
        platformVersion: string
        propagateTags: string
        schedulingStrategy: string
        serviceConnectConfiguration:
            enabled: false
            logConfiguration:
                logDriver: string
                options:
                    string: string
                secretOptions:
                    - name: string
                      valueFrom: string
            namespace: string
            services:
                - clientAlias:
                    - dnsName: string
                      port: 0
                  discoveryName: string
                  ingressPortOverride: 0
                  portName: string
                  timeout:
                    idleTimeoutSeconds: 0
                    perRequestTimeoutSeconds: 0
                  tls:
                    issuerCertAuthority:
                        awsPcaAuthorityArn: string
                    kmsKey: string
                    roleArn: string
        serviceRegistries:
            containerName: string
            containerPort: 0
            port: 0
            registryArn: string
        tags:
            string: string
        taskDefinition: string
        taskDefinitionArgs:
            container:
                command:
                    - string
                cpu: 0
                dependsOn:
                    - condition: string
                      containerName: string
                disableNetworking: false
                dnsSearchDomains:
                    - string
                dnsServers:
                    - string
                dockerLabels: any
                dockerSecurityOptions:
                    - string
                entryPoint:
                    - string
                environment:
                    - name: string
                      value: string
                environmentFiles:
                    - type: string
                      value: string
                essential: false
                extraHosts:
                    - hostname: string
                      ipAddress: string
                firelensConfiguration:
                    options: any
                    type: string
                healthCheck:
                    command:
                        - string
                    interval: 0
                    retries: 0
                    startPeriod: 0
                    timeout: 0
                hostname: string
                image: string
                interactive: false
                links:
                    - string
                linuxParameters:
                    capabilities:
                        add:
                            - string
                        drop:
                            - string
                    devices:
                        - containerPath: string
                          hostPath: string
                          permissions:
                            - string
                    initProcessEnabled: false
                    maxSwap: 0
                    sharedMemorySize: 0
                    swappiness: 0
                    tmpfs:
                        - containerPath: string
                          mountOptions:
                            - string
                          size: 0
                logConfiguration:
                    logDriver: string
                    options: any
                    secretOptions:
                        - name: string
                          valueFrom: string
                memory: 0
                memoryReservation: 0
                mountPoints:
                    - containerPath: string
                      readOnly: false
                      sourceVolume: string
                name: string
                portMappings:
                    - appProtocol: http
                      containerPort: 0
                      containerPortRange: string
                      hostPort: 0
                      name: string
                      protocol: string
                      targetGroup: ${targetGroup}
                privileged: false
                pseudoTerminal: false
                readonlyRootFilesystem: false
                repositoryCredentials:
                    credentialsParameter: string
                resourceRequirements:
                    - type: string
                      value: string
                secrets:
                    - name: string
                      valueFrom: string
                startTimeout: 0
                stopTimeout: 0
                systemControls:
                    - namespace: string
                      value: string
                ulimits:
                    - hardLimit: 0
                      name: string
                      softLimit: 0
                user: string
                volumesFrom:
                    - readOnly: false
                      sourceContainer: string
                workingDirectory: string
            containers:
                string:
                    command:
                        - string
                    cpu: 0
                    dependsOn:
                        - condition: string
                          containerName: string
                    disableNetworking: false
                    dnsSearchDomains:
                        - string
                    dnsServers:
                        - string
                    dockerLabels: any
                    dockerSecurityOptions:
                        - string
                    entryPoint:
                        - string
                    environment:
                        - name: string
                          value: string
                    environmentFiles:
                        - type: string
                          value: string
                    essential: false
                    extraHosts:
                        - hostname: string
                          ipAddress: string
                    firelensConfiguration:
                        options: any
                        type: string
                    healthCheck:
                        command:
                            - string
                        interval: 0
                        retries: 0
                        startPeriod: 0
                        timeout: 0
                    hostname: string
                    image: string
                    interactive: false
                    links:
                        - string
                    linuxParameters:
                        capabilities:
                            add:
                                - string
                            drop:
                                - string
                        devices:
                            - containerPath: string
                              hostPath: string
                              permissions:
                                - string
                        initProcessEnabled: false
                        maxSwap: 0
                        sharedMemorySize: 0
                        swappiness: 0
                        tmpfs:
                            - containerPath: string
                              mountOptions:
                                - string
                              size: 0
                    logConfiguration:
                        logDriver: string
                        options: any
                        secretOptions:
                            - name: string
                              valueFrom: string
                    memory: 0
                    memoryReservation: 0
                    mountPoints:
                        - containerPath: string
                          readOnly: false
                          sourceVolume: string
                    name: string
                    portMappings:
                        - appProtocol: http
                          containerPort: 0
                          containerPortRange: string
                          hostPort: 0
                          name: string
                          protocol: string
                          targetGroup: ${targetGroup}
                    privileged: false
                    pseudoTerminal: false
                    readonlyRootFilesystem: false
                    repositoryCredentials:
                        credentialsParameter: string
                    resourceRequirements:
                        - type: string
                          value: string
                    secrets:
                        - name: string
                          valueFrom: string
                    startTimeout: 0
                    stopTimeout: 0
                    systemControls:
                        - namespace: string
                          value: string
                    ulimits:
                        - hardLimit: 0
                          name: string
                          softLimit: 0
                    user: string
                    volumesFrom:
                        - readOnly: false
                          sourceContainer: string
                    workingDirectory: string
            cpu: string
            ephemeralStorage:
                sizeInGib: 0
            executionRole:
                args:
                    description: string
                    forceDetachPolicies: false
                    inlinePolicies:
                        - name: string
                          policy: string
                    managedPolicyArns:
                        - string
                    maxSessionDuration: 0
                    name: string
                    namePrefix: string
                    path: string
                    permissionsBoundary: string
                    policyArns:
                        - string
                    tags:
                        string: string
                roleArn: string
                skip: false
            family: string
            inferenceAccelerators:
                - deviceName: string
                  deviceType: string
            ipcMode: string
            logGroup:
                args:
                    kmsKeyId: string
                    logGroupClass: string
                    name: string
                    namePrefix: string
                    retentionInDays: 0
                    skipDestroy: false
                    tags:
                        string: string
                existing:
                    arn: string
                    name: string
                    region: string
                skip: false
            memory: string
            networkMode: string
            pidMode: string
            placementConstraints:
                - expression: string
                  type: string
            proxyConfiguration:
                containerName: string
                properties:
                    string: string
                type: string
            runtimePlatform:
                cpuArchitecture: string
                operatingSystemFamily: string
            skipDestroy: false
            tags:
                string: string
            taskRole:
                args:
                    description: string
                    forceDetachPolicies: false
                    inlinePolicies:
                        - name: string
                          policy: string
                    managedPolicyArns:
                        - string
                    maxSessionDuration: 0
                    name: string
                    namePrefix: string
                    path: string
                    permissionsBoundary: string
                    policyArns:
                        - string
                    tags:
                        string: string
                roleArn: string
                skip: false
            trackLatest: false
            volumes:
                - configureAtLaunch: false
                  dockerVolumeConfiguration:
                    autoprovision: false
                    driver: string
                    driverOpts:
                        string: string
                    labels:
                        string: string
                    scope: string
                  efsVolumeConfiguration:
                    authorizationConfig:
                        accessPointId: string
                        iam: string
                    fileSystemId: string
                    rootDirectory: string
                    transitEncryption: string
                    transitEncryptionPort: 0
                  fsxWindowsFileServerVolumeConfiguration:
                    authorizationConfig:
                        credentialsParameter: string
                        domain: string
                    fileSystemId: string
                    rootDirectory: string
                  hostPath: string
                  name: string
        triggers:
            string: string
        volumeConfiguration:
            managedEbsVolume:
                encrypted: false
                fileSystemType: string
                iops: 0
                kmsKeyId: string
                roleArn: string
                sizeInGb: 0
                snapshotId: string
                throughput: 0
                volumeType: string
            name: string
    

    EC2Service 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 EC2Service resource accepts the following input properties:

    Alarms Pulumi.Aws.Ecs.Inputs.ServiceAlarms

    Information about the CloudWatch alarms. See below.

    This type is defined in the AWS Classic package.

    Cluster string
    ARN of an ECS cluster.
    ContinueBeforeSteadyState bool
    If true, this provider will not wait for the service to reach a steady state (like aws ecs wait services-stable) before continuing. Default false.
    DeploymentCircuitBreaker Pulumi.Aws.Ecs.Inputs.ServiceDeploymentCircuitBreaker

    Configuration block for deployment circuit breaker. See below.

    This type is defined in the AWS Classic package.

    DeploymentController Pulumi.Aws.Ecs.Inputs.ServiceDeploymentController

    Configuration block for deployment controller configuration. See below.

    This type is defined in the AWS Classic package.

    DeploymentMaximumPercent int
    Upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the DAEMON scheduling strategy.
    DeploymentMinimumHealthyPercent int
    Lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.
    DesiredCount int
    Number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the DAEMON scheduling strategy.
    EnableEcsManagedTags bool
    Whether to enable Amazon ECS managed tags for the tasks within the service.
    EnableExecuteCommand bool
    Whether to enable Amazon ECS Exec for the tasks within the service.
    ForceNewDeployment bool
    Enable to force a new task deployment of the service. This can be used to update tasks to use a newer Docker image with same image/tag combination (e.g., myimage:latest), roll Fargate tasks onto a newer platform version, or immediately deploy ordered_placement_strategy and placement_constraints updates.
    HealthCheckGracePeriodSeconds int
    Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 2147483647. Only valid for services configured to use load balancers.
    IamRole string
    ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the awsvpc network mode. If using awsvpc network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here.
    LoadBalancers List<Pulumi.Aws.Ecs.Inputs.ServiceLoadBalancer>
    Configuration block for load balancers. See below.
    Name string

    Name of the service (up to 255 letters, numbers, hyphens, and underscores)

    The following arguments are optional:

    NetworkConfiguration Pulumi.Aws.Ecs.Inputs.ServiceNetworkConfiguration

    Network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below.

    This type is defined in the AWS Classic package.

    OrderedPlacementStrategies List<Pulumi.Aws.Ecs.Inputs.ServiceOrderedPlacementStrategy>
    Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. The maximum number of ordered_placement_strategy blocks is 5. See below.
    PlacementConstraints List<Pulumi.Aws.Ecs.Inputs.ServicePlacementConstraint>
    Rules that are taken into consideration during task placement. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. Maximum number of placement_constraints is 10. See below.
    PlatformVersion string
    Platform version on which to run your service. Only applicable for launch_type set to FARGATE. Defaults to LATEST. More information about Fargate platform versions can be found in the AWS ECS User Guide.
    PropagateTags string
    Whether to propagate the tags from the task definition or the service to the tasks. The valid values are SERVICE and TASK_DEFINITION.
    SchedulingStrategy string
    Scheduling strategy to use for the service. The valid values are REPLICA and DAEMON. Defaults to REPLICA. Note that Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment controller types don't support the DAEMON scheduling strategy.
    ServiceConnectConfiguration Pulumi.Aws.Ecs.Inputs.ServiceServiceConnectConfiguration

    ECS Service Connect configuration for this service to discover and connect to services, and be discovered by, and connected from, other services within a namespace. See below.

    This type is defined in the AWS Classic package.

    ServiceRegistries Pulumi.Aws.Ecs.Inputs.ServiceServiceRegistries

    Service discovery registries for the service. The maximum number of service_registries blocks is 1. See below.

    This type is defined in the AWS Classic package.

    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.
    TaskDefinition string
    Family and revision (family:revision) or full ARN of the task definition that you want to run in your service. Either [taskDefinition] or [taskDefinitionArgs] must be provided.
    TaskDefinitionArgs EC2ServiceTaskDefinition
    The args of task definition that you want to run in your service. Either [taskDefinition] or [taskDefinitionArgs] must be provided.
    Triggers Dictionary<string, string>
    Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with "plantimestamp()". When using the triggers property you also need to set the forceNewDeployment property to True.
    VolumeConfiguration Pulumi.Aws.Ecs.Inputs.ServiceVolumeConfiguration

    Configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume. See below.

    This type is defined in the AWS Classic package.

    Alarms ServiceAlarmsArgs

    Information about the CloudWatch alarms. See below.

    This type is defined in the AWS Classic package.

    Cluster string
    ARN of an ECS cluster.
    ContinueBeforeSteadyState bool
    If true, this provider will not wait for the service to reach a steady state (like aws ecs wait services-stable) before continuing. Default false.
    DeploymentCircuitBreaker ServiceDeploymentCircuitBreakerArgs

    Configuration block for deployment circuit breaker. See below.

    This type is defined in the AWS Classic package.

    DeploymentController ServiceDeploymentControllerArgs

    Configuration block for deployment controller configuration. See below.

    This type is defined in the AWS Classic package.

    DeploymentMaximumPercent int
    Upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the DAEMON scheduling strategy.
    DeploymentMinimumHealthyPercent int
    Lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.
    DesiredCount int
    Number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the DAEMON scheduling strategy.
    EnableEcsManagedTags bool
    Whether to enable Amazon ECS managed tags for the tasks within the service.
    EnableExecuteCommand bool
    Whether to enable Amazon ECS Exec for the tasks within the service.
    ForceNewDeployment bool
    Enable to force a new task deployment of the service. This can be used to update tasks to use a newer Docker image with same image/tag combination (e.g., myimage:latest), roll Fargate tasks onto a newer platform version, or immediately deploy ordered_placement_strategy and placement_constraints updates.
    HealthCheckGracePeriodSeconds int
    Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 2147483647. Only valid for services configured to use load balancers.
    IamRole string
    ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the awsvpc network mode. If using awsvpc network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here.
    LoadBalancers ServiceLoadBalancerArgs
    Configuration block for load balancers. See below.
    Name string

    Name of the service (up to 255 letters, numbers, hyphens, and underscores)

    The following arguments are optional:

    NetworkConfiguration ServiceNetworkConfigurationArgs

    Network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below.

    This type is defined in the AWS Classic package.

    OrderedPlacementStrategies ServiceOrderedPlacementStrategyArgs
    Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. The maximum number of ordered_placement_strategy blocks is 5. See below.
    PlacementConstraints ServicePlacementConstraintArgs
    Rules that are taken into consideration during task placement. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. Maximum number of placement_constraints is 10. See below.
    PlatformVersion string
    Platform version on which to run your service. Only applicable for launch_type set to FARGATE. Defaults to LATEST. More information about Fargate platform versions can be found in the AWS ECS User Guide.
    PropagateTags string
    Whether to propagate the tags from the task definition or the service to the tasks. The valid values are SERVICE and TASK_DEFINITION.
    SchedulingStrategy string
    Scheduling strategy to use for the service. The valid values are REPLICA and DAEMON. Defaults to REPLICA. Note that Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment controller types don't support the DAEMON scheduling strategy.
    ServiceConnectConfiguration ServiceServiceConnectConfigurationArgs

    ECS Service Connect configuration for this service to discover and connect to services, and be discovered by, and connected from, other services within a namespace. See below.

    This type is defined in the AWS Classic package.

    ServiceRegistries ServiceServiceRegistriesArgs

    Service discovery registries for the service. The maximum number of service_registries blocks is 1. See below.

    This type is defined in the AWS Classic package.

    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.
    TaskDefinition string
    Family and revision (family:revision) or full ARN of the task definition that you want to run in your service. Either [taskDefinition] or [taskDefinitionArgs] must be provided.
    TaskDefinitionArgs EC2ServiceTaskDefinitionArgs
    The args of task definition that you want to run in your service. Either [taskDefinition] or [taskDefinitionArgs] must be provided.
    Triggers map[string]string
    Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with "plantimestamp()". When using the triggers property you also need to set the forceNewDeployment property to True.
    VolumeConfiguration ServiceVolumeConfigurationArgs

    Configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume. See below.

    This type is defined in the AWS Classic package.

    alarms ServiceAlarms

    Information about the CloudWatch alarms. See below.

    This type is defined in the AWS Classic package.

    cluster String
    ARN of an ECS cluster.
    continueBeforeSteadyState Boolean
    If true, this provider will not wait for the service to reach a steady state (like aws ecs wait services-stable) before continuing. Default false.
    deploymentCircuitBreaker ServiceDeploymentCircuitBreaker

    Configuration block for deployment circuit breaker. See below.

    This type is defined in the AWS Classic package.

    deploymentController ServiceDeploymentController

    Configuration block for deployment controller configuration. See below.

    This type is defined in the AWS Classic package.

    deploymentMaximumPercent Integer
    Upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the DAEMON scheduling strategy.
    deploymentMinimumHealthyPercent Integer
    Lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.
    desiredCount Integer
    Number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the DAEMON scheduling strategy.
    enableEcsManagedTags Boolean
    Whether to enable Amazon ECS managed tags for the tasks within the service.
    enableExecuteCommand Boolean
    Whether to enable Amazon ECS Exec for the tasks within the service.
    forceNewDeployment Boolean
    Enable to force a new task deployment of the service. This can be used to update tasks to use a newer Docker image with same image/tag combination (e.g., myimage:latest), roll Fargate tasks onto a newer platform version, or immediately deploy ordered_placement_strategy and placement_constraints updates.
    healthCheckGracePeriodSeconds Integer
    Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 2147483647. Only valid for services configured to use load balancers.
    iamRole String
    ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the awsvpc network mode. If using awsvpc network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here.
    loadBalancers List<ServiceLoadBalancer>
    Configuration block for load balancers. See below.
    name String

    Name of the service (up to 255 letters, numbers, hyphens, and underscores)

    The following arguments are optional:

    networkConfiguration ServiceNetworkConfiguration

    Network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below.

    This type is defined in the AWS Classic package.

    orderedPlacementStrategies List<ServiceOrderedPlacementStrategy>
    Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. The maximum number of ordered_placement_strategy blocks is 5. See below.
    placementConstraints List<ServicePlacementConstraint>
    Rules that are taken into consideration during task placement. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. Maximum number of placement_constraints is 10. See below.
    platformVersion String
    Platform version on which to run your service. Only applicable for launch_type set to FARGATE. Defaults to LATEST. More information about Fargate platform versions can be found in the AWS ECS User Guide.
    propagateTags String
    Whether to propagate the tags from the task definition or the service to the tasks. The valid values are SERVICE and TASK_DEFINITION.
    schedulingStrategy String
    Scheduling strategy to use for the service. The valid values are REPLICA and DAEMON. Defaults to REPLICA. Note that Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment controller types don't support the DAEMON scheduling strategy.
    serviceConnectConfiguration ServiceServiceConnectConfiguration

    ECS Service Connect configuration for this service to discover and connect to services, and be discovered by, and connected from, other services within a namespace. See below.

    This type is defined in the AWS Classic package.

    serviceRegistries ServiceServiceRegistries

    Service discovery registries for the service. The maximum number of service_registries blocks is 1. See below.

    This type is defined in the AWS Classic package.

    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.
    taskDefinition String
    Family and revision (family:revision) or full ARN of the task definition that you want to run in your service. Either [taskDefinition] or [taskDefinitionArgs] must be provided.
    taskDefinitionArgs EC2ServiceTaskDefinition
    The args of task definition that you want to run in your service. Either [taskDefinition] or [taskDefinitionArgs] must be provided.
    triggers Map<String,String>
    Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with "plantimestamp()". When using the triggers property you also need to set the forceNewDeployment property to True.
    volumeConfiguration ServiceVolumeConfiguration

    Configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume. See below.

    This type is defined in the AWS Classic package.

    alarms pulumiAws.types.input.ServiceAlarms

    Information about the CloudWatch alarms. See below.

    This type is defined in the AWS Classic package.

    cluster string
    ARN of an ECS cluster.
    continueBeforeSteadyState boolean
    If true, this provider will not wait for the service to reach a steady state (like aws ecs wait services-stable) before continuing. Default false.
    deploymentCircuitBreaker pulumiAws.types.input.ServiceDeploymentCircuitBreaker

    Configuration block for deployment circuit breaker. See below.

    This type is defined in the AWS Classic package.

    deploymentController pulumiAws.types.input.ServiceDeploymentController

    Configuration block for deployment controller configuration. See below.

    This type is defined in the AWS Classic package.

    deploymentMaximumPercent number
    Upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the DAEMON scheduling strategy.
    deploymentMinimumHealthyPercent number
    Lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.
    desiredCount number
    Number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the DAEMON scheduling strategy.
    enableEcsManagedTags boolean
    Whether to enable Amazon ECS managed tags for the tasks within the service.
    enableExecuteCommand boolean
    Whether to enable Amazon ECS Exec for the tasks within the service.
    forceNewDeployment boolean
    Enable to force a new task deployment of the service. This can be used to update tasks to use a newer Docker image with same image/tag combination (e.g., myimage:latest), roll Fargate tasks onto a newer platform version, or immediately deploy ordered_placement_strategy and placement_constraints updates.
    healthCheckGracePeriodSeconds number
    Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 2147483647. Only valid for services configured to use load balancers.
    iamRole string
    ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the awsvpc network mode. If using awsvpc network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here.
    loadBalancers pulumiAws.types.input.ServiceLoadBalancer[]
    Configuration block for load balancers. See below.
    name string

    Name of the service (up to 255 letters, numbers, hyphens, and underscores)

    The following arguments are optional:

    networkConfiguration pulumiAws.types.input.ServiceNetworkConfiguration

    Network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below.

    This type is defined in the AWS Classic package.

    orderedPlacementStrategies pulumiAws.types.input.ServiceOrderedPlacementStrategy[]
    Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. The maximum number of ordered_placement_strategy blocks is 5. See below.
    placementConstraints pulumiAws.types.input.ServicePlacementConstraint[]
    Rules that are taken into consideration during task placement. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. Maximum number of placement_constraints is 10. See below.
    platformVersion string
    Platform version on which to run your service. Only applicable for launch_type set to FARGATE. Defaults to LATEST. More information about Fargate platform versions can be found in the AWS ECS User Guide.
    propagateTags string
    Whether to propagate the tags from the task definition or the service to the tasks. The valid values are SERVICE and TASK_DEFINITION.
    schedulingStrategy string
    Scheduling strategy to use for the service. The valid values are REPLICA and DAEMON. Defaults to REPLICA. Note that Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment controller types don't support the DAEMON scheduling strategy.
    serviceConnectConfiguration pulumiAws.types.input.ServiceServiceConnectConfiguration

    ECS Service Connect configuration for this service to discover and connect to services, and be discovered by, and connected from, other services within a namespace. See below.

    This type is defined in the AWS Classic package.

    serviceRegistries pulumiAws.types.input.ServiceServiceRegistries

    Service discovery registries for the service. The maximum number of service_registries blocks is 1. See below.

    This type is defined in the AWS Classic package.

    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.
    taskDefinition string
    Family and revision (family:revision) or full ARN of the task definition that you want to run in your service. Either [taskDefinition] or [taskDefinitionArgs] must be provided.
    taskDefinitionArgs EC2ServiceTaskDefinition
    The args of task definition that you want to run in your service. Either [taskDefinition] or [taskDefinitionArgs] must be provided.
    triggers {[key: string]: string}
    Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with "plantimestamp()". When using the triggers property you also need to set the forceNewDeployment property to True.
    volumeConfiguration pulumiAws.types.input.ServiceVolumeConfiguration

    Configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume. See below.

    This type is defined in the AWS Classic package.

    alarms pulumi_aws.ecs.ServiceAlarmsArgs

    Information about the CloudWatch alarms. See below.

    This type is defined in the AWS Classic package.

    cluster str
    ARN of an ECS cluster.
    continue_before_steady_state bool
    If true, this provider will not wait for the service to reach a steady state (like aws ecs wait services-stable) before continuing. Default false.
    deployment_circuit_breaker pulumi_aws.ecs.ServiceDeploymentCircuitBreakerArgs

    Configuration block for deployment circuit breaker. See below.

    This type is defined in the AWS Classic package.

    deployment_controller pulumi_aws.ecs.ServiceDeploymentControllerArgs

    Configuration block for deployment controller configuration. See below.

    This type is defined in the AWS Classic package.

    deployment_maximum_percent int
    Upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the DAEMON scheduling strategy.
    deployment_minimum_healthy_percent int
    Lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.
    desired_count int
    Number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the DAEMON scheduling strategy.
    enable_ecs_managed_tags bool
    Whether to enable Amazon ECS managed tags for the tasks within the service.
    enable_execute_command bool
    Whether to enable Amazon ECS Exec for the tasks within the service.
    force_new_deployment bool
    Enable to force a new task deployment of the service. This can be used to update tasks to use a newer Docker image with same image/tag combination (e.g., myimage:latest), roll Fargate tasks onto a newer platform version, or immediately deploy ordered_placement_strategy and placement_constraints updates.
    health_check_grace_period_seconds int
    Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 2147483647. Only valid for services configured to use load balancers.
    iam_role str
    ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the awsvpc network mode. If using awsvpc network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here.
    load_balancers Sequence[pulumi_aws.ecs.ServiceLoadBalancerArgs]
    Configuration block for load balancers. See below.
    name str

    Name of the service (up to 255 letters, numbers, hyphens, and underscores)

    The following arguments are optional:

    network_configuration pulumi_aws.ecs.ServiceNetworkConfigurationArgs

    Network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below.

    This type is defined in the AWS Classic package.

    ordered_placement_strategies Sequence[pulumi_aws.ecs.ServiceOrderedPlacementStrategyArgs]
    Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. The maximum number of ordered_placement_strategy blocks is 5. See below.
    placement_constraints Sequence[pulumi_aws.ecs.ServicePlacementConstraintArgs]
    Rules that are taken into consideration during task placement. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. Maximum number of placement_constraints is 10. See below.
    platform_version str
    Platform version on which to run your service. Only applicable for launch_type set to FARGATE. Defaults to LATEST. More information about Fargate platform versions can be found in the AWS ECS User Guide.
    propagate_tags str
    Whether to propagate the tags from the task definition or the service to the tasks. The valid values are SERVICE and TASK_DEFINITION.
    scheduling_strategy str
    Scheduling strategy to use for the service. The valid values are REPLICA and DAEMON. Defaults to REPLICA. Note that Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment controller types don't support the DAEMON scheduling strategy.
    service_connect_configuration pulumi_aws.ecs.ServiceServiceConnectConfigurationArgs

    ECS Service Connect configuration for this service to discover and connect to services, and be discovered by, and connected from, other services within a namespace. See below.

    This type is defined in the AWS Classic package.

    service_registries pulumi_aws.ecs.ServiceServiceRegistriesArgs

    Service discovery registries for the service. The maximum number of service_registries blocks is 1. See below.

    This type is defined in the AWS Classic package.

    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_definition str
    Family and revision (family:revision) or full ARN of the task definition that you want to run in your service. Either [taskDefinition] or [taskDefinitionArgs] must be provided.
    task_definition_args EC2ServiceTaskDefinitionArgs
    The args of task definition that you want to run in your service. Either [taskDefinition] or [taskDefinitionArgs] must be provided.
    triggers Mapping[str, str]
    Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with "plantimestamp()". When using the triggers property you also need to set the forceNewDeployment property to True.
    volume_configuration pulumi_aws.ecs.ServiceVolumeConfigurationArgs

    Configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume. See below.

    This type is defined in the AWS Classic package.

    alarms Property Map

    Information about the CloudWatch alarms. See below.

    This type is defined in the AWS Classic package.

    cluster String
    ARN of an ECS cluster.
    continueBeforeSteadyState Boolean
    If true, this provider will not wait for the service to reach a steady state (like aws ecs wait services-stable) before continuing. Default false.
    deploymentCircuitBreaker Property Map

    Configuration block for deployment circuit breaker. See below.

    This type is defined in the AWS Classic package.

    deploymentController Property Map

    Configuration block for deployment controller configuration. See below.

    This type is defined in the AWS Classic package.

    deploymentMaximumPercent Number
    Upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the DAEMON scheduling strategy.
    deploymentMinimumHealthyPercent Number
    Lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.
    desiredCount Number
    Number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the DAEMON scheduling strategy.
    enableEcsManagedTags Boolean
    Whether to enable Amazon ECS managed tags for the tasks within the service.
    enableExecuteCommand Boolean
    Whether to enable Amazon ECS Exec for the tasks within the service.
    forceNewDeployment Boolean
    Enable to force a new task deployment of the service. This can be used to update tasks to use a newer Docker image with same image/tag combination (e.g., myimage:latest), roll Fargate tasks onto a newer platform version, or immediately deploy ordered_placement_strategy and placement_constraints updates.
    healthCheckGracePeriodSeconds Number
    Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 2147483647. Only valid for services configured to use load balancers.
    iamRole String
    ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the awsvpc network mode. If using awsvpc network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here.
    loadBalancers List<Property Map>
    Configuration block for load balancers. See below.
    name String

    Name of the service (up to 255 letters, numbers, hyphens, and underscores)

    The following arguments are optional:

    networkConfiguration Property Map

    Network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below.

    This type is defined in the AWS Classic package.

    orderedPlacementStrategies List<Property Map>
    Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. The maximum number of ordered_placement_strategy blocks is 5. See below.
    placementConstraints List<Property Map>
    Rules that are taken into consideration during task placement. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. Maximum number of placement_constraints is 10. See below.
    platformVersion String
    Platform version on which to run your service. Only applicable for launch_type set to FARGATE. Defaults to LATEST. More information about Fargate platform versions can be found in the AWS ECS User Guide.
    propagateTags String
    Whether to propagate the tags from the task definition or the service to the tasks. The valid values are SERVICE and TASK_DEFINITION.
    schedulingStrategy String
    Scheduling strategy to use for the service. The valid values are REPLICA and DAEMON. Defaults to REPLICA. Note that Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment controller types don't support the DAEMON scheduling strategy.
    serviceConnectConfiguration Property Map

    ECS Service Connect configuration for this service to discover and connect to services, and be discovered by, and connected from, other services within a namespace. See below.

    This type is defined in the AWS Classic package.

    serviceRegistries Property Map

    Service discovery registries for the service. The maximum number of service_registries blocks is 1. See below.

    This type is defined in the AWS Classic package.

    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.
    taskDefinition String
    Family and revision (family:revision) or full ARN of the task definition that you want to run in your service. Either [taskDefinition] or [taskDefinitionArgs] must be provided.
    taskDefinitionArgs Property Map
    The args of task definition that you want to run in your service. Either [taskDefinition] or [taskDefinitionArgs] must be provided.
    triggers Map<String>
    Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with "plantimestamp()". When using the triggers property you also need to set the forceNewDeployment property to True.
    volumeConfiguration Property Map

    Configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume. See below.

    This type is defined in the AWS Classic package.

    Outputs

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

    Service Pulumi.Aws.Ecs.Service
    Underlying ECS Service resource This type is defined in the AWS Classic package.
    Service Service
    Underlying ECS Service resource This type is defined in the AWS Classic package.
    service Service
    Underlying ECS Service resource This type is defined in the AWS Classic package.
    service pulumiAws.Service
    Underlying ECS Service resource This type is defined in the AWS Classic package.
    service pulumi_aws.ecs.Service
    Underlying ECS Service resource This type is defined in the AWS Classic package.
    service aws::Service
    Underlying ECS Service 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.

    EC2ServiceTaskDefinition, EC2ServiceTaskDefinitionArgs

    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, TaskDefinitionContainerDefinition>

    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.
    TrackLatest bool
    Whether should track latest ACTIVE task definition on AWS or the one created with the resource stored in state. Default is false. Useful in the event the task definition is modified outside of this resource.
    Volumes List<Pulumi.Aws.Ecs.Inputs.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 map[string]TaskDefinitionContainerDefinition

    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 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 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 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 DefaultRoleWithPolicy
    IAM role that allows your Amazon ECS container task to make calls to other AWS services. Will be created automatically if not defined.
    TrackLatest bool
    Whether should track latest ACTIVE task definition on AWS or the one created with the resource stored in state. Default is false. Useful in the event the task definition is modified outside of this resource.
    Volumes 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 Map<String,TaskDefinitionContainerDefinition>

    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.
    trackLatest Boolean
    Whether should track latest ACTIVE task definition on AWS or the one created with the resource stored in state. Default is false. Useful in the event the task definition is modified outside of this resource.
    volumes 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]: TaskDefinitionContainerDefinition}

    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.
    trackLatest boolean
    Whether should track latest ACTIVE task definition on AWS or the one created with the resource stored in state. Default is false. Useful in the event the task definition is modified outside of this resource.
    volumes pulumiAws.types.input.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 Mapping[str, TaskDefinitionContainerDefinition]

    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.DefaultRoleWithPolicy
    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.DefaultLogGroup
    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.DefaultRoleWithPolicy
    IAM role that allows your Amazon ECS container task to make calls to other AWS services. Will be created automatically if not defined.
    track_latest bool
    Whether should track latest ACTIVE task definition on AWS or the one created with the resource stored in state. Default is false. Useful in the event the task definition is modified outside of this resource.
    volumes 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.
    trackLatest Boolean
    Whether should track latest ACTIVE task definition on AWS or the one created with the resource stored in state. Default is false. Useful in the event the task definition is modified outside of this resource.
    volumes List<Property Map>
    Configuration block for volumes that containers in your task may use. Detailed below.

    ExistingLogGroup, ExistingLogGroupArgs

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

    LogGroup, LogGroupArgs

    KmsKeyId string
    The ARN of the KMS Key to use when encrypting log data. Please note, after the AWS KMS CMK is disassociated from the log group, AWS CloudWatch Logs stops encrypting newly ingested data for the log group. All previously ingested data remains encrypted, and AWS CloudWatch Logs requires permissions for the CMK whenever the encrypted data is requested.
    LogGroupClass string
    Specified the log class of the log group. Possible values are: STANDARD or INFREQUENT_ACCESS.
    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.
    LogGroupClass string
    Specified the log class of the log group. Possible values are: STANDARD or INFREQUENT_ACCESS.
    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.
    logGroupClass String
    Specified the log class of the log group. Possible values are: STANDARD or INFREQUENT_ACCESS.
    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.
    logGroupClass string
    Specified the log class of the log group. Possible values are: STANDARD or INFREQUENT_ACCESS.
    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.
    log_group_class str
    Specified the log class of the log group. Possible values are: STANDARD or INFREQUENT_ACCESS.
    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.
    logGroupClass String
    Specified the log class of the log group. Possible values are: STANDARD or INFREQUENT_ACCESS.
    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.16.0 published on Wednesday, Sep 25, 2024 by Pulumi