1. Packages
  2. AWS Classic
  3. API Docs
  4. ecs
  5. Service

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.31.0 published on Monday, Apr 15, 2024 by Pulumi

aws.ecs.Service

Explore with Pulumi AI

aws logo

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.31.0 published on Monday, Apr 15, 2024 by Pulumi

    Note: To prevent a race condition during service deletion, make sure to set depends_on to the related aws.iam.RolePolicy; otherwise, the policy may be destroyed too soon and the ECS service will then get stuck in the DRAINING state.

    Provides an ECS service - effectively a task that is expected to run until an error occurs or a user terminates it (typically a webserver or a database).

    See ECS Services section in AWS developer guide.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const mongo = new aws.ecs.Service("mongo", {
        name: "mongodb",
        cluster: fooAwsEcsCluster.id,
        taskDefinition: mongoAwsEcsTaskDefinition.arn,
        desiredCount: 3,
        iamRole: fooAwsIamRole.arn,
        orderedPlacementStrategies: [{
            type: "binpack",
            field: "cpu",
        }],
        loadBalancers: [{
            targetGroupArn: fooAwsLbTargetGroup.arn,
            containerName: "mongo",
            containerPort: 8080,
        }],
        placementConstraints: [{
            type: "memberOf",
            expression: "attribute:ecs.availability-zone in [us-west-2a, us-west-2b]",
        }],
    }, {
        dependsOn: [foo],
    });
    
    import pulumi
    import pulumi_aws as aws
    
    mongo = aws.ecs.Service("mongo",
        name="mongodb",
        cluster=foo_aws_ecs_cluster["id"],
        task_definition=mongo_aws_ecs_task_definition["arn"],
        desired_count=3,
        iam_role=foo_aws_iam_role["arn"],
        ordered_placement_strategies=[aws.ecs.ServiceOrderedPlacementStrategyArgs(
            type="binpack",
            field="cpu",
        )],
        load_balancers=[aws.ecs.ServiceLoadBalancerArgs(
            target_group_arn=foo_aws_lb_target_group["arn"],
            container_name="mongo",
            container_port=8080,
        )],
        placement_constraints=[aws.ecs.ServicePlacementConstraintArgs(
            type="memberOf",
            expression="attribute:ecs.availability-zone in [us-west-2a, us-west-2b]",
        )],
        opts=pulumi.ResourceOptions(depends_on=[foo]))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := ecs.NewService(ctx, "mongo", &ecs.ServiceArgs{
    			Name:           pulumi.String("mongodb"),
    			Cluster:        pulumi.Any(fooAwsEcsCluster.Id),
    			TaskDefinition: pulumi.Any(mongoAwsEcsTaskDefinition.Arn),
    			DesiredCount:   pulumi.Int(3),
    			IamRole:        pulumi.Any(fooAwsIamRole.Arn),
    			OrderedPlacementStrategies: ecs.ServiceOrderedPlacementStrategyArray{
    				&ecs.ServiceOrderedPlacementStrategyArgs{
    					Type:  pulumi.String("binpack"),
    					Field: pulumi.String("cpu"),
    				},
    			},
    			LoadBalancers: ecs.ServiceLoadBalancerArray{
    				&ecs.ServiceLoadBalancerArgs{
    					TargetGroupArn: pulumi.Any(fooAwsLbTargetGroup.Arn),
    					ContainerName:  pulumi.String("mongo"),
    					ContainerPort:  pulumi.Int(8080),
    				},
    			},
    			PlacementConstraints: ecs.ServicePlacementConstraintArray{
    				&ecs.ServicePlacementConstraintArgs{
    					Type:       pulumi.String("memberOf"),
    					Expression: pulumi.String("attribute:ecs.availability-zone in [us-west-2a, us-west-2b]"),
    				},
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			foo,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var mongo = new Aws.Ecs.Service("mongo", new()
        {
            Name = "mongodb",
            Cluster = fooAwsEcsCluster.Id,
            TaskDefinition = mongoAwsEcsTaskDefinition.Arn,
            DesiredCount = 3,
            IamRole = fooAwsIamRole.Arn,
            OrderedPlacementStrategies = new[]
            {
                new Aws.Ecs.Inputs.ServiceOrderedPlacementStrategyArgs
                {
                    Type = "binpack",
                    Field = "cpu",
                },
            },
            LoadBalancers = new[]
            {
                new Aws.Ecs.Inputs.ServiceLoadBalancerArgs
                {
                    TargetGroupArn = fooAwsLbTargetGroup.Arn,
                    ContainerName = "mongo",
                    ContainerPort = 8080,
                },
            },
            PlacementConstraints = new[]
            {
                new Aws.Ecs.Inputs.ServicePlacementConstraintArgs
                {
                    Type = "memberOf",
                    Expression = "attribute:ecs.availability-zone in [us-west-2a, us-west-2b]",
                },
            },
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                foo, 
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.ecs.Service;
    import com.pulumi.aws.ecs.ServiceArgs;
    import com.pulumi.aws.ecs.inputs.ServiceOrderedPlacementStrategyArgs;
    import com.pulumi.aws.ecs.inputs.ServiceLoadBalancerArgs;
    import com.pulumi.aws.ecs.inputs.ServicePlacementConstraintArgs;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var mongo = new Service("mongo", ServiceArgs.builder()        
                .name("mongodb")
                .cluster(fooAwsEcsCluster.id())
                .taskDefinition(mongoAwsEcsTaskDefinition.arn())
                .desiredCount(3)
                .iamRole(fooAwsIamRole.arn())
                .orderedPlacementStrategies(ServiceOrderedPlacementStrategyArgs.builder()
                    .type("binpack")
                    .field("cpu")
                    .build())
                .loadBalancers(ServiceLoadBalancerArgs.builder()
                    .targetGroupArn(fooAwsLbTargetGroup.arn())
                    .containerName("mongo")
                    .containerPort(8080)
                    .build())
                .placementConstraints(ServicePlacementConstraintArgs.builder()
                    .type("memberOf")
                    .expression("attribute:ecs.availability-zone in [us-west-2a, us-west-2b]")
                    .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(foo)
                    .build());
    
        }
    }
    
    resources:
      mongo:
        type: aws:ecs:Service
        properties:
          name: mongodb
          cluster: ${fooAwsEcsCluster.id}
          taskDefinition: ${mongoAwsEcsTaskDefinition.arn}
          desiredCount: 3
          iamRole: ${fooAwsIamRole.arn}
          orderedPlacementStrategies:
            - type: binpack
              field: cpu
          loadBalancers:
            - targetGroupArn: ${fooAwsLbTargetGroup.arn}
              containerName: mongo
              containerPort: 8080
          placementConstraints:
            - type: memberOf
              expression: attribute:ecs.availability-zone in [us-west-2a, us-west-2b]
        options:
          dependson:
            - ${foo}
    

    Ignoring Changes to Desired Count

    You can use ignoreChanges to create an ECS service with an initial count of running instances, then ignore any changes to that count caused externally (e.g. Application Autoscaling).

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.ecs.Service("example", {desiredCount: 2});
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.ecs.Service("example", desired_count=2)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := ecs.NewService(ctx, "example", &ecs.ServiceArgs{
    			DesiredCount: pulumi.Int(2),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.Ecs.Service("example", new()
        {
            DesiredCount = 2,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.ecs.Service;
    import com.pulumi.aws.ecs.ServiceArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new Service("example", ServiceArgs.builder()        
                .desiredCount(2)
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:ecs:Service
        properties:
          desiredCount: 2 # Optional: Allow external changes without this provider plan difference
    

    Daemon Scheduling Strategy

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const bar = new aws.ecs.Service("bar", {
        name: "bar",
        cluster: foo.id,
        taskDefinition: barAwsEcsTaskDefinition.arn,
        schedulingStrategy: "DAEMON",
    });
    
    import pulumi
    import pulumi_aws as aws
    
    bar = aws.ecs.Service("bar",
        name="bar",
        cluster=foo["id"],
        task_definition=bar_aws_ecs_task_definition["arn"],
        scheduling_strategy="DAEMON")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := ecs.NewService(ctx, "bar", &ecs.ServiceArgs{
    			Name:               pulumi.String("bar"),
    			Cluster:            pulumi.Any(foo.Id),
    			TaskDefinition:     pulumi.Any(barAwsEcsTaskDefinition.Arn),
    			SchedulingStrategy: pulumi.String("DAEMON"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var bar = new Aws.Ecs.Service("bar", new()
        {
            Name = "bar",
            Cluster = foo.Id,
            TaskDefinition = barAwsEcsTaskDefinition.Arn,
            SchedulingStrategy = "DAEMON",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.ecs.Service;
    import com.pulumi.aws.ecs.ServiceArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var bar = new Service("bar", ServiceArgs.builder()        
                .name("bar")
                .cluster(foo.id())
                .taskDefinition(barAwsEcsTaskDefinition.arn())
                .schedulingStrategy("DAEMON")
                .build());
    
        }
    }
    
    resources:
      bar:
        type: aws:ecs:Service
        properties:
          name: bar
          cluster: ${foo.id}
          taskDefinition: ${barAwsEcsTaskDefinition.arn}
          schedulingStrategy: DAEMON
    

    CloudWatch Deployment Alarms

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.ecs.Service("example", {
        name: "example",
        cluster: exampleAwsEcsCluster.id,
        alarms: {
            enable: true,
            rollback: true,
            alarmNames: [exampleAwsCloudwatchMetricAlarm.alarmName],
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.ecs.Service("example",
        name="example",
        cluster=example_aws_ecs_cluster["id"],
        alarms=aws.ecs.ServiceAlarmsArgs(
            enable=True,
            rollback=True,
            alarm_names=[example_aws_cloudwatch_metric_alarm["alarmName"]],
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := ecs.NewService(ctx, "example", &ecs.ServiceArgs{
    			Name:    pulumi.String("example"),
    			Cluster: pulumi.Any(exampleAwsEcsCluster.Id),
    			Alarms: &ecs.ServiceAlarmsArgs{
    				Enable:   pulumi.Bool(true),
    				Rollback: pulumi.Bool(true),
    				AlarmNames: pulumi.StringArray{
    					exampleAwsCloudwatchMetricAlarm.AlarmName,
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.Ecs.Service("example", new()
        {
            Name = "example",
            Cluster = exampleAwsEcsCluster.Id,
            Alarms = new Aws.Ecs.Inputs.ServiceAlarmsArgs
            {
                Enable = true,
                Rollback = true,
                AlarmNames = new[]
                {
                    exampleAwsCloudwatchMetricAlarm.AlarmName,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.ecs.Service;
    import com.pulumi.aws.ecs.ServiceArgs;
    import com.pulumi.aws.ecs.inputs.ServiceAlarmsArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new Service("example", ServiceArgs.builder()        
                .name("example")
                .cluster(exampleAwsEcsCluster.id())
                .alarms(ServiceAlarmsArgs.builder()
                    .enable(true)
                    .rollback(true)
                    .alarmNames(exampleAwsCloudwatchMetricAlarm.alarmName())
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:ecs:Service
        properties:
          name: example
          cluster: ${exampleAwsEcsCluster.id}
          alarms:
            enable: true
            rollback: true
            alarmNames:
              - ${exampleAwsCloudwatchMetricAlarm.alarmName}
    

    External Deployment Controller

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.ecs.Service("example", {
        name: "example",
        cluster: exampleAwsEcsCluster.id,
        deploymentController: {
            type: "EXTERNAL",
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.ecs.Service("example",
        name="example",
        cluster=example_aws_ecs_cluster["id"],
        deployment_controller=aws.ecs.ServiceDeploymentControllerArgs(
            type="EXTERNAL",
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecs"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := ecs.NewService(ctx, "example", &ecs.ServiceArgs{
    			Name:    pulumi.String("example"),
    			Cluster: pulumi.Any(exampleAwsEcsCluster.Id),
    			DeploymentController: &ecs.ServiceDeploymentControllerArgs{
    				Type: pulumi.String("EXTERNAL"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.Ecs.Service("example", new()
        {
            Name = "example",
            Cluster = exampleAwsEcsCluster.Id,
            DeploymentController = new Aws.Ecs.Inputs.ServiceDeploymentControllerArgs
            {
                Type = "EXTERNAL",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.ecs.Service;
    import com.pulumi.aws.ecs.ServiceArgs;
    import com.pulumi.aws.ecs.inputs.ServiceDeploymentControllerArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new Service("example", ServiceArgs.builder()        
                .name("example")
                .cluster(exampleAwsEcsCluster.id())
                .deploymentController(ServiceDeploymentControllerArgs.builder()
                    .type("EXTERNAL")
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:ecs:Service
        properties:
          name: example
          cluster: ${exampleAwsEcsCluster.id}
          deploymentController:
            type: EXTERNAL
    

    Create Service Resource

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

    Constructor syntax

    new Service(name: string, args?: ServiceArgs, opts?: CustomResourceOptions);
    @overload
    def Service(resource_name: str,
                args: Optional[ServiceArgs] = None,
                opts: Optional[ResourceOptions] = None)
    
    @overload
    def Service(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                alarms: Optional[ServiceAlarmsArgs] = None,
                capacity_provider_strategies: Optional[Sequence[ServiceCapacityProviderStrategyArgs]] = None,
                cluster: Optional[str] = None,
                deployment_circuit_breaker: Optional[ServiceDeploymentCircuitBreakerArgs] = None,
                deployment_controller: Optional[ServiceDeploymentControllerArgs] = None,
                deployment_maximum_percent: Optional[int] = None,
                deployment_minimum_healthy_percent: Optional[int] = None,
                desired_count: Optional[int] = None,
                enable_ecs_managed_tags: Optional[bool] = None,
                enable_execute_command: Optional[bool] = None,
                force_new_deployment: Optional[bool] = None,
                health_check_grace_period_seconds: Optional[int] = None,
                iam_role: Optional[str] = None,
                launch_type: Optional[str] = None,
                load_balancers: Optional[Sequence[ServiceLoadBalancerArgs]] = None,
                name: Optional[str] = None,
                network_configuration: Optional[ServiceNetworkConfigurationArgs] = None,
                ordered_placement_strategies: Optional[Sequence[ServiceOrderedPlacementStrategyArgs]] = None,
                placement_constraints: Optional[Sequence[ServicePlacementConstraintArgs]] = None,
                platform_version: Optional[str] = None,
                propagate_tags: Optional[str] = None,
                scheduling_strategy: Optional[str] = None,
                service_connect_configuration: Optional[ServiceServiceConnectConfigurationArgs] = None,
                service_registries: Optional[ServiceServiceRegistriesArgs] = None,
                tags: Optional[Mapping[str, str]] = None,
                task_definition: Optional[str] = None,
                triggers: Optional[Mapping[str, str]] = None,
                wait_for_steady_state: Optional[bool] = None)
    func NewService(ctx *Context, name string, args *ServiceArgs, opts ...ResourceOption) (*Service, error)
    public Service(string name, ServiceArgs? args = null, CustomResourceOptions? opts = null)
    public Service(String name, ServiceArgs args)
    public Service(String name, ServiceArgs args, CustomResourceOptions options)
    
    type: aws:ecs:Service
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args ServiceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ServiceArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ServiceArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ServiceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ServiceArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

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

    var awsServiceResource = new Aws.Ecs.Service("awsServiceResource", new()
    {
        Alarms = new Aws.Ecs.Inputs.ServiceAlarmsArgs
        {
            AlarmNames = new[]
            {
                "string",
            },
            Enable = false,
            Rollback = false,
        },
        CapacityProviderStrategies = new[]
        {
            new Aws.Ecs.Inputs.ServiceCapacityProviderStrategyArgs
            {
                CapacityProvider = "string",
                Base = 0,
                Weight = 0,
            },
        },
        Cluster = "string",
        DeploymentCircuitBreaker = new Aws.Ecs.Inputs.ServiceDeploymentCircuitBreakerArgs
        {
            Enable = false,
            Rollback = false,
        },
        DeploymentController = new Aws.Ecs.Inputs.ServiceDeploymentControllerArgs
        {
            Type = "string",
        },
        DeploymentMaximumPercent = 0,
        DeploymentMinimumHealthyPercent = 0,
        DesiredCount = 0,
        EnableEcsManagedTags = false,
        EnableExecuteCommand = false,
        ForceNewDeployment = false,
        HealthCheckGracePeriodSeconds = 0,
        IamRole = "string",
        LaunchType = "string",
        LoadBalancers = new[]
        {
            new Aws.Ecs.Inputs.ServiceLoadBalancerArgs
            {
                ContainerName = "string",
                ContainerPort = 0,
                ElbName = "string",
                TargetGroupArn = "string",
            },
        },
        Name = "string",
        NetworkConfiguration = new Aws.Ecs.Inputs.ServiceNetworkConfigurationArgs
        {
            Subnets = new[]
            {
                "string",
            },
            AssignPublicIp = false,
            SecurityGroups = new[]
            {
                "string",
            },
        },
        OrderedPlacementStrategies = new[]
        {
            new Aws.Ecs.Inputs.ServiceOrderedPlacementStrategyArgs
            {
                Type = "string",
                Field = "string",
            },
        },
        PlacementConstraints = new[]
        {
            new Aws.Ecs.Inputs.ServicePlacementConstraintArgs
            {
                Type = "string",
                Expression = "string",
            },
        },
        PlatformVersion = "string",
        PropagateTags = "string",
        SchedulingStrategy = "string",
        ServiceConnectConfiguration = new Aws.Ecs.Inputs.ServiceServiceConnectConfigurationArgs
        {
            Enabled = false,
            LogConfiguration = new Aws.Ecs.Inputs.ServiceServiceConnectConfigurationLogConfigurationArgs
            {
                LogDriver = "string",
                Options = 
                {
                    { "string", "string" },
                },
                SecretOptions = new[]
                {
                    new Aws.Ecs.Inputs.ServiceServiceConnectConfigurationLogConfigurationSecretOptionArgs
                    {
                        Name = "string",
                        ValueFrom = "string",
                    },
                },
            },
            Namespace = "string",
            Services = new[]
            {
                new Aws.Ecs.Inputs.ServiceServiceConnectConfigurationServiceArgs
                {
                    PortName = "string",
                    ClientAlias = new[]
                    {
                        new Aws.Ecs.Inputs.ServiceServiceConnectConfigurationServiceClientAliasArgs
                        {
                            Port = 0,
                            DnsName = "string",
                        },
                    },
                    DiscoveryName = "string",
                    IngressPortOverride = 0,
                    Timeout = new Aws.Ecs.Inputs.ServiceServiceConnectConfigurationServiceTimeoutArgs
                    {
                        IdleTimeoutSeconds = 0,
                        PerRequestTimeoutSeconds = 0,
                    },
                    Tls = new Aws.Ecs.Inputs.ServiceServiceConnectConfigurationServiceTlsArgs
                    {
                        IssuerCertAuthority = new Aws.Ecs.Inputs.ServiceServiceConnectConfigurationServiceTlsIssuerCertAuthorityArgs
                        {
                            AwsPcaAuthorityArn = "string",
                        },
                        KmsKey = "string",
                        RoleArn = "string",
                    },
                },
            },
        },
        ServiceRegistries = new Aws.Ecs.Inputs.ServiceServiceRegistriesArgs
        {
            RegistryArn = "string",
            ContainerName = "string",
            ContainerPort = 0,
            Port = 0,
        },
        Tags = 
        {
            { "string", "string" },
        },
        TaskDefinition = "string",
        Triggers = 
        {
            { "string", "string" },
        },
        WaitForSteadyState = false,
    });
    
    example, err := ecs.NewService(ctx, "awsServiceResource", &ecs.ServiceArgs{
    	Alarms: &ecs.ServiceAlarmsArgs{
    		AlarmNames: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Enable:   pulumi.Bool(false),
    		Rollback: pulumi.Bool(false),
    	},
    	CapacityProviderStrategies: ecs.ServiceCapacityProviderStrategyArray{
    		&ecs.ServiceCapacityProviderStrategyArgs{
    			CapacityProvider: pulumi.String("string"),
    			Base:             pulumi.Int(0),
    			Weight:           pulumi.Int(0),
    		},
    	},
    	Cluster: pulumi.String("string"),
    	DeploymentCircuitBreaker: &ecs.ServiceDeploymentCircuitBreakerArgs{
    		Enable:   pulumi.Bool(false),
    		Rollback: pulumi.Bool(false),
    	},
    	DeploymentController: &ecs.ServiceDeploymentControllerArgs{
    		Type: pulumi.String("string"),
    	},
    	DeploymentMaximumPercent:        pulumi.Int(0),
    	DeploymentMinimumHealthyPercent: pulumi.Int(0),
    	DesiredCount:                    pulumi.Int(0),
    	EnableEcsManagedTags:            pulumi.Bool(false),
    	EnableExecuteCommand:            pulumi.Bool(false),
    	ForceNewDeployment:              pulumi.Bool(false),
    	HealthCheckGracePeriodSeconds:   pulumi.Int(0),
    	IamRole:                         pulumi.String("string"),
    	LaunchType:                      pulumi.String("string"),
    	LoadBalancers: ecs.ServiceLoadBalancerArray{
    		&ecs.ServiceLoadBalancerArgs{
    			ContainerName:  pulumi.String("string"),
    			ContainerPort:  pulumi.Int(0),
    			ElbName:        pulumi.String("string"),
    			TargetGroupArn: pulumi.String("string"),
    		},
    	},
    	Name: pulumi.String("string"),
    	NetworkConfiguration: &ecs.ServiceNetworkConfigurationArgs{
    		Subnets: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		AssignPublicIp: pulumi.Bool(false),
    		SecurityGroups: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	OrderedPlacementStrategies: ecs.ServiceOrderedPlacementStrategyArray{
    		&ecs.ServiceOrderedPlacementStrategyArgs{
    			Type:  pulumi.String("string"),
    			Field: pulumi.String("string"),
    		},
    	},
    	PlacementConstraints: ecs.ServicePlacementConstraintArray{
    		&ecs.ServicePlacementConstraintArgs{
    			Type:       pulumi.String("string"),
    			Expression: pulumi.String("string"),
    		},
    	},
    	PlatformVersion:    pulumi.String("string"),
    	PropagateTags:      pulumi.String("string"),
    	SchedulingStrategy: pulumi.String("string"),
    	ServiceConnectConfiguration: &ecs.ServiceServiceConnectConfigurationArgs{
    		Enabled: pulumi.Bool(false),
    		LogConfiguration: &ecs.ServiceServiceConnectConfigurationLogConfigurationArgs{
    			LogDriver: pulumi.String("string"),
    			Options: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			SecretOptions: ecs.ServiceServiceConnectConfigurationLogConfigurationSecretOptionArray{
    				&ecs.ServiceServiceConnectConfigurationLogConfigurationSecretOptionArgs{
    					Name:      pulumi.String("string"),
    					ValueFrom: pulumi.String("string"),
    				},
    			},
    		},
    		Namespace: pulumi.String("string"),
    		Services: ecs.ServiceServiceConnectConfigurationServiceArray{
    			&ecs.ServiceServiceConnectConfigurationServiceArgs{
    				PortName: pulumi.String("string"),
    				ClientAlias: ecs.ServiceServiceConnectConfigurationServiceClientAliasArray{
    					&ecs.ServiceServiceConnectConfigurationServiceClientAliasArgs{
    						Port:    pulumi.Int(0),
    						DnsName: pulumi.String("string"),
    					},
    				},
    				DiscoveryName:       pulumi.String("string"),
    				IngressPortOverride: pulumi.Int(0),
    				Timeout: &ecs.ServiceServiceConnectConfigurationServiceTimeoutArgs{
    					IdleTimeoutSeconds:       pulumi.Int(0),
    					PerRequestTimeoutSeconds: pulumi.Int(0),
    				},
    				Tls: &ecs.ServiceServiceConnectConfigurationServiceTlsArgs{
    					IssuerCertAuthority: &ecs.ServiceServiceConnectConfigurationServiceTlsIssuerCertAuthorityArgs{
    						AwsPcaAuthorityArn: pulumi.String("string"),
    					},
    					KmsKey:  pulumi.String("string"),
    					RoleArn: pulumi.String("string"),
    				},
    			},
    		},
    	},
    	ServiceRegistries: &ecs.ServiceServiceRegistriesArgs{
    		RegistryArn:   pulumi.String("string"),
    		ContainerName: pulumi.String("string"),
    		ContainerPort: pulumi.Int(0),
    		Port:          pulumi.Int(0),
    	},
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	TaskDefinition: pulumi.String("string"),
    	Triggers: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	WaitForSteadyState: pulumi.Bool(false),
    })
    
    var awsServiceResource = new Service("awsServiceResource", ServiceArgs.builder()        
        .alarms(ServiceAlarmsArgs.builder()
            .alarmNames("string")
            .enable(false)
            .rollback(false)
            .build())
        .capacityProviderStrategies(ServiceCapacityProviderStrategyArgs.builder()
            .capacityProvider("string")
            .base(0)
            .weight(0)
            .build())
        .cluster("string")
        .deploymentCircuitBreaker(ServiceDeploymentCircuitBreakerArgs.builder()
            .enable(false)
            .rollback(false)
            .build())
        .deploymentController(ServiceDeploymentControllerArgs.builder()
            .type("string")
            .build())
        .deploymentMaximumPercent(0)
        .deploymentMinimumHealthyPercent(0)
        .desiredCount(0)
        .enableEcsManagedTags(false)
        .enableExecuteCommand(false)
        .forceNewDeployment(false)
        .healthCheckGracePeriodSeconds(0)
        .iamRole("string")
        .launchType("string")
        .loadBalancers(ServiceLoadBalancerArgs.builder()
            .containerName("string")
            .containerPort(0)
            .elbName("string")
            .targetGroupArn("string")
            .build())
        .name("string")
        .networkConfiguration(ServiceNetworkConfigurationArgs.builder()
            .subnets("string")
            .assignPublicIp(false)
            .securityGroups("string")
            .build())
        .orderedPlacementStrategies(ServiceOrderedPlacementStrategyArgs.builder()
            .type("string")
            .field("string")
            .build())
        .placementConstraints(ServicePlacementConstraintArgs.builder()
            .type("string")
            .expression("string")
            .build())
        .platformVersion("string")
        .propagateTags("string")
        .schedulingStrategy("string")
        .serviceConnectConfiguration(ServiceServiceConnectConfigurationArgs.builder()
            .enabled(false)
            .logConfiguration(ServiceServiceConnectConfigurationLogConfigurationArgs.builder()
                .logDriver("string")
                .options(Map.of("string", "string"))
                .secretOptions(ServiceServiceConnectConfigurationLogConfigurationSecretOptionArgs.builder()
                    .name("string")
                    .valueFrom("string")
                    .build())
                .build())
            .namespace("string")
            .services(ServiceServiceConnectConfigurationServiceArgs.builder()
                .portName("string")
                .clientAlias(ServiceServiceConnectConfigurationServiceClientAliasArgs.builder()
                    .port(0)
                    .dnsName("string")
                    .build())
                .discoveryName("string")
                .ingressPortOverride(0)
                .timeout(ServiceServiceConnectConfigurationServiceTimeoutArgs.builder()
                    .idleTimeoutSeconds(0)
                    .perRequestTimeoutSeconds(0)
                    .build())
                .tls(ServiceServiceConnectConfigurationServiceTlsArgs.builder()
                    .issuerCertAuthority(ServiceServiceConnectConfigurationServiceTlsIssuerCertAuthorityArgs.builder()
                        .awsPcaAuthorityArn("string")
                        .build())
                    .kmsKey("string")
                    .roleArn("string")
                    .build())
                .build())
            .build())
        .serviceRegistries(ServiceServiceRegistriesArgs.builder()
            .registryArn("string")
            .containerName("string")
            .containerPort(0)
            .port(0)
            .build())
        .tags(Map.of("string", "string"))
        .taskDefinition("string")
        .triggers(Map.of("string", "string"))
        .waitForSteadyState(false)
        .build());
    
    aws_service_resource = aws.ecs.Service("awsServiceResource",
        alarms=aws.ecs.ServiceAlarmsArgs(
            alarm_names=["string"],
            enable=False,
            rollback=False,
        ),
        capacity_provider_strategies=[aws.ecs.ServiceCapacityProviderStrategyArgs(
            capacity_provider="string",
            base=0,
            weight=0,
        )],
        cluster="string",
        deployment_circuit_breaker=aws.ecs.ServiceDeploymentCircuitBreakerArgs(
            enable=False,
            rollback=False,
        ),
        deployment_controller=aws.ecs.ServiceDeploymentControllerArgs(
            type="string",
        ),
        deployment_maximum_percent=0,
        deployment_minimum_healthy_percent=0,
        desired_count=0,
        enable_ecs_managed_tags=False,
        enable_execute_command=False,
        force_new_deployment=False,
        health_check_grace_period_seconds=0,
        iam_role="string",
        launch_type="string",
        load_balancers=[aws.ecs.ServiceLoadBalancerArgs(
            container_name="string",
            container_port=0,
            elb_name="string",
            target_group_arn="string",
        )],
        name="string",
        network_configuration=aws.ecs.ServiceNetworkConfigurationArgs(
            subnets=["string"],
            assign_public_ip=False,
            security_groups=["string"],
        ),
        ordered_placement_strategies=[aws.ecs.ServiceOrderedPlacementStrategyArgs(
            type="string",
            field="string",
        )],
        placement_constraints=[aws.ecs.ServicePlacementConstraintArgs(
            type="string",
            expression="string",
        )],
        platform_version="string",
        propagate_tags="string",
        scheduling_strategy="string",
        service_connect_configuration=aws.ecs.ServiceServiceConnectConfigurationArgs(
            enabled=False,
            log_configuration=aws.ecs.ServiceServiceConnectConfigurationLogConfigurationArgs(
                log_driver="string",
                options={
                    "string": "string",
                },
                secret_options=[aws.ecs.ServiceServiceConnectConfigurationLogConfigurationSecretOptionArgs(
                    name="string",
                    value_from="string",
                )],
            ),
            namespace="string",
            services=[aws.ecs.ServiceServiceConnectConfigurationServiceArgs(
                port_name="string",
                client_alias=[aws.ecs.ServiceServiceConnectConfigurationServiceClientAliasArgs(
                    port=0,
                    dns_name="string",
                )],
                discovery_name="string",
                ingress_port_override=0,
                timeout=aws.ecs.ServiceServiceConnectConfigurationServiceTimeoutArgs(
                    idle_timeout_seconds=0,
                    per_request_timeout_seconds=0,
                ),
                tls=aws.ecs.ServiceServiceConnectConfigurationServiceTlsArgs(
                    issuer_cert_authority=aws.ecs.ServiceServiceConnectConfigurationServiceTlsIssuerCertAuthorityArgs(
                        aws_pca_authority_arn="string",
                    ),
                    kms_key="string",
                    role_arn="string",
                ),
            )],
        ),
        service_registries=aws.ecs.ServiceServiceRegistriesArgs(
            registry_arn="string",
            container_name="string",
            container_port=0,
            port=0,
        ),
        tags={
            "string": "string",
        },
        task_definition="string",
        triggers={
            "string": "string",
        },
        wait_for_steady_state=False)
    
    const awsServiceResource = new aws.ecs.Service("awsServiceResource", {
        alarms: {
            alarmNames: ["string"],
            enable: false,
            rollback: false,
        },
        capacityProviderStrategies: [{
            capacityProvider: "string",
            base: 0,
            weight: 0,
        }],
        cluster: "string",
        deploymentCircuitBreaker: {
            enable: false,
            rollback: false,
        },
        deploymentController: {
            type: "string",
        },
        deploymentMaximumPercent: 0,
        deploymentMinimumHealthyPercent: 0,
        desiredCount: 0,
        enableEcsManagedTags: false,
        enableExecuteCommand: false,
        forceNewDeployment: false,
        healthCheckGracePeriodSeconds: 0,
        iamRole: "string",
        launchType: "string",
        loadBalancers: [{
            containerName: "string",
            containerPort: 0,
            elbName: "string",
            targetGroupArn: "string",
        }],
        name: "string",
        networkConfiguration: {
            subnets: ["string"],
            assignPublicIp: false,
            securityGroups: ["string"],
        },
        orderedPlacementStrategies: [{
            type: "string",
            field: "string",
        }],
        placementConstraints: [{
            type: "string",
            expression: "string",
        }],
        platformVersion: "string",
        propagateTags: "string",
        schedulingStrategy: "string",
        serviceConnectConfiguration: {
            enabled: false,
            logConfiguration: {
                logDriver: "string",
                options: {
                    string: "string",
                },
                secretOptions: [{
                    name: "string",
                    valueFrom: "string",
                }],
            },
            namespace: "string",
            services: [{
                portName: "string",
                clientAlias: [{
                    port: 0,
                    dnsName: "string",
                }],
                discoveryName: "string",
                ingressPortOverride: 0,
                timeout: {
                    idleTimeoutSeconds: 0,
                    perRequestTimeoutSeconds: 0,
                },
                tls: {
                    issuerCertAuthority: {
                        awsPcaAuthorityArn: "string",
                    },
                    kmsKey: "string",
                    roleArn: "string",
                },
            }],
        },
        serviceRegistries: {
            registryArn: "string",
            containerName: "string",
            containerPort: 0,
            port: 0,
        },
        tags: {
            string: "string",
        },
        taskDefinition: "string",
        triggers: {
            string: "string",
        },
        waitForSteadyState: false,
    });
    
    type: aws:ecs:Service
    properties:
        alarms:
            alarmNames:
                - string
            enable: false
            rollback: false
        capacityProviderStrategies:
            - base: 0
              capacityProvider: string
              weight: 0
        cluster: string
        deploymentCircuitBreaker:
            enable: false
            rollback: false
        deploymentController:
            type: string
        deploymentMaximumPercent: 0
        deploymentMinimumHealthyPercent: 0
        desiredCount: 0
        enableEcsManagedTags: false
        enableExecuteCommand: false
        forceNewDeployment: false
        healthCheckGracePeriodSeconds: 0
        iamRole: string
        launchType: string
        loadBalancers:
            - containerName: string
              containerPort: 0
              elbName: string
              targetGroupArn: string
        name: string
        networkConfiguration:
            assignPublicIp: false
            securityGroups:
                - string
            subnets:
                - string
        orderedPlacementStrategies:
            - field: string
              type: string
        placementConstraints:
            - expression: string
              type: string
        platformVersion: string
        propagateTags: string
        schedulingStrategy: string
        serviceConnectConfiguration:
            enabled: false
            logConfiguration:
                logDriver: string
                options:
                    string: string
                secretOptions:
                    - name: string
                      valueFrom: string
            namespace: string
            services:
                - clientAlias:
                    - dnsName: string
                      port: 0
                  discoveryName: string
                  ingressPortOverride: 0
                  portName: string
                  timeout:
                    idleTimeoutSeconds: 0
                    perRequestTimeoutSeconds: 0
                  tls:
                    issuerCertAuthority:
                        awsPcaAuthorityArn: string
                    kmsKey: string
                    roleArn: string
        serviceRegistries:
            containerName: string
            containerPort: 0
            port: 0
            registryArn: string
        tags:
            string: string
        taskDefinition: string
        triggers:
            string: string
        waitForSteadyState: false
    

    Service Resource Properties

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

    Inputs

    The Service resource accepts the following input properties:

    Alarms ServiceAlarms
    Information about the CloudWatch alarms. See below.
    CapacityProviderStrategies List<ServiceCapacityProviderStrategy>
    Capacity provider strategies to use for the service. Can be one or more. These can be updated without destroying and recreating the service only if force_new_deployment = true and not changing from 0 capacity_provider_strategy blocks to greater than 0, or vice versa. See below. Conflicts with launch_type.
    Cluster string
    ARN of an ECS cluster.
    DeploymentCircuitBreaker ServiceDeploymentCircuitBreaker
    Configuration block for deployment circuit breaker. See below.
    DeploymentController ServiceDeploymentController
    Configuration block for deployment controller configuration. See below.
    DeploymentMaximumPercent int
    Upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the DAEMON scheduling strategy.
    DeploymentMinimumHealthyPercent int
    Lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.
    DesiredCount int
    Number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the DAEMON scheduling strategy.
    EnableEcsManagedTags bool
    Specifies whether to enable Amazon ECS managed tags for the tasks within the service.
    EnableExecuteCommand bool
    Specifies whether to enable Amazon ECS Exec for the tasks within the service.
    ForceNewDeployment bool
    Enable to force a new task deployment of the service. This can be used to update tasks to use a newer Docker image with same image/tag combination (e.g., myimage:latest), roll Fargate tasks onto a newer platform version, or immediately deploy ordered_placement_strategy and placement_constraints updates.
    HealthCheckGracePeriodSeconds int
    Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 2147483647. Only valid for services configured to use load balancers.
    IamRole string
    ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the awsvpc network mode. If using awsvpc network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here.
    LaunchType string
    Launch type on which to run your service. The valid values are EC2, FARGATE, and EXTERNAL. Defaults to EC2. Conflicts with capacity_provider_strategy.
    LoadBalancers List<ServiceLoadBalancer>
    Configuration block for load balancers. See below.
    Name string

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

    The following arguments are optional:

    NetworkConfiguration ServiceNetworkConfiguration
    Network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below.
    OrderedPlacementStrategies List<ServiceOrderedPlacementStrategy>
    Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. The maximum number of ordered_placement_strategy blocks is 5. See below.
    PlacementConstraints List<ServicePlacementConstraint>
    Rules that are taken into consideration during task placement. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. Maximum number of placement_constraints is 10. See below.
    PlatformVersion string
    Platform version on which to run your service. Only applicable for launch_type set to FARGATE. Defaults to LATEST. More information about Fargate platform versions can be found in the AWS ECS User Guide.
    PropagateTags string
    Specifies whether to propagate the tags from the task definition or the service to the tasks. The valid values are SERVICE and TASK_DEFINITION.
    SchedulingStrategy string
    Scheduling strategy to use for the service. The valid values are REPLICA and DAEMON. Defaults to REPLICA. Note that Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment controller types don't support the DAEMON scheduling strategy.
    ServiceConnectConfiguration ServiceServiceConnectConfiguration
    The 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.
    ServiceRegistries ServiceServiceRegistries
    Service discovery registries for the service. The maximum number of service_registries blocks is 1. See below.
    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. Required unless using the EXTERNAL deployment controller. If a revision is not specified, the latest ACTIVE revision is used.
    Triggers Dictionary<string, string>
    Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with plantimestamp(). See example above.
    WaitForSteadyState bool
    If true, this provider will wait for the service to reach a steady state (like aws ecs wait services-stable) before continuing. Default false.
    Alarms ServiceAlarmsArgs
    Information about the CloudWatch alarms. See below.
    CapacityProviderStrategies []ServiceCapacityProviderStrategyArgs
    Capacity provider strategies to use for the service. Can be one or more. These can be updated without destroying and recreating the service only if force_new_deployment = true and not changing from 0 capacity_provider_strategy blocks to greater than 0, or vice versa. See below. Conflicts with launch_type.
    Cluster string
    ARN of an ECS cluster.
    DeploymentCircuitBreaker ServiceDeploymentCircuitBreakerArgs
    Configuration block for deployment circuit breaker. See below.
    DeploymentController ServiceDeploymentControllerArgs
    Configuration block for deployment controller configuration. See below.
    DeploymentMaximumPercent int
    Upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the DAEMON scheduling strategy.
    DeploymentMinimumHealthyPercent int
    Lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.
    DesiredCount int
    Number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the DAEMON scheduling strategy.
    EnableEcsManagedTags bool
    Specifies whether to enable Amazon ECS managed tags for the tasks within the service.
    EnableExecuteCommand bool
    Specifies whether to enable Amazon ECS Exec for the tasks within the service.
    ForceNewDeployment bool
    Enable to force a new task deployment of the service. This can be used to update tasks to use a newer Docker image with same image/tag combination (e.g., myimage:latest), roll Fargate tasks onto a newer platform version, or immediately deploy ordered_placement_strategy and placement_constraints updates.
    HealthCheckGracePeriodSeconds int
    Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 2147483647. Only valid for services configured to use load balancers.
    IamRole string
    ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the awsvpc network mode. If using awsvpc network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here.
    LaunchType string
    Launch type on which to run your service. The valid values are EC2, FARGATE, and EXTERNAL. Defaults to EC2. Conflicts with capacity_provider_strategy.
    LoadBalancers []ServiceLoadBalancerArgs
    Configuration block for load balancers. See below.
    Name string

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

    The following arguments are optional:

    NetworkConfiguration ServiceNetworkConfigurationArgs
    Network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below.
    OrderedPlacementStrategies []ServiceOrderedPlacementStrategyArgs
    Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. The maximum number of ordered_placement_strategy blocks is 5. See below.
    PlacementConstraints []ServicePlacementConstraintArgs
    Rules that are taken into consideration during task placement. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. Maximum number of placement_constraints is 10. See below.
    PlatformVersion string
    Platform version on which to run your service. Only applicable for launch_type set to FARGATE. Defaults to LATEST. More information about Fargate platform versions can be found in the AWS ECS User Guide.
    PropagateTags string
    Specifies whether to propagate the tags from the task definition or the service to the tasks. The valid values are SERVICE and TASK_DEFINITION.
    SchedulingStrategy string
    Scheduling strategy to use for the service. The valid values are REPLICA and DAEMON. Defaults to REPLICA. Note that Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment controller types don't support the DAEMON scheduling strategy.
    ServiceConnectConfiguration ServiceServiceConnectConfigurationArgs
    The 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.
    ServiceRegistries ServiceServiceRegistriesArgs
    Service discovery registries for the service. The maximum number of service_registries blocks is 1. See below.
    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. Required unless using the EXTERNAL deployment controller. If a revision is not specified, the latest ACTIVE revision is used.
    Triggers map[string]string
    Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with plantimestamp(). See example above.
    WaitForSteadyState bool
    If true, this provider will wait for the service to reach a steady state (like aws ecs wait services-stable) before continuing. Default false.
    alarms ServiceAlarms
    Information about the CloudWatch alarms. See below.
    capacityProviderStrategies List<ServiceCapacityProviderStrategy>
    Capacity provider strategies to use for the service. Can be one or more. These can be updated without destroying and recreating the service only if force_new_deployment = true and not changing from 0 capacity_provider_strategy blocks to greater than 0, or vice versa. See below. Conflicts with launch_type.
    cluster String
    ARN of an ECS cluster.
    deploymentCircuitBreaker ServiceDeploymentCircuitBreaker
    Configuration block for deployment circuit breaker. See below.
    deploymentController ServiceDeploymentController
    Configuration block for deployment controller configuration. See below.
    deploymentMaximumPercent Integer
    Upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the DAEMON scheduling strategy.
    deploymentMinimumHealthyPercent Integer
    Lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.
    desiredCount Integer
    Number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the DAEMON scheduling strategy.
    enableEcsManagedTags Boolean
    Specifies whether to enable Amazon ECS managed tags for the tasks within the service.
    enableExecuteCommand Boolean
    Specifies whether to enable Amazon ECS Exec for the tasks within the service.
    forceNewDeployment Boolean
    Enable to force a new task deployment of the service. This can be used to update tasks to use a newer Docker image with same image/tag combination (e.g., myimage:latest), roll Fargate tasks onto a newer platform version, or immediately deploy ordered_placement_strategy and placement_constraints updates.
    healthCheckGracePeriodSeconds Integer
    Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 2147483647. Only valid for services configured to use load balancers.
    iamRole String
    ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the awsvpc network mode. If using awsvpc network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here.
    launchType String
    Launch type on which to run your service. The valid values are EC2, FARGATE, and EXTERNAL. Defaults to EC2. Conflicts with capacity_provider_strategy.
    loadBalancers List<ServiceLoadBalancer>
    Configuration block for load balancers. See below.
    name String

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

    The following arguments are optional:

    networkConfiguration ServiceNetworkConfiguration
    Network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below.
    orderedPlacementStrategies List<ServiceOrderedPlacementStrategy>
    Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. The maximum number of ordered_placement_strategy blocks is 5. See below.
    placementConstraints List<ServicePlacementConstraint>
    Rules that are taken into consideration during task placement. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. Maximum number of placement_constraints is 10. See below.
    platformVersion String
    Platform version on which to run your service. Only applicable for launch_type set to FARGATE. Defaults to LATEST. More information about Fargate platform versions can be found in the AWS ECS User Guide.
    propagateTags String
    Specifies whether to propagate the tags from the task definition or the service to the tasks. The valid values are SERVICE and TASK_DEFINITION.
    schedulingStrategy String
    Scheduling strategy to use for the service. The valid values are REPLICA and DAEMON. Defaults to REPLICA. Note that Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment controller types don't support the DAEMON scheduling strategy.
    serviceConnectConfiguration ServiceServiceConnectConfiguration
    The 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.
    serviceRegistries ServiceServiceRegistries
    Service discovery registries for the service. The maximum number of service_registries blocks is 1. See below.
    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. Required unless using the EXTERNAL deployment controller. If a revision is not specified, the latest ACTIVE revision is used.
    triggers Map<String,String>
    Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with plantimestamp(). See example above.
    waitForSteadyState Boolean
    If true, this provider will wait for the service to reach a steady state (like aws ecs wait services-stable) before continuing. Default false.
    alarms ServiceAlarms
    Information about the CloudWatch alarms. See below.
    capacityProviderStrategies ServiceCapacityProviderStrategy[]
    Capacity provider strategies to use for the service. Can be one or more. These can be updated without destroying and recreating the service only if force_new_deployment = true and not changing from 0 capacity_provider_strategy blocks to greater than 0, or vice versa. See below. Conflicts with launch_type.
    cluster string
    ARN of an ECS cluster.
    deploymentCircuitBreaker ServiceDeploymentCircuitBreaker
    Configuration block for deployment circuit breaker. See below.
    deploymentController ServiceDeploymentController
    Configuration block for deployment controller configuration. See below.
    deploymentMaximumPercent number
    Upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the DAEMON scheduling strategy.
    deploymentMinimumHealthyPercent number
    Lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.
    desiredCount number
    Number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the DAEMON scheduling strategy.
    enableEcsManagedTags boolean
    Specifies whether to enable Amazon ECS managed tags for the tasks within the service.
    enableExecuteCommand boolean
    Specifies whether to enable Amazon ECS Exec for the tasks within the service.
    forceNewDeployment boolean
    Enable to force a new task deployment of the service. This can be used to update tasks to use a newer Docker image with same image/tag combination (e.g., myimage:latest), roll Fargate tasks onto a newer platform version, or immediately deploy ordered_placement_strategy and placement_constraints updates.
    healthCheckGracePeriodSeconds number
    Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 2147483647. Only valid for services configured to use load balancers.
    iamRole string
    ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the awsvpc network mode. If using awsvpc network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here.
    launchType string
    Launch type on which to run your service. The valid values are EC2, FARGATE, and EXTERNAL. Defaults to EC2. Conflicts with capacity_provider_strategy.
    loadBalancers ServiceLoadBalancer[]
    Configuration block for load balancers. See below.
    name string

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

    The following arguments are optional:

    networkConfiguration ServiceNetworkConfiguration
    Network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below.
    orderedPlacementStrategies ServiceOrderedPlacementStrategy[]
    Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. The maximum number of ordered_placement_strategy blocks is 5. See below.
    placementConstraints 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
    Specifies whether to propagate the tags from the task definition or the service to the tasks. The valid values are SERVICE and TASK_DEFINITION.
    schedulingStrategy string
    Scheduling strategy to use for the service. The valid values are REPLICA and DAEMON. Defaults to REPLICA. Note that Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment controller types don't support the DAEMON scheduling strategy.
    serviceConnectConfiguration ServiceServiceConnectConfiguration
    The 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.
    serviceRegistries ServiceServiceRegistries
    Service discovery registries for the service. The maximum number of service_registries blocks is 1. See below.
    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. Required unless using the EXTERNAL deployment controller. If a revision is not specified, the latest ACTIVE revision is used.
    triggers {[key: string]: string}
    Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with plantimestamp(). See example above.
    waitForSteadyState boolean
    If true, this provider will wait for the service to reach a steady state (like aws ecs wait services-stable) before continuing. Default false.
    alarms ServiceAlarmsArgs
    Information about the CloudWatch alarms. See below.
    capacity_provider_strategies Sequence[ServiceCapacityProviderStrategyArgs]
    Capacity provider strategies to use for the service. Can be one or more. These can be updated without destroying and recreating the service only if force_new_deployment = true and not changing from 0 capacity_provider_strategy blocks to greater than 0, or vice versa. See below. Conflicts with launch_type.
    cluster str
    ARN of an ECS cluster.
    deployment_circuit_breaker ServiceDeploymentCircuitBreakerArgs
    Configuration block for deployment circuit breaker. See below.
    deployment_controller ServiceDeploymentControllerArgs
    Configuration block for deployment controller configuration. See below.
    deployment_maximum_percent int
    Upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the DAEMON scheduling strategy.
    deployment_minimum_healthy_percent int
    Lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.
    desired_count int
    Number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the DAEMON scheduling strategy.
    enable_ecs_managed_tags bool
    Specifies whether to enable Amazon ECS managed tags for the tasks within the service.
    enable_execute_command bool
    Specifies whether to enable Amazon ECS Exec for the tasks within the service.
    force_new_deployment bool
    Enable to force a new task deployment of the service. This can be used to update tasks to use a newer Docker image with same image/tag combination (e.g., myimage:latest), roll Fargate tasks onto a newer platform version, or immediately deploy ordered_placement_strategy and placement_constraints updates.
    health_check_grace_period_seconds int
    Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 2147483647. Only valid for services configured to use load balancers.
    iam_role str
    ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the awsvpc network mode. If using awsvpc network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here.
    launch_type str
    Launch type on which to run your service. The valid values are EC2, FARGATE, and EXTERNAL. Defaults to EC2. Conflicts with capacity_provider_strategy.
    load_balancers Sequence[ServiceLoadBalancerArgs]
    Configuration block for load balancers. See below.
    name str

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

    The following arguments are optional:

    network_configuration 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.
    ordered_placement_strategies Sequence[ServiceOrderedPlacementStrategyArgs]
    Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. The maximum number of ordered_placement_strategy blocks is 5. See below.
    placement_constraints Sequence[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
    Specifies whether to propagate the tags from the task definition or the service to the tasks. The valid values are SERVICE and TASK_DEFINITION.
    scheduling_strategy str
    Scheduling strategy to use for the service. The valid values are REPLICA and DAEMON. Defaults to REPLICA. Note that Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment controller types don't support the DAEMON scheduling strategy.
    service_connect_configuration ServiceServiceConnectConfigurationArgs
    The 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.
    service_registries ServiceServiceRegistriesArgs
    Service discovery registries for the service. The maximum number of service_registries blocks is 1. See below.
    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. Required unless using the EXTERNAL deployment controller. If a revision is not specified, the latest ACTIVE revision is used.
    triggers Mapping[str, str]
    Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with plantimestamp(). See example above.
    wait_for_steady_state bool
    If true, this provider will wait for the service to reach a steady state (like aws ecs wait services-stable) before continuing. Default false.
    alarms Property Map
    Information about the CloudWatch alarms. See below.
    capacityProviderStrategies List<Property Map>
    Capacity provider strategies to use for the service. Can be one or more. These can be updated without destroying and recreating the service only if force_new_deployment = true and not changing from 0 capacity_provider_strategy blocks to greater than 0, or vice versa. See below. Conflicts with launch_type.
    cluster String
    ARN of an ECS cluster.
    deploymentCircuitBreaker Property Map
    Configuration block for deployment circuit breaker. See below.
    deploymentController Property Map
    Configuration block for deployment controller configuration. See below.
    deploymentMaximumPercent Number
    Upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the DAEMON scheduling strategy.
    deploymentMinimumHealthyPercent Number
    Lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.
    desiredCount Number
    Number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the DAEMON scheduling strategy.
    enableEcsManagedTags Boolean
    Specifies whether to enable Amazon ECS managed tags for the tasks within the service.
    enableExecuteCommand Boolean
    Specifies whether to enable Amazon ECS Exec for the tasks within the service.
    forceNewDeployment Boolean
    Enable to force a new task deployment of the service. This can be used to update tasks to use a newer Docker image with same image/tag combination (e.g., myimage:latest), roll Fargate tasks onto a newer platform version, or immediately deploy ordered_placement_strategy and placement_constraints updates.
    healthCheckGracePeriodSeconds Number
    Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 2147483647. Only valid for services configured to use load balancers.
    iamRole String
    ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the awsvpc network mode. If using awsvpc network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here.
    launchType String
    Launch type on which to run your service. The valid values are EC2, FARGATE, and EXTERNAL. Defaults to EC2. Conflicts with capacity_provider_strategy.
    loadBalancers List<Property Map>
    Configuration block for load balancers. See below.
    name String

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

    The following arguments are optional:

    networkConfiguration Property Map
    Network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below.
    orderedPlacementStrategies List<Property Map>
    Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. The maximum number of ordered_placement_strategy blocks is 5. See below.
    placementConstraints List<Property Map>
    Rules that are taken into consideration during task placement. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. Maximum number of placement_constraints is 10. See below.
    platformVersion String
    Platform version on which to run your service. Only applicable for launch_type set to FARGATE. Defaults to LATEST. More information about Fargate platform versions can be found in the AWS ECS User Guide.
    propagateTags String
    Specifies whether to propagate the tags from the task definition or the service to the tasks. The valid values are SERVICE and TASK_DEFINITION.
    schedulingStrategy String
    Scheduling strategy to use for the service. The valid values are REPLICA and DAEMON. Defaults to REPLICA. Note that Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment controller types don't support the DAEMON scheduling strategy.
    serviceConnectConfiguration Property Map
    The 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.
    serviceRegistries Property Map
    Service discovery registries for the service. The maximum number of service_registries blocks is 1. See below.
    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. Required unless using the EXTERNAL deployment controller. If a revision is not specified, the latest ACTIVE revision is used.
    triggers Map<String>
    Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with plantimestamp(). See example above.
    waitForSteadyState Boolean
    If true, this provider will wait for the service to reach a steady state (like aws ecs wait services-stable) before continuing. Default false.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    TagsAll Dictionary<string, string>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    Id string
    The provider-assigned unique ID for this managed resource.
    TagsAll map[string]string
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    id String
    The provider-assigned unique ID for this managed resource.
    tagsAll Map<String,String>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    id string
    The provider-assigned unique ID for this managed resource.
    tagsAll {[key: string]: string}
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    id str
    The provider-assigned unique ID for this managed resource.
    tags_all Mapping[str, str]
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    id String
    The provider-assigned unique ID for this managed resource.
    tagsAll Map<String>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    Look up Existing Service Resource

    Get an existing Service resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: ServiceState, opts?: CustomResourceOptions): Service
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            alarms: Optional[ServiceAlarmsArgs] = None,
            capacity_provider_strategies: Optional[Sequence[ServiceCapacityProviderStrategyArgs]] = None,
            cluster: Optional[str] = None,
            deployment_circuit_breaker: Optional[ServiceDeploymentCircuitBreakerArgs] = None,
            deployment_controller: Optional[ServiceDeploymentControllerArgs] = None,
            deployment_maximum_percent: Optional[int] = None,
            deployment_minimum_healthy_percent: Optional[int] = None,
            desired_count: Optional[int] = None,
            enable_ecs_managed_tags: Optional[bool] = None,
            enable_execute_command: Optional[bool] = None,
            force_new_deployment: Optional[bool] = None,
            health_check_grace_period_seconds: Optional[int] = None,
            iam_role: Optional[str] = None,
            launch_type: Optional[str] = None,
            load_balancers: Optional[Sequence[ServiceLoadBalancerArgs]] = None,
            name: Optional[str] = None,
            network_configuration: Optional[ServiceNetworkConfigurationArgs] = None,
            ordered_placement_strategies: Optional[Sequence[ServiceOrderedPlacementStrategyArgs]] = None,
            placement_constraints: Optional[Sequence[ServicePlacementConstraintArgs]] = None,
            platform_version: Optional[str] = None,
            propagate_tags: Optional[str] = None,
            scheduling_strategy: Optional[str] = None,
            service_connect_configuration: Optional[ServiceServiceConnectConfigurationArgs] = None,
            service_registries: Optional[ServiceServiceRegistriesArgs] = None,
            tags: Optional[Mapping[str, str]] = None,
            tags_all: Optional[Mapping[str, str]] = None,
            task_definition: Optional[str] = None,
            triggers: Optional[Mapping[str, str]] = None,
            wait_for_steady_state: Optional[bool] = None) -> Service
    func GetService(ctx *Context, name string, id IDInput, state *ServiceState, opts ...ResourceOption) (*Service, error)
    public static Service Get(string name, Input<string> id, ServiceState? state, CustomResourceOptions? opts = null)
    public static Service get(String name, Output<String> id, ServiceState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Alarms ServiceAlarms
    Information about the CloudWatch alarms. See below.
    CapacityProviderStrategies List<ServiceCapacityProviderStrategy>
    Capacity provider strategies to use for the service. Can be one or more. These can be updated without destroying and recreating the service only if force_new_deployment = true and not changing from 0 capacity_provider_strategy blocks to greater than 0, or vice versa. See below. Conflicts with launch_type.
    Cluster string
    ARN of an ECS cluster.
    DeploymentCircuitBreaker ServiceDeploymentCircuitBreaker
    Configuration block for deployment circuit breaker. See below.
    DeploymentController ServiceDeploymentController
    Configuration block for deployment controller configuration. See below.
    DeploymentMaximumPercent int
    Upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the DAEMON scheduling strategy.
    DeploymentMinimumHealthyPercent int
    Lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.
    DesiredCount int
    Number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the DAEMON scheduling strategy.
    EnableEcsManagedTags bool
    Specifies whether to enable Amazon ECS managed tags for the tasks within the service.
    EnableExecuteCommand bool
    Specifies whether to enable Amazon ECS Exec for the tasks within the service.
    ForceNewDeployment bool
    Enable to force a new task deployment of the service. This can be used to update tasks to use a newer Docker image with same image/tag combination (e.g., myimage:latest), roll Fargate tasks onto a newer platform version, or immediately deploy ordered_placement_strategy and placement_constraints updates.
    HealthCheckGracePeriodSeconds int
    Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 2147483647. Only valid for services configured to use load balancers.
    IamRole string
    ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the awsvpc network mode. If using awsvpc network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here.
    LaunchType string
    Launch type on which to run your service. The valid values are EC2, FARGATE, and EXTERNAL. Defaults to EC2. Conflicts with capacity_provider_strategy.
    LoadBalancers List<ServiceLoadBalancer>
    Configuration block for load balancers. See below.
    Name string

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

    The following arguments are optional:

    NetworkConfiguration ServiceNetworkConfiguration
    Network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below.
    OrderedPlacementStrategies List<ServiceOrderedPlacementStrategy>
    Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. The maximum number of ordered_placement_strategy blocks is 5. See below.
    PlacementConstraints List<ServicePlacementConstraint>
    Rules that are taken into consideration during task placement. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. Maximum number of placement_constraints is 10. See below.
    PlatformVersion string
    Platform version on which to run your service. Only applicable for launch_type set to FARGATE. Defaults to LATEST. More information about Fargate platform versions can be found in the AWS ECS User Guide.
    PropagateTags string
    Specifies whether to propagate the tags from the task definition or the service to the tasks. The valid values are SERVICE and TASK_DEFINITION.
    SchedulingStrategy string
    Scheduling strategy to use for the service. The valid values are REPLICA and DAEMON. Defaults to REPLICA. Note that Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment controller types don't support the DAEMON scheduling strategy.
    ServiceConnectConfiguration ServiceServiceConnectConfiguration
    The 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.
    ServiceRegistries ServiceServiceRegistries
    Service discovery registries for the service. The maximum number of service_registries blocks is 1. See below.
    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.
    TagsAll Dictionary<string, string>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    TaskDefinition string
    Family and revision (family:revision) or full ARN of the task definition that you want to run in your service. Required unless using the EXTERNAL deployment controller. If a revision is not specified, the latest ACTIVE revision is used.
    Triggers Dictionary<string, string>
    Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with plantimestamp(). See example above.
    WaitForSteadyState bool
    If true, this provider will wait for the service to reach a steady state (like aws ecs wait services-stable) before continuing. Default false.
    Alarms ServiceAlarmsArgs
    Information about the CloudWatch alarms. See below.
    CapacityProviderStrategies []ServiceCapacityProviderStrategyArgs
    Capacity provider strategies to use for the service. Can be one or more. These can be updated without destroying and recreating the service only if force_new_deployment = true and not changing from 0 capacity_provider_strategy blocks to greater than 0, or vice versa. See below. Conflicts with launch_type.
    Cluster string
    ARN of an ECS cluster.
    DeploymentCircuitBreaker ServiceDeploymentCircuitBreakerArgs
    Configuration block for deployment circuit breaker. See below.
    DeploymentController ServiceDeploymentControllerArgs
    Configuration block for deployment controller configuration. See below.
    DeploymentMaximumPercent int
    Upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the DAEMON scheduling strategy.
    DeploymentMinimumHealthyPercent int
    Lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.
    DesiredCount int
    Number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the DAEMON scheduling strategy.
    EnableEcsManagedTags bool
    Specifies whether to enable Amazon ECS managed tags for the tasks within the service.
    EnableExecuteCommand bool
    Specifies whether to enable Amazon ECS Exec for the tasks within the service.
    ForceNewDeployment bool
    Enable to force a new task deployment of the service. This can be used to update tasks to use a newer Docker image with same image/tag combination (e.g., myimage:latest), roll Fargate tasks onto a newer platform version, or immediately deploy ordered_placement_strategy and placement_constraints updates.
    HealthCheckGracePeriodSeconds int
    Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 2147483647. Only valid for services configured to use load balancers.
    IamRole string
    ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the awsvpc network mode. If using awsvpc network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here.
    LaunchType string
    Launch type on which to run your service. The valid values are EC2, FARGATE, and EXTERNAL. Defaults to EC2. Conflicts with capacity_provider_strategy.
    LoadBalancers []ServiceLoadBalancerArgs
    Configuration block for load balancers. See below.
    Name string

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

    The following arguments are optional:

    NetworkConfiguration ServiceNetworkConfigurationArgs
    Network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below.
    OrderedPlacementStrategies []ServiceOrderedPlacementStrategyArgs
    Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. The maximum number of ordered_placement_strategy blocks is 5. See below.
    PlacementConstraints []ServicePlacementConstraintArgs
    Rules that are taken into consideration during task placement. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. Maximum number of placement_constraints is 10. See below.
    PlatformVersion string
    Platform version on which to run your service. Only applicable for launch_type set to FARGATE. Defaults to LATEST. More information about Fargate platform versions can be found in the AWS ECS User Guide.
    PropagateTags string
    Specifies whether to propagate the tags from the task definition or the service to the tasks. The valid values are SERVICE and TASK_DEFINITION.
    SchedulingStrategy string
    Scheduling strategy to use for the service. The valid values are REPLICA and DAEMON. Defaults to REPLICA. Note that Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment controller types don't support the DAEMON scheduling strategy.
    ServiceConnectConfiguration ServiceServiceConnectConfigurationArgs
    The 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.
    ServiceRegistries ServiceServiceRegistriesArgs
    Service discovery registries for the service. The maximum number of service_registries blocks is 1. See below.
    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.
    TagsAll map[string]string
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    TaskDefinition string
    Family and revision (family:revision) or full ARN of the task definition that you want to run in your service. Required unless using the EXTERNAL deployment controller. If a revision is not specified, the latest ACTIVE revision is used.
    Triggers map[string]string
    Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with plantimestamp(). See example above.
    WaitForSteadyState bool
    If true, this provider will wait for the service to reach a steady state (like aws ecs wait services-stable) before continuing. Default false.
    alarms ServiceAlarms
    Information about the CloudWatch alarms. See below.
    capacityProviderStrategies List<ServiceCapacityProviderStrategy>
    Capacity provider strategies to use for the service. Can be one or more. These can be updated without destroying and recreating the service only if force_new_deployment = true and not changing from 0 capacity_provider_strategy blocks to greater than 0, or vice versa. See below. Conflicts with launch_type.
    cluster String
    ARN of an ECS cluster.
    deploymentCircuitBreaker ServiceDeploymentCircuitBreaker
    Configuration block for deployment circuit breaker. See below.
    deploymentController ServiceDeploymentController
    Configuration block for deployment controller configuration. See below.
    deploymentMaximumPercent Integer
    Upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the DAEMON scheduling strategy.
    deploymentMinimumHealthyPercent Integer
    Lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.
    desiredCount Integer
    Number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the DAEMON scheduling strategy.
    enableEcsManagedTags Boolean
    Specifies whether to enable Amazon ECS managed tags for the tasks within the service.
    enableExecuteCommand Boolean
    Specifies whether to enable Amazon ECS Exec for the tasks within the service.
    forceNewDeployment Boolean
    Enable to force a new task deployment of the service. This can be used to update tasks to use a newer Docker image with same image/tag combination (e.g., myimage:latest), roll Fargate tasks onto a newer platform version, or immediately deploy ordered_placement_strategy and placement_constraints updates.
    healthCheckGracePeriodSeconds Integer
    Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 2147483647. Only valid for services configured to use load balancers.
    iamRole String
    ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the awsvpc network mode. If using awsvpc network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here.
    launchType String
    Launch type on which to run your service. The valid values are EC2, FARGATE, and EXTERNAL. Defaults to EC2. Conflicts with capacity_provider_strategy.
    loadBalancers List<ServiceLoadBalancer>
    Configuration block for load balancers. See below.
    name String

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

    The following arguments are optional:

    networkConfiguration ServiceNetworkConfiguration
    Network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below.
    orderedPlacementStrategies List<ServiceOrderedPlacementStrategy>
    Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. The maximum number of ordered_placement_strategy blocks is 5. See below.
    placementConstraints List<ServicePlacementConstraint>
    Rules that are taken into consideration during task placement. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. Maximum number of placement_constraints is 10. See below.
    platformVersion String
    Platform version on which to run your service. Only applicable for launch_type set to FARGATE. Defaults to LATEST. More information about Fargate platform versions can be found in the AWS ECS User Guide.
    propagateTags String
    Specifies whether to propagate the tags from the task definition or the service to the tasks. The valid values are SERVICE and TASK_DEFINITION.
    schedulingStrategy String
    Scheduling strategy to use for the service. The valid values are REPLICA and DAEMON. Defaults to REPLICA. Note that Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment controller types don't support the DAEMON scheduling strategy.
    serviceConnectConfiguration ServiceServiceConnectConfiguration
    The 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.
    serviceRegistries ServiceServiceRegistries
    Service discovery registries for the service. The maximum number of service_registries blocks is 1. See below.
    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.
    tagsAll Map<String,String>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    taskDefinition String
    Family and revision (family:revision) or full ARN of the task definition that you want to run in your service. Required unless using the EXTERNAL deployment controller. If a revision is not specified, the latest ACTIVE revision is used.
    triggers Map<String,String>
    Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with plantimestamp(). See example above.
    waitForSteadyState Boolean
    If true, this provider will wait for the service to reach a steady state (like aws ecs wait services-stable) before continuing. Default false.
    alarms ServiceAlarms
    Information about the CloudWatch alarms. See below.
    capacityProviderStrategies ServiceCapacityProviderStrategy[]
    Capacity provider strategies to use for the service. Can be one or more. These can be updated without destroying and recreating the service only if force_new_deployment = true and not changing from 0 capacity_provider_strategy blocks to greater than 0, or vice versa. See below. Conflicts with launch_type.
    cluster string
    ARN of an ECS cluster.
    deploymentCircuitBreaker ServiceDeploymentCircuitBreaker
    Configuration block for deployment circuit breaker. See below.
    deploymentController ServiceDeploymentController
    Configuration block for deployment controller configuration. See below.
    deploymentMaximumPercent number
    Upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the DAEMON scheduling strategy.
    deploymentMinimumHealthyPercent number
    Lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.
    desiredCount number
    Number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the DAEMON scheduling strategy.
    enableEcsManagedTags boolean
    Specifies whether to enable Amazon ECS managed tags for the tasks within the service.
    enableExecuteCommand boolean
    Specifies whether to enable Amazon ECS Exec for the tasks within the service.
    forceNewDeployment boolean
    Enable to force a new task deployment of the service. This can be used to update tasks to use a newer Docker image with same image/tag combination (e.g., myimage:latest), roll Fargate tasks onto a newer platform version, or immediately deploy ordered_placement_strategy and placement_constraints updates.
    healthCheckGracePeriodSeconds number
    Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 2147483647. Only valid for services configured to use load balancers.
    iamRole string
    ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the awsvpc network mode. If using awsvpc network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here.
    launchType string
    Launch type on which to run your service. The valid values are EC2, FARGATE, and EXTERNAL. Defaults to EC2. Conflicts with capacity_provider_strategy.
    loadBalancers ServiceLoadBalancer[]
    Configuration block for load balancers. See below.
    name string

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

    The following arguments are optional:

    networkConfiguration ServiceNetworkConfiguration
    Network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below.
    orderedPlacementStrategies ServiceOrderedPlacementStrategy[]
    Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. The maximum number of ordered_placement_strategy blocks is 5. See below.
    placementConstraints 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
    Specifies whether to propagate the tags from the task definition or the service to the tasks. The valid values are SERVICE and TASK_DEFINITION.
    schedulingStrategy string
    Scheduling strategy to use for the service. The valid values are REPLICA and DAEMON. Defaults to REPLICA. Note that Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment controller types don't support the DAEMON scheduling strategy.
    serviceConnectConfiguration ServiceServiceConnectConfiguration
    The 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.
    serviceRegistries ServiceServiceRegistries
    Service discovery registries for the service. The maximum number of service_registries blocks is 1. See below.
    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.
    tagsAll {[key: string]: string}
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    taskDefinition string
    Family and revision (family:revision) or full ARN of the task definition that you want to run in your service. Required unless using the EXTERNAL deployment controller. If a revision is not specified, the latest ACTIVE revision is used.
    triggers {[key: string]: string}
    Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with plantimestamp(). See example above.
    waitForSteadyState boolean
    If true, this provider will wait for the service to reach a steady state (like aws ecs wait services-stable) before continuing. Default false.
    alarms ServiceAlarmsArgs
    Information about the CloudWatch alarms. See below.
    capacity_provider_strategies Sequence[ServiceCapacityProviderStrategyArgs]
    Capacity provider strategies to use for the service. Can be one or more. These can be updated without destroying and recreating the service only if force_new_deployment = true and not changing from 0 capacity_provider_strategy blocks to greater than 0, or vice versa. See below. Conflicts with launch_type.
    cluster str
    ARN of an ECS cluster.
    deployment_circuit_breaker ServiceDeploymentCircuitBreakerArgs
    Configuration block for deployment circuit breaker. See below.
    deployment_controller ServiceDeploymentControllerArgs
    Configuration block for deployment controller configuration. See below.
    deployment_maximum_percent int
    Upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the DAEMON scheduling strategy.
    deployment_minimum_healthy_percent int
    Lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.
    desired_count int
    Number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the DAEMON scheduling strategy.
    enable_ecs_managed_tags bool
    Specifies whether to enable Amazon ECS managed tags for the tasks within the service.
    enable_execute_command bool
    Specifies whether to enable Amazon ECS Exec for the tasks within the service.
    force_new_deployment bool
    Enable to force a new task deployment of the service. This can be used to update tasks to use a newer Docker image with same image/tag combination (e.g., myimage:latest), roll Fargate tasks onto a newer platform version, or immediately deploy ordered_placement_strategy and placement_constraints updates.
    health_check_grace_period_seconds int
    Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 2147483647. Only valid for services configured to use load balancers.
    iam_role str
    ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the awsvpc network mode. If using awsvpc network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here.
    launch_type str
    Launch type on which to run your service. The valid values are EC2, FARGATE, and EXTERNAL. Defaults to EC2. Conflicts with capacity_provider_strategy.
    load_balancers Sequence[ServiceLoadBalancerArgs]
    Configuration block for load balancers. See below.
    name str

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

    The following arguments are optional:

    network_configuration 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.
    ordered_placement_strategies Sequence[ServiceOrderedPlacementStrategyArgs]
    Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. The maximum number of ordered_placement_strategy blocks is 5. See below.
    placement_constraints Sequence[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
    Specifies whether to propagate the tags from the task definition or the service to the tasks. The valid values are SERVICE and TASK_DEFINITION.
    scheduling_strategy str
    Scheduling strategy to use for the service. The valid values are REPLICA and DAEMON. Defaults to REPLICA. Note that Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment controller types don't support the DAEMON scheduling strategy.
    service_connect_configuration ServiceServiceConnectConfigurationArgs
    The 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.
    service_registries ServiceServiceRegistriesArgs
    Service discovery registries for the service. The maximum number of service_registries blocks is 1. See below.
    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.
    tags_all Mapping[str, str]
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    task_definition str
    Family and revision (family:revision) or full ARN of the task definition that you want to run in your service. Required unless using the EXTERNAL deployment controller. If a revision is not specified, the latest ACTIVE revision is used.
    triggers Mapping[str, str]
    Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with plantimestamp(). See example above.
    wait_for_steady_state bool
    If true, this provider will wait for the service to reach a steady state (like aws ecs wait services-stable) before continuing. Default false.
    alarms Property Map
    Information about the CloudWatch alarms. See below.
    capacityProviderStrategies List<Property Map>
    Capacity provider strategies to use for the service. Can be one or more. These can be updated without destroying and recreating the service only if force_new_deployment = true and not changing from 0 capacity_provider_strategy blocks to greater than 0, or vice versa. See below. Conflicts with launch_type.
    cluster String
    ARN of an ECS cluster.
    deploymentCircuitBreaker Property Map
    Configuration block for deployment circuit breaker. See below.
    deploymentController Property Map
    Configuration block for deployment controller configuration. See below.
    deploymentMaximumPercent Number
    Upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the DAEMON scheduling strategy.
    deploymentMinimumHealthyPercent Number
    Lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.
    desiredCount Number
    Number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the DAEMON scheduling strategy.
    enableEcsManagedTags Boolean
    Specifies whether to enable Amazon ECS managed tags for the tasks within the service.
    enableExecuteCommand Boolean
    Specifies whether to enable Amazon ECS Exec for the tasks within the service.
    forceNewDeployment Boolean
    Enable to force a new task deployment of the service. This can be used to update tasks to use a newer Docker image with same image/tag combination (e.g., myimage:latest), roll Fargate tasks onto a newer platform version, or immediately deploy ordered_placement_strategy and placement_constraints updates.
    healthCheckGracePeriodSeconds Number
    Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 2147483647. Only valid for services configured to use load balancers.
    iamRole String
    ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the awsvpc network mode. If using awsvpc network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here.
    launchType String
    Launch type on which to run your service. The valid values are EC2, FARGATE, and EXTERNAL. Defaults to EC2. Conflicts with capacity_provider_strategy.
    loadBalancers List<Property Map>
    Configuration block for load balancers. See below.
    name String

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

    The following arguments are optional:

    networkConfiguration Property Map
    Network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. See below.
    orderedPlacementStrategies List<Property Map>
    Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. The maximum number of ordered_placement_strategy blocks is 5. See below.
    placementConstraints List<Property Map>
    Rules that are taken into consideration during task placement. Updates to this configuration will take effect next task deployment unless force_new_deployment is enabled. Maximum number of placement_constraints is 10. See below.
    platformVersion String
    Platform version on which to run your service. Only applicable for launch_type set to FARGATE. Defaults to LATEST. More information about Fargate platform versions can be found in the AWS ECS User Guide.
    propagateTags String
    Specifies whether to propagate the tags from the task definition or the service to the tasks. The valid values are SERVICE and TASK_DEFINITION.
    schedulingStrategy String
    Scheduling strategy to use for the service. The valid values are REPLICA and DAEMON. Defaults to REPLICA. Note that Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment controller types don't support the DAEMON scheduling strategy.
    serviceConnectConfiguration Property Map
    The 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.
    serviceRegistries Property Map
    Service discovery registries for the service. The maximum number of service_registries blocks is 1. See below.
    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.
    tagsAll Map<String>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    taskDefinition String
    Family and revision (family:revision) or full ARN of the task definition that you want to run in your service. Required unless using the EXTERNAL deployment controller. If a revision is not specified, the latest ACTIVE revision is used.
    triggers Map<String>
    Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with plantimestamp(). See example above.
    waitForSteadyState Boolean
    If true, this provider will wait for the service to reach a steady state (like aws ecs wait services-stable) before continuing. Default false.

    Supporting Types

    ServiceAlarms, ServiceAlarmsArgs

    AlarmNames List<string>
    One or more CloudWatch alarm names.
    Enable bool
    Determines whether to use the CloudWatch alarm option in the service deployment process.
    Rollback bool
    Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is used, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.
    AlarmNames []string
    One or more CloudWatch alarm names.
    Enable bool
    Determines whether to use the CloudWatch alarm option in the service deployment process.
    Rollback bool
    Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is used, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.
    alarmNames List<String>
    One or more CloudWatch alarm names.
    enable Boolean
    Determines whether to use the CloudWatch alarm option in the service deployment process.
    rollback Boolean
    Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is used, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.
    alarmNames string[]
    One or more CloudWatch alarm names.
    enable boolean
    Determines whether to use the CloudWatch alarm option in the service deployment process.
    rollback boolean
    Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is used, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.
    alarm_names Sequence[str]
    One or more CloudWatch alarm names.
    enable bool
    Determines whether to use the CloudWatch alarm option in the service deployment process.
    rollback bool
    Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is used, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.
    alarmNames List<String>
    One or more CloudWatch alarm names.
    enable Boolean
    Determines whether to use the CloudWatch alarm option in the service deployment process.
    rollback Boolean
    Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is used, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.

    ServiceCapacityProviderStrategy, ServiceCapacityProviderStrategyArgs

    CapacityProvider string
    Short name of the capacity provider.
    Base int
    Number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined.
    Weight int
    Relative percentage of the total number of launched tasks that should use the specified capacity provider.
    CapacityProvider string
    Short name of the capacity provider.
    Base int
    Number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined.
    Weight int
    Relative percentage of the total number of launched tasks that should use the specified capacity provider.
    capacityProvider String
    Short name of the capacity provider.
    base Integer
    Number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined.
    weight Integer
    Relative percentage of the total number of launched tasks that should use the specified capacity provider.
    capacityProvider string
    Short name of the capacity provider.
    base number
    Number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined.
    weight number
    Relative percentage of the total number of launched tasks that should use the specified capacity provider.
    capacity_provider str
    Short name of the capacity provider.
    base int
    Number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined.
    weight int
    Relative percentage of the total number of launched tasks that should use the specified capacity provider.
    capacityProvider String
    Short name of the capacity provider.
    base Number
    Number of tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined.
    weight Number
    Relative percentage of the total number of launched tasks that should use the specified capacity provider.

    ServiceDeploymentCircuitBreaker, ServiceDeploymentCircuitBreakerArgs

    Enable bool
    Whether to enable the deployment circuit breaker logic for the service.
    Rollback bool
    Whether to enable Amazon ECS to roll back the service if a service deployment fails. If rollback is enabled, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.
    Enable bool
    Whether to enable the deployment circuit breaker logic for the service.
    Rollback bool
    Whether to enable Amazon ECS to roll back the service if a service deployment fails. If rollback is enabled, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.
    enable Boolean
    Whether to enable the deployment circuit breaker logic for the service.
    rollback Boolean
    Whether to enable Amazon ECS to roll back the service if a service deployment fails. If rollback is enabled, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.
    enable boolean
    Whether to enable the deployment circuit breaker logic for the service.
    rollback boolean
    Whether to enable Amazon ECS to roll back the service if a service deployment fails. If rollback is enabled, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.
    enable bool
    Whether to enable the deployment circuit breaker logic for the service.
    rollback bool
    Whether to enable Amazon ECS to roll back the service if a service deployment fails. If rollback is enabled, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.
    enable Boolean
    Whether to enable the deployment circuit breaker logic for the service.
    rollback Boolean
    Whether to enable Amazon ECS to roll back the service if a service deployment fails. If rollback is enabled, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.

    ServiceDeploymentController, ServiceDeploymentControllerArgs

    Type string
    Type of deployment controller. Valid values: CODE_DEPLOY, ECS, EXTERNAL. Default: ECS.
    Type string
    Type of deployment controller. Valid values: CODE_DEPLOY, ECS, EXTERNAL. Default: ECS.
    type String
    Type of deployment controller. Valid values: CODE_DEPLOY, ECS, EXTERNAL. Default: ECS.
    type string
    Type of deployment controller. Valid values: CODE_DEPLOY, ECS, EXTERNAL. Default: ECS.
    type str
    Type of deployment controller. Valid values: CODE_DEPLOY, ECS, EXTERNAL. Default: ECS.
    type String
    Type of deployment controller. Valid values: CODE_DEPLOY, ECS, EXTERNAL. Default: ECS.

    ServiceLoadBalancer, ServiceLoadBalancerArgs

    ContainerName string
    Name of the container to associate with the load balancer (as it appears in a container definition).
    ContainerPort int

    Port on the container to associate with the load balancer.

    Version note: Multiple load_balancer configuration block support was added in version 2.22.0 of the provider. This allows configuration of ECS service support for multiple target groups.

    ElbName string
    Name of the ELB (Classic) to associate with the service.
    TargetGroupArn string
    ARN of the Load Balancer target group to associate with the service.
    ContainerName string
    Name of the container to associate with the load balancer (as it appears in a container definition).
    ContainerPort int

    Port on the container to associate with the load balancer.

    Version note: Multiple load_balancer configuration block support was added in version 2.22.0 of the provider. This allows configuration of ECS service support for multiple target groups.

    ElbName string
    Name of the ELB (Classic) to associate with the service.
    TargetGroupArn string
    ARN of the Load Balancer target group to associate with the service.
    containerName String
    Name of the container to associate with the load balancer (as it appears in a container definition).
    containerPort Integer

    Port on the container to associate with the load balancer.

    Version note: Multiple load_balancer configuration block support was added in version 2.22.0 of the provider. This allows configuration of ECS service support for multiple target groups.

    elbName String
    Name of the ELB (Classic) to associate with the service.
    targetGroupArn String
    ARN of the Load Balancer target group to associate with the service.
    containerName string
    Name of the container to associate with the load balancer (as it appears in a container definition).
    containerPort number

    Port on the container to associate with the load balancer.

    Version note: Multiple load_balancer configuration block support was added in version 2.22.0 of the provider. This allows configuration of ECS service support for multiple target groups.

    elbName string
    Name of the ELB (Classic) to associate with the service.
    targetGroupArn string
    ARN of the Load Balancer target group to associate with the service.
    container_name str
    Name of the container to associate with the load balancer (as it appears in a container definition).
    container_port int

    Port on the container to associate with the load balancer.

    Version note: Multiple load_balancer configuration block support was added in version 2.22.0 of the provider. This allows configuration of ECS service support for multiple target groups.

    elb_name str
    Name of the ELB (Classic) to associate with the service.
    target_group_arn str
    ARN of the Load Balancer target group to associate with the service.
    containerName String
    Name of the container to associate with the load balancer (as it appears in a container definition).
    containerPort Number

    Port on the container to associate with the load balancer.

    Version note: Multiple load_balancer configuration block support was added in version 2.22.0 of the provider. This allows configuration of ECS service support for multiple target groups.

    elbName String
    Name of the ELB (Classic) to associate with the service.
    targetGroupArn String
    ARN of the Load Balancer target group to associate with the service.

    ServiceNetworkConfiguration, ServiceNetworkConfigurationArgs

    Subnets List<string>
    Subnets associated with the task or service.
    AssignPublicIp bool

    Assign a public IP address to the ENI (Fargate launch type only). Valid values are true or false. Default false.

    For more information, see Task Networking

    SecurityGroups List<string>
    Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used.
    Subnets []string
    Subnets associated with the task or service.
    AssignPublicIp bool

    Assign a public IP address to the ENI (Fargate launch type only). Valid values are true or false. Default false.

    For more information, see Task Networking

    SecurityGroups []string
    Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used.
    subnets List<String>
    Subnets associated with the task or service.
    assignPublicIp Boolean

    Assign a public IP address to the ENI (Fargate launch type only). Valid values are true or false. Default false.

    For more information, see Task Networking

    securityGroups List<String>
    Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used.
    subnets string[]
    Subnets associated with the task or service.
    assignPublicIp boolean

    Assign a public IP address to the ENI (Fargate launch type only). Valid values are true or false. Default false.

    For more information, see Task Networking

    securityGroups string[]
    Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used.
    subnets Sequence[str]
    Subnets associated with the task or service.
    assign_public_ip bool

    Assign a public IP address to the ENI (Fargate launch type only). Valid values are true or false. Default false.

    For more information, see Task Networking

    security_groups Sequence[str]
    Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used.
    subnets List<String>
    Subnets associated with the task or service.
    assignPublicIp Boolean

    Assign a public IP address to the ENI (Fargate launch type only). Valid values are true or false. Default false.

    For more information, see Task Networking

    securityGroups List<String>
    Security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used.

    ServiceOrderedPlacementStrategy, ServiceOrderedPlacementStrategyArgs

    Type string
    Type of placement strategy. Must be one of: binpack, random, or spread
    Field string

    For the spread placement strategy, valid values are instanceId (or host, which has the same effect), or any platform or custom attribute that is applied to a container instance. For the binpack type, valid values are memory and cpu. For the random type, this attribute is not needed. For more information, see Placement Strategy.

    Note: for spread, host and instanceId will be normalized, by AWS, to be instanceId. This means the statefile will show instanceId but your config will differ if you use host.

    Type string
    Type of placement strategy. Must be one of: binpack, random, or spread
    Field string

    For the spread placement strategy, valid values are instanceId (or host, which has the same effect), or any platform or custom attribute that is applied to a container instance. For the binpack type, valid values are memory and cpu. For the random type, this attribute is not needed. For more information, see Placement Strategy.

    Note: for spread, host and instanceId will be normalized, by AWS, to be instanceId. This means the statefile will show instanceId but your config will differ if you use host.

    type String
    Type of placement strategy. Must be one of: binpack, random, or spread
    field String

    For the spread placement strategy, valid values are instanceId (or host, which has the same effect), or any platform or custom attribute that is applied to a container instance. For the binpack type, valid values are memory and cpu. For the random type, this attribute is not needed. For more information, see Placement Strategy.

    Note: for spread, host and instanceId will be normalized, by AWS, to be instanceId. This means the statefile will show instanceId but your config will differ if you use host.

    type string
    Type of placement strategy. Must be one of: binpack, random, or spread
    field string

    For the spread placement strategy, valid values are instanceId (or host, which has the same effect), or any platform or custom attribute that is applied to a container instance. For the binpack type, valid values are memory and cpu. For the random type, this attribute is not needed. For more information, see Placement Strategy.

    Note: for spread, host and instanceId will be normalized, by AWS, to be instanceId. This means the statefile will show instanceId but your config will differ if you use host.

    type str
    Type of placement strategy. Must be one of: binpack, random, or spread
    field str

    For the spread placement strategy, valid values are instanceId (or host, which has the same effect), or any platform or custom attribute that is applied to a container instance. For the binpack type, valid values are memory and cpu. For the random type, this attribute is not needed. For more information, see Placement Strategy.

    Note: for spread, host and instanceId will be normalized, by AWS, to be instanceId. This means the statefile will show instanceId but your config will differ if you use host.

    type String
    Type of placement strategy. Must be one of: binpack, random, or spread
    field String

    For the spread placement strategy, valid values are instanceId (or host, which has the same effect), or any platform or custom attribute that is applied to a container instance. For the binpack type, valid values are memory and cpu. For the random type, this attribute is not needed. For more information, see Placement Strategy.

    Note: for spread, host and instanceId will be normalized, by AWS, to be instanceId. This means the statefile will show instanceId but your config will differ if you use host.

    ServicePlacementConstraint, ServicePlacementConstraintArgs

    Type string
    Type of constraint. The only valid values at this time are memberOf and distinctInstance.
    Expression string
    Cluster Query Language expression to apply to the constraint. Does not need to be specified for the distinctInstance type. For more information, see Cluster Query Language in the Amazon EC2 Container Service Developer Guide.
    Type string
    Type of constraint. The only valid values at this time are memberOf and distinctInstance.
    Expression string
    Cluster Query Language expression to apply to the constraint. Does not need to be specified for the distinctInstance type. For more information, see Cluster Query Language in the Amazon EC2 Container Service Developer Guide.
    type String
    Type of constraint. The only valid values at this time are memberOf and distinctInstance.
    expression String
    Cluster Query Language expression to apply to the constraint. Does not need to be specified for the distinctInstance type. For more information, see Cluster Query Language in the Amazon EC2 Container Service Developer Guide.
    type string
    Type of constraint. The only valid values at this time are memberOf and distinctInstance.
    expression string
    Cluster Query Language expression to apply to the constraint. Does not need to be specified for the distinctInstance type. For more information, see Cluster Query Language in the Amazon EC2 Container Service Developer Guide.
    type str
    Type of constraint. The only valid values at this time are memberOf and distinctInstance.
    expression str
    Cluster Query Language expression to apply to the constraint. Does not need to be specified for the distinctInstance type. For more information, see Cluster Query Language in the Amazon EC2 Container Service Developer Guide.
    type String
    Type of constraint. The only valid values at this time are memberOf and distinctInstance.
    expression String
    Cluster Query Language expression to apply to the constraint. Does not need to be specified for the distinctInstance type. For more information, see Cluster Query Language in the Amazon EC2 Container Service Developer Guide.

    ServiceServiceConnectConfiguration, ServiceServiceConnectConfigurationArgs

    Enabled bool
    Specifies whether to use Service Connect with this service.
    LogConfiguration ServiceServiceConnectConfigurationLogConfiguration
    The log configuration for the container. See below.
    Namespace string
    The namespace name or ARN of the aws.servicediscovery.HttpNamespace for use with Service Connect.
    Services List<ServiceServiceConnectConfigurationService>
    The list of Service Connect service objects. See below.
    Enabled bool
    Specifies whether to use Service Connect with this service.
    LogConfiguration ServiceServiceConnectConfigurationLogConfiguration
    The log configuration for the container. See below.
    Namespace string
    The namespace name or ARN of the aws.servicediscovery.HttpNamespace for use with Service Connect.
    Services []ServiceServiceConnectConfigurationService
    The list of Service Connect service objects. See below.
    enabled Boolean
    Specifies whether to use Service Connect with this service.
    logConfiguration ServiceServiceConnectConfigurationLogConfiguration
    The log configuration for the container. See below.
    namespace String
    The namespace name or ARN of the aws.servicediscovery.HttpNamespace for use with Service Connect.
    services List<ServiceServiceConnectConfigurationService>
    The list of Service Connect service objects. See below.
    enabled boolean
    Specifies whether to use Service Connect with this service.
    logConfiguration ServiceServiceConnectConfigurationLogConfiguration
    The log configuration for the container. See below.
    namespace string
    The namespace name or ARN of the aws.servicediscovery.HttpNamespace for use with Service Connect.
    services ServiceServiceConnectConfigurationService[]
    The list of Service Connect service objects. See below.
    enabled bool
    Specifies whether to use Service Connect with this service.
    log_configuration ServiceServiceConnectConfigurationLogConfiguration
    The log configuration for the container. See below.
    namespace str
    The namespace name or ARN of the aws.servicediscovery.HttpNamespace for use with Service Connect.
    services Sequence[ServiceServiceConnectConfigurationService]
    The list of Service Connect service objects. See below.
    enabled Boolean
    Specifies whether to use Service Connect with this service.
    logConfiguration Property Map
    The log configuration for the container. See below.
    namespace String
    The namespace name or ARN of the aws.servicediscovery.HttpNamespace for use with Service Connect.
    services List<Property Map>
    The list of Service Connect service objects. See below.

    ServiceServiceConnectConfigurationLogConfiguration, ServiceServiceConnectConfigurationLogConfigurationArgs

    LogDriver string
    The log driver to use for the container.
    Options Dictionary<string, string>
    The configuration options to send to the log driver.
    SecretOptions List<ServiceServiceConnectConfigurationLogConfigurationSecretOption>
    The secrets to pass to the log configuration. See below.
    LogDriver string
    The log driver to use for the container.
    Options map[string]string
    The configuration options to send to the log driver.
    SecretOptions []ServiceServiceConnectConfigurationLogConfigurationSecretOption
    The secrets to pass to the log configuration. See below.
    logDriver String
    The log driver to use for the container.
    options Map<String,String>
    The configuration options to send to the log driver.
    secretOptions List<ServiceServiceConnectConfigurationLogConfigurationSecretOption>
    The secrets to pass to the log configuration. See below.
    logDriver string
    The log driver to use for the container.
    options {[key: string]: string}
    The configuration options to send to the log driver.
    secretOptions ServiceServiceConnectConfigurationLogConfigurationSecretOption[]
    The secrets to pass to the log configuration. See below.
    log_driver str
    The log driver to use for the container.
    options Mapping[str, str]
    The configuration options to send to the log driver.
    secret_options Sequence[ServiceServiceConnectConfigurationLogConfigurationSecretOption]
    The secrets to pass to the log configuration. See below.
    logDriver String
    The log driver to use for the container.
    options Map<String>
    The configuration options to send to the log driver.
    secretOptions List<Property Map>
    The secrets to pass to the log configuration. See below.

    ServiceServiceConnectConfigurationLogConfigurationSecretOption, ServiceServiceConnectConfigurationLogConfigurationSecretOptionArgs

    Name string
    The name of the secret.
    ValueFrom string
    The secret to expose to the container. The supported values are either the full ARN of the AWS Secrets Manager secret or the full ARN of the parameter in the SSM Parameter Store.
    Name string
    The name of the secret.
    ValueFrom string
    The secret to expose to the container. The supported values are either the full ARN of the AWS Secrets Manager secret or the full ARN of the parameter in the SSM Parameter Store.
    name String
    The name of the secret.
    valueFrom String
    The secret to expose to the container. The supported values are either the full ARN of the AWS Secrets Manager secret or the full ARN of the parameter in the SSM Parameter Store.
    name string
    The name of the secret.
    valueFrom string
    The secret to expose to the container. The supported values are either the full ARN of the AWS Secrets Manager secret or the full ARN of the parameter in the SSM Parameter Store.
    name str
    The name of the secret.
    value_from str
    The secret to expose to the container. The supported values are either the full ARN of the AWS Secrets Manager secret or the full ARN of the parameter in the SSM Parameter Store.
    name String
    The name of the secret.
    valueFrom String
    The secret to expose to the container. The supported values are either the full ARN of the AWS Secrets Manager secret or the full ARN of the parameter in the SSM Parameter Store.

    ServiceServiceConnectConfigurationService, ServiceServiceConnectConfigurationServiceArgs

    PortName string
    The name of one of the portMappings from all the containers in the task definition of this Amazon ECS service.
    ClientAlias List<ServiceServiceConnectConfigurationServiceClientAlias>
    The list of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1. See below.
    DiscoveryName string
    The name of the new AWS Cloud Map service that Amazon ECS creates for this Amazon ECS service.
    IngressPortOverride int
    The port number for the Service Connect proxy to listen on.
    Timeout ServiceServiceConnectConfigurationServiceTimeout
    Configuration timeouts for Service Connect
    Tls ServiceServiceConnectConfigurationServiceTls
    The configuration for enabling Transport Layer Security (TLS)
    PortName string
    The name of one of the portMappings from all the containers in the task definition of this Amazon ECS service.
    ClientAlias []ServiceServiceConnectConfigurationServiceClientAlias
    The list of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1. See below.
    DiscoveryName string
    The name of the new AWS Cloud Map service that Amazon ECS creates for this Amazon ECS service.
    IngressPortOverride int
    The port number for the Service Connect proxy to listen on.
    Timeout ServiceServiceConnectConfigurationServiceTimeout
    Configuration timeouts for Service Connect
    Tls ServiceServiceConnectConfigurationServiceTls
    The configuration for enabling Transport Layer Security (TLS)
    portName String
    The name of one of the portMappings from all the containers in the task definition of this Amazon ECS service.
    clientAlias List<ServiceServiceConnectConfigurationServiceClientAlias>
    The list of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1. See below.
    discoveryName String
    The name of the new AWS Cloud Map service that Amazon ECS creates for this Amazon ECS service.
    ingressPortOverride Integer
    The port number for the Service Connect proxy to listen on.
    timeout ServiceServiceConnectConfigurationServiceTimeout
    Configuration timeouts for Service Connect
    tls ServiceServiceConnectConfigurationServiceTls
    The configuration for enabling Transport Layer Security (TLS)
    portName string
    The name of one of the portMappings from all the containers in the task definition of this Amazon ECS service.
    clientAlias ServiceServiceConnectConfigurationServiceClientAlias[]
    The list of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1. See below.
    discoveryName string
    The name of the new AWS Cloud Map service that Amazon ECS creates for this Amazon ECS service.
    ingressPortOverride number
    The port number for the Service Connect proxy to listen on.
    timeout ServiceServiceConnectConfigurationServiceTimeout
    Configuration timeouts for Service Connect
    tls ServiceServiceConnectConfigurationServiceTls
    The configuration for enabling Transport Layer Security (TLS)
    port_name str
    The name of one of the portMappings from all the containers in the task definition of this Amazon ECS service.
    client_alias Sequence[ServiceServiceConnectConfigurationServiceClientAlias]
    The list of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1. See below.
    discovery_name str
    The name of the new AWS Cloud Map service that Amazon ECS creates for this Amazon ECS service.
    ingress_port_override int
    The port number for the Service Connect proxy to listen on.
    timeout ServiceServiceConnectConfigurationServiceTimeout
    Configuration timeouts for Service Connect
    tls ServiceServiceConnectConfigurationServiceTls
    The configuration for enabling Transport Layer Security (TLS)
    portName String
    The name of one of the portMappings from all the containers in the task definition of this Amazon ECS service.
    clientAlias List<Property Map>
    The list of client aliases for this Service Connect service. You use these to assign names that can be used by client applications. The maximum number of client aliases that you can have in this list is 1. See below.
    discoveryName String
    The name of the new AWS Cloud Map service that Amazon ECS creates for this Amazon ECS service.
    ingressPortOverride Number
    The port number for the Service Connect proxy to listen on.
    timeout Property Map
    Configuration timeouts for Service Connect
    tls Property Map
    The configuration for enabling Transport Layer Security (TLS)

    ServiceServiceConnectConfigurationServiceClientAlias, ServiceServiceConnectConfigurationServiceClientAliasArgs

    Port int
    The listening port number for the Service Connect proxy. This port is available inside of all of the tasks within the same namespace.
    DnsName string
    The name that you use in the applications of client tasks to connect to this service.
    Port int
    The listening port number for the Service Connect proxy. This port is available inside of all of the tasks within the same namespace.
    DnsName string
    The name that you use in the applications of client tasks to connect to this service.
    port Integer
    The listening port number for the Service Connect proxy. This port is available inside of all of the tasks within the same namespace.
    dnsName String
    The name that you use in the applications of client tasks to connect to this service.
    port number
    The listening port number for the Service Connect proxy. This port is available inside of all of the tasks within the same namespace.
    dnsName string
    The name that you use in the applications of client tasks to connect to this service.
    port int
    The listening port number for the Service Connect proxy. This port is available inside of all of the tasks within the same namespace.
    dns_name str
    The name that you use in the applications of client tasks to connect to this service.
    port Number
    The listening port number for the Service Connect proxy. This port is available inside of all of the tasks within the same namespace.
    dnsName String
    The name that you use in the applications of client tasks to connect to this service.

    ServiceServiceConnectConfigurationServiceTimeout, ServiceServiceConnectConfigurationServiceTimeoutArgs

    IdleTimeoutSeconds int
    The amount of time in seconds a connection will stay active while idle. A value of 0 can be set to disable idleTimeout.
    PerRequestTimeoutSeconds int
    The amount of time in seconds for the upstream to respond with a complete response per request. A value of 0 can be set to disable perRequestTimeout. Can only be set when appProtocol isn't TCP.
    IdleTimeoutSeconds int
    The amount of time in seconds a connection will stay active while idle. A value of 0 can be set to disable idleTimeout.
    PerRequestTimeoutSeconds int
    The amount of time in seconds for the upstream to respond with a complete response per request. A value of 0 can be set to disable perRequestTimeout. Can only be set when appProtocol isn't TCP.
    idleTimeoutSeconds Integer
    The amount of time in seconds a connection will stay active while idle. A value of 0 can be set to disable idleTimeout.
    perRequestTimeoutSeconds Integer
    The amount of time in seconds for the upstream to respond with a complete response per request. A value of 0 can be set to disable perRequestTimeout. Can only be set when appProtocol isn't TCP.
    idleTimeoutSeconds number
    The amount of time in seconds a connection will stay active while idle. A value of 0 can be set to disable idleTimeout.
    perRequestTimeoutSeconds number
    The amount of time in seconds for the upstream to respond with a complete response per request. A value of 0 can be set to disable perRequestTimeout. Can only be set when appProtocol isn't TCP.
    idle_timeout_seconds int
    The amount of time in seconds a connection will stay active while idle. A value of 0 can be set to disable idleTimeout.
    per_request_timeout_seconds int
    The amount of time in seconds for the upstream to respond with a complete response per request. A value of 0 can be set to disable perRequestTimeout. Can only be set when appProtocol isn't TCP.
    idleTimeoutSeconds Number
    The amount of time in seconds a connection will stay active while idle. A value of 0 can be set to disable idleTimeout.
    perRequestTimeoutSeconds Number
    The amount of time in seconds for the upstream to respond with a complete response per request. A value of 0 can be set to disable perRequestTimeout. Can only be set when appProtocol isn't TCP.

    ServiceServiceConnectConfigurationServiceTls, ServiceServiceConnectConfigurationServiceTlsArgs

    IssuerCertAuthority ServiceServiceConnectConfigurationServiceTlsIssuerCertAuthority
    The details of the certificate authority which will issue the certificate.
    KmsKey string
    The KMS key used to encrypt the private key in Secrets Manager.
    RoleArn string
    The ARN of the IAM Role that's associated with the Service Connect TLS.
    IssuerCertAuthority ServiceServiceConnectConfigurationServiceTlsIssuerCertAuthority
    The details of the certificate authority which will issue the certificate.
    KmsKey string
    The KMS key used to encrypt the private key in Secrets Manager.
    RoleArn string
    The ARN of the IAM Role that's associated with the Service Connect TLS.
    issuerCertAuthority ServiceServiceConnectConfigurationServiceTlsIssuerCertAuthority
    The details of the certificate authority which will issue the certificate.
    kmsKey String
    The KMS key used to encrypt the private key in Secrets Manager.
    roleArn String
    The ARN of the IAM Role that's associated with the Service Connect TLS.
    issuerCertAuthority ServiceServiceConnectConfigurationServiceTlsIssuerCertAuthority
    The details of the certificate authority which will issue the certificate.
    kmsKey string
    The KMS key used to encrypt the private key in Secrets Manager.
    roleArn string
    The ARN of the IAM Role that's associated with the Service Connect TLS.
    issuer_cert_authority ServiceServiceConnectConfigurationServiceTlsIssuerCertAuthority
    The details of the certificate authority which will issue the certificate.
    kms_key str
    The KMS key used to encrypt the private key in Secrets Manager.
    role_arn str
    The ARN of the IAM Role that's associated with the Service Connect TLS.
    issuerCertAuthority Property Map
    The details of the certificate authority which will issue the certificate.
    kmsKey String
    The KMS key used to encrypt the private key in Secrets Manager.
    roleArn String
    The ARN of the IAM Role that's associated with the Service Connect TLS.

    ServiceServiceConnectConfigurationServiceTlsIssuerCertAuthority, ServiceServiceConnectConfigurationServiceTlsIssuerCertAuthorityArgs

    AwsPcaAuthorityArn string
    The ARN of the aws.acmpca.CertificateAuthority used to create the TLS Certificates.
    AwsPcaAuthorityArn string
    The ARN of the aws.acmpca.CertificateAuthority used to create the TLS Certificates.
    awsPcaAuthorityArn String
    The ARN of the aws.acmpca.CertificateAuthority used to create the TLS Certificates.
    awsPcaAuthorityArn string
    The ARN of the aws.acmpca.CertificateAuthority used to create the TLS Certificates.
    aws_pca_authority_arn str
    The ARN of the aws.acmpca.CertificateAuthority used to create the TLS Certificates.
    awsPcaAuthorityArn String
    The ARN of the aws.acmpca.CertificateAuthority used to create the TLS Certificates.

    ServiceServiceRegistries, ServiceServiceRegistriesArgs

    RegistryArn string
    ARN of the Service Registry. The currently supported service registry is Amazon Route 53 Auto Naming Service(aws.servicediscovery.Service). For more information, see Service
    ContainerName string
    Container name value, already specified in the task definition, to be used for your service discovery service.
    ContainerPort int
    Port value, already specified in the task definition, to be used for your service discovery service.
    Port int
    Port value used if your Service Discovery service specified an SRV record.
    RegistryArn string
    ARN of the Service Registry. The currently supported service registry is Amazon Route 53 Auto Naming Service(aws.servicediscovery.Service). For more information, see Service
    ContainerName string
    Container name value, already specified in the task definition, to be used for your service discovery service.
    ContainerPort int
    Port value, already specified in the task definition, to be used for your service discovery service.
    Port int
    Port value used if your Service Discovery service specified an SRV record.
    registryArn String
    ARN of the Service Registry. The currently supported service registry is Amazon Route 53 Auto Naming Service(aws.servicediscovery.Service). For more information, see Service
    containerName String
    Container name value, already specified in the task definition, to be used for your service discovery service.
    containerPort Integer
    Port value, already specified in the task definition, to be used for your service discovery service.
    port Integer
    Port value used if your Service Discovery service specified an SRV record.
    registryArn string
    ARN of the Service Registry. The currently supported service registry is Amazon Route 53 Auto Naming Service(aws.servicediscovery.Service). For more information, see Service
    containerName string
    Container name value, already specified in the task definition, to be used for your service discovery service.
    containerPort number
    Port value, already specified in the task definition, to be used for your service discovery service.
    port number
    Port value used if your Service Discovery service specified an SRV record.
    registry_arn str
    ARN of the Service Registry. The currently supported service registry is Amazon Route 53 Auto Naming Service(aws.servicediscovery.Service). For more information, see Service
    container_name str
    Container name value, already specified in the task definition, to be used for your service discovery service.
    container_port int
    Port value, already specified in the task definition, to be used for your service discovery service.
    port int
    Port value used if your Service Discovery service specified an SRV record.
    registryArn String
    ARN of the Service Registry. The currently supported service registry is Amazon Route 53 Auto Naming Service(aws.servicediscovery.Service). For more information, see Service
    containerName String
    Container name value, already specified in the task definition, to be used for your service discovery service.
    containerPort Number
    Port value, already specified in the task definition, to be used for your service discovery service.
    port Number
    Port value used if your Service Discovery service specified an SRV record.

    Import

    Using pulumi import, import ECS services using the name together with ecs cluster name. For example:

    $ pulumi import aws:ecs/service:Service imported cluster-name/service-name
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    AWS Classic pulumi/pulumi-aws
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the aws Terraform Provider.
    aws logo

    Try AWS Native preview for resources not in the classic version.

    AWS Classic v6.31.0 published on Monday, Apr 15, 2024 by Pulumi