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

awsx.ecs.FargateService

Explore with Pulumi AI

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

Create FargateService Resource

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

Constructor syntax

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

@overload
def FargateService(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   alarms: Optional[pulumi_aws.ecs.ServiceAlarmsArgs] = None,
                   assign_public_ip: Optional[bool] = None,
                   availability_zone_rebalancing: Optional[str] = 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_delete: 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,
                   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[FargateServiceTaskDefinitionArgs] = None,
                   triggers: Optional[Mapping[str, str]] = None,
                   volume_configuration: Optional[pulumi_aws.ecs.ServiceVolumeConfigurationArgs] = None,
                   vpc_lattice_configurations: Optional[Sequence[pulumi_aws.ecs.ServiceVpcLatticeConfigurationArgs]] = None)
func NewFargateService(ctx *Context, name string, args *FargateServiceArgs, opts ...ResourceOption) (*FargateService, error)
public FargateService(string name, FargateServiceArgs? args = null, ComponentResourceOptions? opts = null)
public FargateService(String name, FargateServiceArgs args)
public FargateService(String name, FargateServiceArgs args, ComponentResourceOptions options)
type: awsx:ecs:FargateService
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

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

Constructor example

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

var fargateServiceResource = new Awsx.Ecs.FargateService("fargateServiceResource", new()
{
    Alarms = new Aws.Ecs.Inputs.ServiceAlarmsArgs
    {
        AlarmNames = new[]
        {
            "string",
        },
        Enable = false,
        Rollback = false,
    },
    AssignPublicIp = false,
    AvailabilityZoneRebalancing = "string",
    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,
    ForceDelete = 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",
        },
    },
    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.FargateServiceTaskDefinitionArgs
    {
        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",
        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",
            TagSpecifications = new[]
            {
                new Aws.Ecs.Inputs.ServiceVolumeConfigurationManagedEbsVolumeTagSpecificationArgs
                {
                    ResourceType = "string",
                    PropagateTags = "string",
                    Tags = 
                    {
                        { "string", "string" },
                    },
                },
            },
            Throughput = 0,
            VolumeType = "string",
        },
        Name = "string",
    },
    VpcLatticeConfigurations = new[]
    {
        new Aws.Ecs.Inputs.ServiceVpcLatticeConfigurationArgs
        {
            PortName = "string",
            RoleArn = "string",
            TargetGroupArn = "string",
        },
    },
});
Copy
example, err := ecs.NewFargateService(ctx, "fargateServiceResource", &ecs.FargateServiceArgs{
	Alarms: &ecs.ServiceAlarmsArgs{
		AlarmNames: pulumi.StringArray{
			pulumi.String("string"),
		},
		Enable:   pulumi.Bool(false),
		Rollback: pulumi.Bool(false),
	},
	AssignPublicIp:              pulumi.Bool(false),
	AvailabilityZoneRebalancing: pulumi.String("string"),
	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),
	ForceDelete:                     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"),
		},
	},
	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.FargateServiceTaskDefinitionArgs{
		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"),
		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"),
			TagSpecifications: ecs.ServiceVolumeConfigurationManagedEbsVolumeTagSpecificationArray{
				&ecs.ServiceVolumeConfigurationManagedEbsVolumeTagSpecificationArgs{
					ResourceType:  pulumi.String("string"),
					PropagateTags: pulumi.String("string"),
					Tags: pulumi.StringMap{
						"string": pulumi.String("string"),
					},
				},
			},
			Throughput: pulumi.Int(0),
			VolumeType: pulumi.String("string"),
		},
		Name: pulumi.String("string"),
	},
	VpcLatticeConfigurations: ecs.ServiceVpcLatticeConfigurationArray{
		&ecs.ServiceVpcLatticeConfigurationArgs{
			PortName:       pulumi.String("string"),
			RoleArn:        pulumi.String("string"),
			TargetGroupArn: pulumi.String("string"),
		},
	},
})
Copy
var fargateServiceResource = new FargateService("fargateServiceResource", FargateServiceArgs.builder()
    .alarms(ServiceAlarmsArgs.builder()
        .alarmNames("string")
        .enable(false)
        .rollback(false)
        .build())
    .assignPublicIp(false)
    .availabilityZoneRebalancing("string")
    .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)
    .forceDelete(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())
    .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(FargateServiceTaskDefinitionArgs.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")
        .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")
            .tagSpecifications(ServiceVolumeConfigurationManagedEbsVolumeTagSpecificationArgs.builder()
                .resourceType("string")
                .propagateTags("string")
                .tags(Map.of("string", "string"))
                .build())
            .throughput(0)
            .volumeType("string")
            .build())
        .name("string")
        .build())
    .vpcLatticeConfigurations(ServiceVpcLatticeConfigurationArgs.builder()
        .portName("string")
        .roleArn("string")
        .targetGroupArn("string")
        .build())
    .build());
Copy
fargate_service_resource = awsx.ecs.FargateService("fargateServiceResource",
    alarms={
        "alarm_names": ["string"],
        "enable": False,
        "rollback": False,
    },
    assign_public_ip=False,
    availability_zone_rebalancing="string",
    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_delete=False,
    force_new_deployment=False,
    health_check_grace_period_seconds=0,
    iam_role="string",
    load_balancers=[{
        "container_name": "string",
        "container_port": 0,
        "elb_name": "string",
        "target_group_arn": "string",
    }],
    name="string",
    network_configuration={
        "subnets": ["string"],
        "assign_public_ip": False,
        "security_groups": ["string"],
    },
    placement_constraints=[{
        "type": "string",
        "expression": "string",
    }],
    platform_version="string",
    propagate_tags="string",
    scheduling_strategy="string",
    service_connect_configuration={
        "enabled": False,
        "log_configuration": {
            "log_driver": "string",
            "options": {
                "string": "string",
            },
            "secret_options": [{
                "name": "string",
                "value_from": "string",
            }],
        },
        "namespace": "string",
        "services": [{
            "port_name": "string",
            "client_alias": [{
                "port": 0,
                "dns_name": "string",
            }],
            "discovery_name": "string",
            "ingress_port_override": 0,
            "timeout": {
                "idle_timeout_seconds": 0,
                "per_request_timeout_seconds": 0,
            },
            "tls": {
                "issuer_cert_authority": {
                    "aws_pca_authority_arn": "string",
                },
                "kms_key": "string",
                "role_arn": "string",
            },
        }],
    },
    service_registries={
        "registry_arn": "string",
        "container_name": "string",
        "container_port": 0,
        "port": 0,
    },
    tags={
        "string": "string",
    },
    task_definition="string",
    task_definition_args={
        "container": {
            "image": "string",
            "name": "string",
            "links": ["string"],
            "volumes_from": [{
                "read_only": False,
                "source_container": "string",
            }],
            "dns_search_domains": ["string"],
            "log_configuration": {
                "log_driver": "string",
                "options": "any",
                "secret_options": [{
                    "name": "string",
                    "value_from": "string",
                }],
            },
            "docker_labels": "any",
            "docker_security_options": ["string"],
            "entry_point": ["string"],
            "environment": [{
                "name": "string",
                "value": "string",
            }],
            "environment_files": [{
                "type": "string",
                "value": "string",
            }],
            "essential": False,
            "extra_hosts": [{
                "hostname": "string",
                "ip_address": "string",
            }],
            "firelens_configuration": {
                "options": "any",
                "type": "string",
            },
            "health_check": {
                "command": ["string"],
                "interval": 0,
                "retries": 0,
                "start_period": 0,
                "timeout": 0,
            },
            "hostname": "string",
            "depends_on": [{
                "condition": "string",
                "container_name": "string",
            }],
            "interactive": False,
            "command": ["string"],
            "linux_parameters": {
                "capabilities": {
                    "add": ["string"],
                    "drop": ["string"],
                },
                "devices": [{
                    "container_path": "string",
                    "host_path": "string",
                    "permissions": ["string"],
                }],
                "init_process_enabled": False,
                "max_swap": 0,
                "shared_memory_size": 0,
                "swappiness": 0,
                "tmpfs": [{
                    "size": 0,
                    "container_path": "string",
                    "mount_options": ["string"],
                }],
            },
            "dns_servers": ["string"],
            "disable_networking": False,
            "mount_points": [{
                "container_path": "string",
                "read_only": False,
                "source_volume": "string",
            }],
            "memory_reservation": 0,
            "cpu": 0,
            "port_mappings": [{
                "app_protocol": awsx.ecs.TaskDefinitionPortMappingAppProtocol.HTTP,
                "container_port": 0,
                "container_port_range": "string",
                "host_port": 0,
                "name": "string",
                "protocol": "string",
                "target_group": target_group,
            }],
            "privileged": False,
            "pseudo_terminal": False,
            "readonly_root_filesystem": False,
            "repository_credentials": {
                "credentials_parameter": "string",
            },
            "resource_requirements": [{
                "type": "string",
                "value": "string",
            }],
            "secrets": [{
                "name": "string",
                "value_from": "string",
            }],
            "start_timeout": 0,
            "stop_timeout": 0,
            "system_controls": [{
                "namespace": "string",
                "value": "string",
            }],
            "ulimits": [{
                "hard_limit": 0,
                "name": "string",
                "soft_limit": 0,
            }],
            "user": "string",
            "memory": 0,
            "working_directory": "string",
        },
        "containers": {
            "string": {
                "image": "string",
                "name": "string",
                "links": ["string"],
                "volumes_from": [{
                    "read_only": False,
                    "source_container": "string",
                }],
                "dns_search_domains": ["string"],
                "log_configuration": {
                    "log_driver": "string",
                    "options": "any",
                    "secret_options": [{
                        "name": "string",
                        "value_from": "string",
                    }],
                },
                "docker_labels": "any",
                "docker_security_options": ["string"],
                "entry_point": ["string"],
                "environment": [{
                    "name": "string",
                    "value": "string",
                }],
                "environment_files": [{
                    "type": "string",
                    "value": "string",
                }],
                "essential": False,
                "extra_hosts": [{
                    "hostname": "string",
                    "ip_address": "string",
                }],
                "firelens_configuration": {
                    "options": "any",
                    "type": "string",
                },
                "health_check": {
                    "command": ["string"],
                    "interval": 0,
                    "retries": 0,
                    "start_period": 0,
                    "timeout": 0,
                },
                "hostname": "string",
                "depends_on": [{
                    "condition": "string",
                    "container_name": "string",
                }],
                "interactive": False,
                "command": ["string"],
                "linux_parameters": {
                    "capabilities": {
                        "add": ["string"],
                        "drop": ["string"],
                    },
                    "devices": [{
                        "container_path": "string",
                        "host_path": "string",
                        "permissions": ["string"],
                    }],
                    "init_process_enabled": False,
                    "max_swap": 0,
                    "shared_memory_size": 0,
                    "swappiness": 0,
                    "tmpfs": [{
                        "size": 0,
                        "container_path": "string",
                        "mount_options": ["string"],
                    }],
                },
                "dns_servers": ["string"],
                "disable_networking": False,
                "mount_points": [{
                    "container_path": "string",
                    "read_only": False,
                    "source_volume": "string",
                }],
                "memory_reservation": 0,
                "cpu": 0,
                "port_mappings": [{
                    "app_protocol": awsx.ecs.TaskDefinitionPortMappingAppProtocol.HTTP,
                    "container_port": 0,
                    "container_port_range": "string",
                    "host_port": 0,
                    "name": "string",
                    "protocol": "string",
                    "target_group": target_group,
                }],
                "privileged": False,
                "pseudo_terminal": False,
                "readonly_root_filesystem": False,
                "repository_credentials": {
                    "credentials_parameter": "string",
                },
                "resource_requirements": [{
                    "type": "string",
                    "value": "string",
                }],
                "secrets": [{
                    "name": "string",
                    "value_from": "string",
                }],
                "start_timeout": 0,
                "stop_timeout": 0,
                "system_controls": [{
                    "namespace": "string",
                    "value": "string",
                }],
                "ulimits": [{
                    "hard_limit": 0,
                    "name": "string",
                    "soft_limit": 0,
                }],
                "user": "string",
                "memory": 0,
                "working_directory": "string",
            },
        },
        "cpu": "string",
        "ephemeral_storage": {
            "size_in_gib": 0,
        },
        "execution_role": {
            "args": {
                "description": "string",
                "force_detach_policies": False,
                "inline_policies": [{
                    "name": "string",
                    "policy": "string",
                }],
                "managed_policy_arns": ["string"],
                "max_session_duration": 0,
                "name": "string",
                "name_prefix": "string",
                "path": "string",
                "permissions_boundary": "string",
                "policy_arns": ["string"],
                "tags": {
                    "string": "string",
                },
            },
            "role_arn": "string",
            "skip": False,
        },
        "family": "string",
        "inference_accelerators": [{
            "device_name": "string",
            "device_type": "string",
        }],
        "ipc_mode": "string",
        "log_group": {
            "args": {
                "kms_key_id": "string",
                "log_group_class": "string",
                "name": "string",
                "name_prefix": "string",
                "retention_in_days": 0,
                "skip_destroy": False,
                "tags": {
                    "string": "string",
                },
            },
            "existing": {
                "arn": "string",
                "name": "string",
                "region": "string",
            },
            "skip": False,
        },
        "memory": "string",
        "pid_mode": "string",
        "placement_constraints": [{
            "type": "string",
            "expression": "string",
        }],
        "proxy_configuration": {
            "container_name": "string",
            "properties": {
                "string": "string",
            },
            "type": "string",
        },
        "runtime_platform": {
            "cpu_architecture": "string",
            "operating_system_family": "string",
        },
        "skip_destroy": False,
        "tags": {
            "string": "string",
        },
        "task_role": {
            "args": {
                "description": "string",
                "force_detach_policies": False,
                "inline_policies": [{
                    "name": "string",
                    "policy": "string",
                }],
                "managed_policy_arns": ["string"],
                "max_session_duration": 0,
                "name": "string",
                "name_prefix": "string",
                "path": "string",
                "permissions_boundary": "string",
                "policy_arns": ["string"],
                "tags": {
                    "string": "string",
                },
            },
            "role_arn": "string",
            "skip": False,
        },
        "track_latest": False,
        "volumes": [{
            "name": "string",
            "configure_at_launch": False,
            "docker_volume_configuration": {
                "autoprovision": False,
                "driver": "string",
                "driver_opts": {
                    "string": "string",
                },
                "labels": {
                    "string": "string",
                },
                "scope": "string",
            },
            "efs_volume_configuration": {
                "file_system_id": "string",
                "authorization_config": {
                    "access_point_id": "string",
                    "iam": "string",
                },
                "root_directory": "string",
                "transit_encryption": "string",
                "transit_encryption_port": 0,
            },
            "fsx_windows_file_server_volume_configuration": {
                "authorization_config": {
                    "credentials_parameter": "string",
                    "domain": "string",
                },
                "file_system_id": "string",
                "root_directory": "string",
            },
            "host_path": "string",
        }],
    },
    triggers={
        "string": "string",
    },
    volume_configuration={
        "managed_ebs_volume": {
            "role_arn": "string",
            "encrypted": False,
            "file_system_type": "string",
            "iops": 0,
            "kms_key_id": "string",
            "size_in_gb": 0,
            "snapshot_id": "string",
            "tag_specifications": [{
                "resource_type": "string",
                "propagate_tags": "string",
                "tags": {
                    "string": "string",
                },
            }],
            "throughput": 0,
            "volume_type": "string",
        },
        "name": "string",
    },
    vpc_lattice_configurations=[{
        "port_name": "string",
        "role_arn": "string",
        "target_group_arn": "string",
    }])
Copy
const fargateServiceResource = new awsx.ecs.FargateService("fargateServiceResource", {
    alarms: {
        alarmNames: ["string"],
        enable: false,
        rollback: false,
    },
    assignPublicIp: false,
    availabilityZoneRebalancing: "string",
    cluster: "string",
    continueBeforeSteadyState: false,
    deploymentCircuitBreaker: {
        enable: false,
        rollback: false,
    },
    deploymentController: {
        type: "string",
    },
    deploymentMaximumPercent: 0,
    deploymentMinimumHealthyPercent: 0,
    desiredCount: 0,
    enableEcsManagedTags: false,
    enableExecuteCommand: false,
    forceDelete: 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"],
    },
    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",
        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",
            tagSpecifications: [{
                resourceType: "string",
                propagateTags: "string",
                tags: {
                    string: "string",
                },
            }],
            throughput: 0,
            volumeType: "string",
        },
        name: "string",
    },
    vpcLatticeConfigurations: [{
        portName: "string",
        roleArn: "string",
        targetGroupArn: "string",
    }],
});
Copy
type: awsx:ecs:FargateService
properties:
    alarms:
        alarmNames:
            - string
        enable: false
        rollback: false
    assignPublicIp: false
    availabilityZoneRebalancing: string
    cluster: string
    continueBeforeSteadyState: false
    deploymentCircuitBreaker:
        enable: false
        rollback: false
    deploymentController:
        type: string
    deploymentMaximumPercent: 0
    deploymentMinimumHealthyPercent: 0
    desiredCount: 0
    enableEcsManagedTags: false
    enableExecuteCommand: false
    forceDelete: 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
    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
        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
            tagSpecifications:
                - propagateTags: string
                  resourceType: string
                  tags:
                    string: string
            throughput: 0
            volumeType: string
        name: string
    vpcLatticeConfigurations:
        - portName: string
          roleArn: string
          targetGroupArn: string
Copy

FargateService Resource Properties

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

Inputs

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

The FargateService 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.

AssignPublicIp bool
Assign a public IP address to the ENI (Fargate launch type only). Valid values are true or false. Default false.
AvailabilityZoneRebalancing string
ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are ENABLED and DISABLED. Defaults to DISABLED.
Cluster Changes to this property will trigger replacement. 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 1. 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.
ForceDelete bool
Enable to delete a service even if it wasn't scaled down to zero tasks. It's only necessary to use this if the service uses the REPLICA scheduling strategy.
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. When using the forceNewDeployment property you also need to configure the triggers property.
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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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.

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 Changes to this property will trigger replacement. 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 FargateServiceTaskDefinition
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.

VpcLatticeConfigurations List<Pulumi.Aws.Ecs.Inputs.ServiceVpcLatticeConfiguration>
The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below.
Alarms ServiceAlarmsArgs

Information about the CloudWatch alarms. See below.

This type is defined in the AWS Classic package.

AssignPublicIp bool
Assign a public IP address to the ENI (Fargate launch type only). Valid values are true or false. Default false.
AvailabilityZoneRebalancing string
ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are ENABLED and DISABLED. Defaults to DISABLED.
Cluster Changes to this property will trigger replacement. 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 1. 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.
ForceDelete bool
Enable to delete a service even if it wasn't scaled down to zero tasks. It's only necessary to use this if the service uses the REPLICA scheduling strategy.
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. When using the forceNewDeployment property you also need to configure the triggers property.
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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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.

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 Changes to this property will trigger replacement. 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 FargateServiceTaskDefinitionArgs
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.

VpcLatticeConfigurations ServiceVpcLatticeConfigurationArgs
The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below.
alarms ServiceAlarms

Information about the CloudWatch alarms. See below.

This type is defined in the AWS Classic package.

assignPublicIp Boolean
Assign a public IP address to the ENI (Fargate launch type only). Valid values are true or false. Default false.
availabilityZoneRebalancing String
ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are ENABLED and DISABLED. Defaults to DISABLED.
cluster Changes to this property will trigger replacement. 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 1. 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.
forceDelete Boolean
Enable to delete a service even if it wasn't scaled down to zero tasks. It's only necessary to use this if the service uses the REPLICA scheduling strategy.
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. When using the forceNewDeployment property you also need to configure the triggers property.
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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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.

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 Changes to this property will trigger replacement. 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 FargateServiceTaskDefinition
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.

vpcLatticeConfigurations List<ServiceVpcLatticeConfiguration>
The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below.
alarms pulumiAws.types.input.ServiceAlarms

Information about the CloudWatch alarms. See below.

This type is defined in the AWS Classic package.

assignPublicIp boolean
Assign a public IP address to the ENI (Fargate launch type only). Valid values are true or false. Default false.
availabilityZoneRebalancing string
ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are ENABLED and DISABLED. Defaults to DISABLED.
cluster Changes to this property will trigger replacement. 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 1. 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.
forceDelete boolean
Enable to delete a service even if it wasn't scaled down to zero tasks. It's only necessary to use this if the service uses the REPLICA scheduling strategy.
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. When using the forceNewDeployment property you also need to configure the triggers property.
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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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.

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 Changes to this property will trigger replacement. 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 FargateServiceTaskDefinition
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.

vpcLatticeConfigurations pulumiAws.types.input.ServiceVpcLatticeConfiguration[]
The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below.
alarms pulumi_aws.ecs.ServiceAlarmsArgs

Information about the CloudWatch alarms. See below.

This type is defined in the AWS Classic package.

assign_public_ip bool
Assign a public IP address to the ENI (Fargate launch type only). Valid values are true or false. Default false.
availability_zone_rebalancing str
ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are ENABLED and DISABLED. Defaults to DISABLED.
cluster Changes to this property will trigger replacement. 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 1. 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_delete bool
Enable to delete a service even if it wasn't scaled down to zero tasks. It's only necessary to use this if the service uses the REPLICA scheduling strategy.
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. When using the forceNewDeployment property you also need to configure the triggers property.
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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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.

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 Changes to this property will trigger replacement. 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 FargateServiceTaskDefinitionArgs
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.

vpc_lattice_configurations Sequence[pulumi_aws.ecs.ServiceVpcLatticeConfigurationArgs]
The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below.
alarms Property Map

Information about the CloudWatch alarms. See below.

This type is defined in the AWS Classic package.

assignPublicIp Boolean
Assign a public IP address to the ENI (Fargate launch type only). Valid values are true or false. Default false.
availabilityZoneRebalancing String
ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are ENABLED and DISABLED. Defaults to DISABLED.
cluster Changes to this property will trigger replacement. 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 1. 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.
forceDelete Boolean
Enable to delete a service even if it wasn't scaled down to zero tasks. It's only necessary to use this if the service uses the REPLICA scheduling strategy.
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. When using the forceNewDeployment property you also need to configure the triggers property.
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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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.

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 Changes to this property will trigger replacement. 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.

vpcLatticeConfigurations List<Property Map>
The VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below.

Outputs

All input properties are implicitly available as output properties. Additionally, the FargateService 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.

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.

FargateServiceTaskDefinition
, FargateServiceTaskDefinitionArgs

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 Changes to this property will trigger replacement. Pulumi.Aws.Ecs.Inputs.TaskDefinitionEphemeralStorage

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

This type is defined in the AWS Classic package.

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

Configuration block for the App Mesh proxy. Detailed below.

This type is defined in the AWS Classic package.

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

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

This type is defined in the AWS Classic package.

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

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

This type is defined in the AWS Classic package.

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

Configuration block for the App Mesh proxy. Detailed below.

This type is defined in the AWS Classic package.

RuntimePlatform Changes to this property will trigger replacement. TaskDefinitionRuntimePlatform

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

This type is defined in the AWS Classic package.

SkipDestroy 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. TaskDefinitionEphemeralStorage

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

This type is defined in the AWS Classic package.

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

Configuration block for the App Mesh proxy. Detailed below.

This type is defined in the AWS Classic package.

runtimePlatform Changes to this property will trigger replacement. TaskDefinitionRuntimePlatform

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

This type is defined in the AWS Classic package.

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

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

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

containers {[key: string]: 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 Changes to this property will trigger replacement. pulumiAws.types.input.TaskDefinitionEphemeralStorage

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

This type is defined in the AWS Classic package.

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

Configuration block for the App Mesh proxy. Detailed below.

This type is defined in the AWS Classic package.

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

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

This type is defined in the AWS Classic package.

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

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

This type is defined in the AWS Classic package.

execution_role awsx.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 Changes to this property will trigger replacement. Sequence[pulumi_aws.ecs.TaskDefinitionInferenceAcceleratorArgs]
Configuration block(s) with Inference Accelerators settings. Detailed below.
ipc_mode Changes to this property will trigger replacement. str
IPC resource namespace to be used for the containers in the task The valid values are host, task, and none.
log_group awsx.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]
pid_mode Changes to this property will trigger replacement. str
Process namespace to use for the containers in the task. The valid values are host and task.
placement_constraints Changes to this property will trigger replacement. Sequence[pulumi_aws.ecs.TaskDefinitionPlacementConstraintArgs]
Configuration block for rules that are taken into consideration during task placement. Maximum number of placement_constraints is 10. Detailed below.
proxy_configuration Changes to this property will trigger replacement. pulumi_aws.ecs.TaskDefinitionProxyConfigurationArgs

Configuration block for the App Mesh proxy. Detailed below.

This type is defined in the AWS Classic package.

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

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

This type is defined in the AWS Classic package.

skip_destroy bool
Whether to retain the old revision when the resource is destroyed or replacement is necessary. Default is false.
tags Mapping[str, str]
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
task_role awsx.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 Changes to this property will trigger replacement. Sequence[pulumi_aws.ecs.TaskDefinitionVolumeArgs]
Configuration block for volumes that containers in your task may use. Detailed below.
container Property Map

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

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

containers Map<Property Map>

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

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

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

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

This type is defined in the AWS Classic package.

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

Configuration block for the App Mesh proxy. Detailed below.

This type is defined in the AWS Classic package.

runtimePlatform Changes to this property will trigger replacement. Property Map

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

This type is defined in the AWS Classic package.

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

LogGroup
, LogGroupArgs

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

RoleWithPolicy
, RoleWithPolicyArgs

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

TaskDefinitionContainerDefinition
, TaskDefinitionContainerDefinitionArgs

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

TaskDefinitionContainerDependency
, TaskDefinitionContainerDependencyArgs

TaskDefinitionDevice
, TaskDefinitionDeviceArgs

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

TaskDefinitionEnvironmentFile
, TaskDefinitionEnvironmentFileArgs

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

TaskDefinitionFirelensConfiguration
, TaskDefinitionFirelensConfigurationArgs

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

TaskDefinitionHealthCheck
, TaskDefinitionHealthCheckArgs

Command List<string>
A string array representing the command that the container runs to determine if it is healthy.
Interval int
The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.
Retries int
The number of times to retry a failed health check before the container is considered unhealthy. You may specify between 1 and 10 retries. The default value is three retries.
StartPeriod int
The optional grace period within which to provide containers time to bootstrap before failed health checks count towards the maximum number of retries. You may specify between 0 and 300 seconds. The startPeriod is disabled by default.
Timeout int
The time period in seconds to wait for a health check to succeed before it is considered a failure. You may specify between 2 and 60 seconds. The default value is 5 seconds.
Command []string
A string array representing the command that the container runs to determine if it is healthy.
Interval int
The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.
Retries int
The number of times to retry a failed health check before the container is considered unhealthy. You may specify between 1 and 10 retries. The default value is three retries.
StartPeriod int
The optional grace period within which to provide containers time to bootstrap before failed health checks count towards the maximum number of retries. You may specify between 0 and 300 seconds. The startPeriod is disabled by default.
Timeout int
The time period in seconds to wait for a health check to succeed before it is considered a failure. You may specify between 2 and 60 seconds. The default value is 5 seconds.
command List<String>
A string array representing the command that the container runs to determine if it is healthy.
interval Integer
The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.
retries Integer
The number of times to retry a failed health check before the container is considered unhealthy. You may specify between 1 and 10 retries. The default value is three retries.
startPeriod Integer
The optional grace period within which to provide containers time to bootstrap before failed health checks count towards the maximum number of retries. You may specify between 0 and 300 seconds. The startPeriod is disabled by default.
timeout Integer
The time period in seconds to wait for a health check to succeed before it is considered a failure. You may specify between 2 and 60 seconds. The default value is 5 seconds.
command string[]
A string array representing the command that the container runs to determine if it is healthy.
interval number
The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.
retries number
The number of times to retry a failed health check before the container is considered unhealthy. You may specify between 1 and 10 retries. The default value is three retries.
startPeriod number
The optional grace period within which to provide containers time to bootstrap before failed health checks count towards the maximum number of retries. You may specify between 0 and 300 seconds. The startPeriod is disabled by default.
timeout number
The time period in seconds to wait for a health check to succeed before it is considered a failure. You may specify between 2 and 60 seconds. The default value is 5 seconds.
command Sequence[str]
A string array representing the command that the container runs to determine if it is healthy.
interval int
The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.
retries int
The number of times to retry a failed health check before the container is considered unhealthy. You may specify between 1 and 10 retries. The default value is three retries.
start_period int
The optional grace period within which to provide containers time to bootstrap before failed health checks count towards the maximum number of retries. You may specify between 0 and 300 seconds. The startPeriod is disabled by default.
timeout int
The time period in seconds to wait for a health check to succeed before it is considered a failure. You may specify between 2 and 60 seconds. The default value is 5 seconds.
command List<String>
A string array representing the command that the container runs to determine if it is healthy.
interval Number
The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.
retries Number
The number of times to retry a failed health check before the container is considered unhealthy. You may specify between 1 and 10 retries. The default value is three retries.
startPeriod Number
The optional grace period within which to provide containers time to bootstrap before failed health checks count towards the maximum number of retries. You may specify between 0 and 300 seconds. The startPeriod is disabled by default.
timeout Number
The time period in seconds to wait for a health check to succeed before it is considered a failure. You may specify between 2 and 60 seconds. The default value is 5 seconds.

TaskDefinitionHostEntry
, TaskDefinitionHostEntryArgs

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

TaskDefinitionKernelCapabilities
, TaskDefinitionKernelCapabilitiesArgs

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

TaskDefinitionKeyValuePair
, TaskDefinitionKeyValuePairArgs

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

TaskDefinitionLinuxParameters
, TaskDefinitionLinuxParametersArgs

TaskDefinitionLogConfiguration
, TaskDefinitionLogConfigurationArgs

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

TaskDefinitionMountPoint
, TaskDefinitionMountPointArgs

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

TaskDefinitionPortMapping
, TaskDefinitionPortMappingArgs

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

TaskDefinitionPortMappingAppProtocol
, TaskDefinitionPortMappingAppProtocolArgs

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

TaskDefinitionRepositoryCredentials
, TaskDefinitionRepositoryCredentialsArgs

TaskDefinitionResourceRequirement
, TaskDefinitionResourceRequirementArgs

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

TaskDefinitionSecret
, TaskDefinitionSecretArgs

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

TaskDefinitionSystemControl
, TaskDefinitionSystemControlArgs

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

TaskDefinitionTmpfs
, TaskDefinitionTmpfsArgs

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

TaskDefinitionUlimit
, TaskDefinitionUlimitArgs

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

TaskDefinitionVolumeFrom
, TaskDefinitionVolumeFromArgs

Package Details

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