We recommend new projects start with resources from the AWS provider.
aws-native.ecs.getService
We recommend new projects start with resources from the AWS provider.
The AWS::ECS::Service resource creates an Amazon Elastic Container Service (Amazon ECS) service that runs and maintains the requested number of tasks and associated load balancers.
The stack update fails if you change any properties that require replacement and at least one ECS Service Connect ServiceConnectConfiguration property is configured. This is because AWS CloudFormation creates the replacement service first, but each ServiceConnectService must have a name that is unique in the namespace.
Starting April 15, 2023, AWS; will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, ECS, or EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.
On June 12, 2025, Amazon ECS launched support for updating capacity provider configuration for ECS services. With this launch, ECS also aligned the CFN update behavior for CapacityProviderStrategy parameter with the standard practice. For more information, see adds support for updating capacity provider configuration for ECS services. Previously ECS ignored the CapacityProviderStrategy property if it was set to an empty list for example, [] in CFN, because updating capacity provider configuration was not supported. Now, with support for capacity provider updates, customers can remove capacity providers from a service by passing an empty list. When you specify an empty list ([]) for the CapacityProviderStrategy property in your CFN template, ECS will remove any capacity providers associated with the service, as follows:
- For services created with a capacity provider strategy after the launch: 
- If there’s a cluster default strategy set, the service will revert to using that default strategy. 
- If no cluster default strategy exists, you will receive the following error: No launch type to fall back to for empty capacity provider strategy. Your service was not created with a launch type. 
- For services created with a capacity provider strategy prior to the launch: 
- If - CapacityProviderStrategyhad- FARGATE_SPOTor- FARGATEcapacity providers, the launch type will be updated to- FARGATEand the capacity provider will be removed.
- If the strategy included Auto Scaling group capacity providers, the service will revert to EC2 launch type, and the Auto Scaling group capacity providers will not be used. 
Recommended Actions
If you are currently using CapacityProviderStrategy: [] in your CFN templates, you should take one of the following actions:
- If you do not intend to update the Capacity Provider Strategy: 
- Remove the - CapacityProviderStrategyproperty entirely from your CFN template
- Alternatively, use - !Ref ::NoValuefor the- CapacityProviderStrategyproperty in your template
- If you intend to maintain or update the Capacity Provider Strategy, specify the actual Capacity Provider Strategy for the service in your CFN template. 
If your CFN template had an empty list ([]) for CapacityProviderStrategy prior to the aforementioned launch on June 12, and you are using the same template with CapacityProviderStrategy: [], you might encounter the following error:
Invalid request provided: When switching from launch type to capacity provider strategy on an existing service, or making a change to a capacity provider strategy on a service that is already using one, you must force a new deployment. (Service: Ecs, Status Code: 400, Request ID: xxx) (SDK Attempt Count: 1)" (RequestToken: xxx HandlerErrorCode: InvalidRequest)
Note that CFN automatically initiates a new deployment when it detects a parameter change, but customers cannot choose to force a deployment through CFN. This is an invalid input scenario that requires one of the remediation actions listed above.
If you are experiencing active production issues related to this change, contact AWS Support or your Technical Account Manager.
Using getService
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getService(args: GetServiceArgs, opts?: InvokeOptions): Promise<GetServiceResult>
function getServiceOutput(args: GetServiceOutputArgs, opts?: InvokeOptions): Output<GetServiceResult>def get_service(cluster: Optional[str] = None,
                service_arn: Optional[str] = None,
                opts: Optional[InvokeOptions] = None) -> GetServiceResult
def get_service_output(cluster: Optional[pulumi.Input[str]] = None,
                service_arn: Optional[pulumi.Input[str]] = None,
                opts: Optional[InvokeOptions] = None) -> Output[GetServiceResult]func LookupService(ctx *Context, args *LookupServiceArgs, opts ...InvokeOption) (*LookupServiceResult, error)
func LookupServiceOutput(ctx *Context, args *LookupServiceOutputArgs, opts ...InvokeOption) LookupServiceResultOutput> Note: This function is named LookupService in the Go SDK.
public static class GetService 
{
    public static Task<GetServiceResult> InvokeAsync(GetServiceArgs args, InvokeOptions? opts = null)
    public static Output<GetServiceResult> Invoke(GetServiceInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetServiceResult> getService(GetServiceArgs args, InvokeOptions options)
public static Output<GetServiceResult> getService(GetServiceArgs args, InvokeOptions options)
fn::invoke:
  function: aws-native:ecs:getService
  arguments:
    # arguments dictionaryThe following arguments are supported:
- Cluster string
- The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed.
- ServiceArn string
- The ARN that identifies the service. For more information about the ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer Guide .
- Cluster string
- The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed.
- ServiceArn string
- The ARN that identifies the service. For more information about the ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer Guide .
- cluster String
- The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed.
- serviceArn String
- The ARN that identifies the service. For more information about the ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer Guide .
- cluster string
- The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed.
- serviceArn string
- The ARN that identifies the service. For more information about the ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer Guide .
- cluster str
- The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed.
- service_arn str
- The ARN that identifies the service. For more information about the ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer Guide .
- cluster String
- The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed.
- serviceArn String
- The ARN that identifies the service. For more information about the ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer Guide .
getService Result
The following output properties are available:
- AvailabilityZone Pulumi.Rebalancing Aws Native. Ecs. Service Availability Zone Rebalancing 
- Indicates whether to use Availability Zone rebalancing for the service.
For more information, see Balancing an Amazon ECS service across Availability Zones in the Amazon Elastic Container Service Developer Guide.
The default behavior of AvailabilityZoneRebalancingdiffers between create and update requests:- For create service requests, when no value is specified for AvailabilityZoneRebalancing, Amazon ECS defaults the value toENABLED.
- For update service requests, when no value is specified for AvailabilityZoneRebalancing, Amazon ECS defaults to the existing service’sAvailabilityZoneRebalancingvalue. If the service never had anAvailabilityZoneRebalancingvalue set, Amazon ECS treats this asDISABLED.
 
- For create service requests, when no value is specified for 
- CapacityProvider List<Pulumi.Strategy Aws Native. Ecs. Outputs. Service Capacity Provider Strategy Item> 
- The capacity provider strategy to use for the service.
If a capacityProviderStrategyis specified, thelaunchTypeparameter must be omitted. If nocapacityProviderStrategyorlaunchTypeis specified, thedefaultCapacityProviderStrategyfor the cluster is used. A capacity provider strategy can contain a maximum of 20 capacity providers. To remove this property from your service resource, specify an emptyCapacityProviderStrategyItemarray.
- DeploymentConfiguration Pulumi.Aws Native. Ecs. Outputs. Service Deployment Configuration 
- Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.
- DeploymentController Pulumi.Aws Native. Ecs. Outputs. Service Deployment Controller 
- The deployment controller to use for the service.
- DesiredCount int
- The number of instantiations of the specified task definition to place and keep running in your service.
For new services, if a desired count is not specified, a default value of 1is used. When using theDAEMONscheduling strategy, the desired count is not required. For existing services, if a desired count is not specified, it is omitted from the operation.
- bool
- Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see Tagging your Amazon ECS resources in the Amazon Elastic Container Service Developer Guide.
When you use Amazon ECS managed tags, you must set the propagateTagsrequest parameter.
- EnableExecute boolCommand 
- Determines whether the execute command functionality is turned on for the service. If true, the execute command functionality is turned on for all containers in tasks as part of the service.
- HealthCheck intGrace Period Seconds 
- The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you do not specify a health check grace period value, the default value of 0 is used. If you do not use any of the health checks, then healthCheckGracePeriodSecondsis unused. If your service has more running tasks than desired, unhealthy tasks in the grace period might be stopped to reach the desired count.
- LoadBalancers List<Pulumi.Aws Native. Ecs. Outputs. Service Load Balancer> 
- A list of load balancer objects to associate with the service. If you specify the Roleproperty,LoadBalancersmust be specified as well. For information about the number of load balancers that you can specify per service, see Service Load Balancing in the Amazon Elastic Container Service Developer Guide. To remove this property from your service resource, specify an emptyLoadBalancerarray.
- Name string
- The name of the Amazon ECS service, such as sample-webapp.
- NetworkConfiguration Pulumi.Aws Native. Ecs. Outputs. Service Network Configuration 
- The network configuration for the service. This parameter is required for task definitions that use the awsvpcnetwork mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.
- PlacementConstraints List<Pulumi.Aws Native. Ecs. Outputs. Service Placement Constraint> 
- An array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints for each task. This limit includes constraints in the task definition and those specified at runtime.
To remove this property from your service resource, specify an empty PlacementConstraintarray.
- PlacementStrategies List<Pulumi.Aws Native. Ecs. Outputs. Service Placement Strategy> 
- The placement strategy objects to use for tasks in your service. You can specify a maximum of 5 strategy rules for each service.
To remove this property from your service resource, specify an empty PlacementStrategyarray.
- PlatformVersion string
- The platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATESTplatform version is used. For more information, see platform versions in the Amazon Elastic Container Service Developer Guide.
- 
Pulumi.Aws Native. Ecs. Service Propagate Tags 
- Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the TagResource API action.
You must set this to a value other than NONEwhen you use Cost Explorer. For more information, see Amazon ECS usage reports in the Amazon Elastic Container Service Developer Guide. The default isNONE.
- ServiceArn string
- The ARN that identifies the service. For more information about the ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer Guide .
- ServiceRegistries List<Pulumi.Aws Native. Ecs. Outputs. Service Registry> 
- The details of the service discovery registry to associate with this service. For more information, see Service discovery.
Each service may be associated with one service registry. Multiple service registries for each service isn't supported.
To remove this property from your service resource, specify an empty ServiceRegistryarray.
- 
List<Pulumi.Aws Native. Outputs. Tag> 
- The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well.
The following basic restrictions apply to tags:- Maximum number of tags per resource - 50
- For each resource, each tag key must be unique, and each tag key can have only one value.
- Maximum key length - 128 Unicode characters in UTF-8
- Maximum value length - 256 Unicode characters in UTF-8
- If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.
- Tag keys and values are case-sensitive.
- Do not use aws:,AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.
 
- TaskDefinition string
- The familyandrevision(family:revision) or full ARN of the task definition to run in your service. If arevisionisn't specified, the latestACTIVErevision is used. A task definition must be specified if the service uses either theECSorCODE_DEPLOYdeployment controllers. For more information about deployment types, see Amazon ECS deployment types.
- VpcLattice List<Pulumi.Configurations Aws Native. Ecs. Outputs. Service Vpc Lattice Configuration> 
- The VPC Lattice configuration for the service being created.
- AvailabilityZone ServiceRebalancing Availability Zone Rebalancing 
- Indicates whether to use Availability Zone rebalancing for the service.
For more information, see Balancing an Amazon ECS service across Availability Zones in the Amazon Elastic Container Service Developer Guide.
The default behavior of AvailabilityZoneRebalancingdiffers between create and update requests:- For create service requests, when no value is specified for AvailabilityZoneRebalancing, Amazon ECS defaults the value toENABLED.
- For update service requests, when no value is specified for AvailabilityZoneRebalancing, Amazon ECS defaults to the existing service’sAvailabilityZoneRebalancingvalue. If the service never had anAvailabilityZoneRebalancingvalue set, Amazon ECS treats this asDISABLED.
 
- For create service requests, when no value is specified for 
- CapacityProvider []ServiceStrategy Capacity Provider Strategy Item 
- The capacity provider strategy to use for the service.
If a capacityProviderStrategyis specified, thelaunchTypeparameter must be omitted. If nocapacityProviderStrategyorlaunchTypeis specified, thedefaultCapacityProviderStrategyfor the cluster is used. A capacity provider strategy can contain a maximum of 20 capacity providers. To remove this property from your service resource, specify an emptyCapacityProviderStrategyItemarray.
- DeploymentConfiguration ServiceDeployment Configuration 
- Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.
- DeploymentController ServiceDeployment Controller 
- The deployment controller to use for the service.
- DesiredCount int
- The number of instantiations of the specified task definition to place and keep running in your service.
For new services, if a desired count is not specified, a default value of 1is used. When using theDAEMONscheduling strategy, the desired count is not required. For existing services, if a desired count is not specified, it is omitted from the operation.
- bool
- Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see Tagging your Amazon ECS resources in the Amazon Elastic Container Service Developer Guide.
When you use Amazon ECS managed tags, you must set the propagateTagsrequest parameter.
- EnableExecute boolCommand 
- Determines whether the execute command functionality is turned on for the service. If true, the execute command functionality is turned on for all containers in tasks as part of the service.
- HealthCheck intGrace Period Seconds 
- The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you do not specify a health check grace period value, the default value of 0 is used. If you do not use any of the health checks, then healthCheckGracePeriodSecondsis unused. If your service has more running tasks than desired, unhealthy tasks in the grace period might be stopped to reach the desired count.
- LoadBalancers []ServiceLoad Balancer 
- A list of load balancer objects to associate with the service. If you specify the Roleproperty,LoadBalancersmust be specified as well. For information about the number of load balancers that you can specify per service, see Service Load Balancing in the Amazon Elastic Container Service Developer Guide. To remove this property from your service resource, specify an emptyLoadBalancerarray.
- Name string
- The name of the Amazon ECS service, such as sample-webapp.
- NetworkConfiguration ServiceNetwork Configuration 
- The network configuration for the service. This parameter is required for task definitions that use the awsvpcnetwork mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.
- PlacementConstraints []ServicePlacement Constraint 
- An array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints for each task. This limit includes constraints in the task definition and those specified at runtime.
To remove this property from your service resource, specify an empty PlacementConstraintarray.
- PlacementStrategies []ServicePlacement Strategy 
- The placement strategy objects to use for tasks in your service. You can specify a maximum of 5 strategy rules for each service.
To remove this property from your service resource, specify an empty PlacementStrategyarray.
- PlatformVersion string
- The platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATESTplatform version is used. For more information, see platform versions in the Amazon Elastic Container Service Developer Guide.
- 
ServicePropagate Tags 
- Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the TagResource API action.
You must set this to a value other than NONEwhen you use Cost Explorer. For more information, see Amazon ECS usage reports in the Amazon Elastic Container Service Developer Guide. The default isNONE.
- ServiceArn string
- The ARN that identifies the service. For more information about the ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer Guide .
- ServiceRegistries []ServiceRegistry 
- The details of the service discovery registry to associate with this service. For more information, see Service discovery.
Each service may be associated with one service registry. Multiple service registries for each service isn't supported.
To remove this property from your service resource, specify an empty ServiceRegistryarray.
- Tag
- The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well.
The following basic restrictions apply to tags:- Maximum number of tags per resource - 50
- For each resource, each tag key must be unique, and each tag key can have only one value.
- Maximum key length - 128 Unicode characters in UTF-8
- Maximum value length - 256 Unicode characters in UTF-8
- If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.
- Tag keys and values are case-sensitive.
- Do not use aws:,AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.
 
- TaskDefinition string
- The familyandrevision(family:revision) or full ARN of the task definition to run in your service. If arevisionisn't specified, the latestACTIVErevision is used. A task definition must be specified if the service uses either theECSorCODE_DEPLOYdeployment controllers. For more information about deployment types, see Amazon ECS deployment types.
- VpcLattice []ServiceConfigurations Vpc Lattice Configuration 
- The VPC Lattice configuration for the service being created.
- availabilityZone ServiceRebalancing Availability Zone Rebalancing 
- Indicates whether to use Availability Zone rebalancing for the service.
For more information, see Balancing an Amazon ECS service across Availability Zones in the Amazon Elastic Container Service Developer Guide.
The default behavior of AvailabilityZoneRebalancingdiffers between create and update requests:- For create service requests, when no value is specified for AvailabilityZoneRebalancing, Amazon ECS defaults the value toENABLED.
- For update service requests, when no value is specified for AvailabilityZoneRebalancing, Amazon ECS defaults to the existing service’sAvailabilityZoneRebalancingvalue. If the service never had anAvailabilityZoneRebalancingvalue set, Amazon ECS treats this asDISABLED.
 
- For create service requests, when no value is specified for 
- capacityProvider List<ServiceStrategy Capacity Provider Strategy Item> 
- The capacity provider strategy to use for the service.
If a capacityProviderStrategyis specified, thelaunchTypeparameter must be omitted. If nocapacityProviderStrategyorlaunchTypeis specified, thedefaultCapacityProviderStrategyfor the cluster is used. A capacity provider strategy can contain a maximum of 20 capacity providers. To remove this property from your service resource, specify an emptyCapacityProviderStrategyItemarray.
- deploymentConfiguration ServiceDeployment Configuration 
- Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.
- deploymentController ServiceDeployment Controller 
- The deployment controller to use for the service.
- desiredCount Integer
- The number of instantiations of the specified task definition to place and keep running in your service.
For new services, if a desired count is not specified, a default value of 1is used. When using theDAEMONscheduling strategy, the desired count is not required. For existing services, if a desired count is not specified, it is omitted from the operation.
- Boolean
- Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see Tagging your Amazon ECS resources in the Amazon Elastic Container Service Developer Guide.
When you use Amazon ECS managed tags, you must set the propagateTagsrequest parameter.
- enableExecute BooleanCommand 
- Determines whether the execute command functionality is turned on for the service. If true, the execute command functionality is turned on for all containers in tasks as part of the service.
- healthCheck IntegerGrace Period Seconds 
- The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you do not specify a health check grace period value, the default value of 0 is used. If you do not use any of the health checks, then healthCheckGracePeriodSecondsis unused. If your service has more running tasks than desired, unhealthy tasks in the grace period might be stopped to reach the desired count.
- loadBalancers List<ServiceLoad Balancer> 
- A list of load balancer objects to associate with the service. If you specify the Roleproperty,LoadBalancersmust be specified as well. For information about the number of load balancers that you can specify per service, see Service Load Balancing in the Amazon Elastic Container Service Developer Guide. To remove this property from your service resource, specify an emptyLoadBalancerarray.
- name String
- The name of the Amazon ECS service, such as sample-webapp.
- networkConfiguration ServiceNetwork Configuration 
- The network configuration for the service. This parameter is required for task definitions that use the awsvpcnetwork mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.
- placementConstraints List<ServicePlacement Constraint> 
- An array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints for each task. This limit includes constraints in the task definition and those specified at runtime.
To remove this property from your service resource, specify an empty PlacementConstraintarray.
- placementStrategies List<ServicePlacement Strategy> 
- The placement strategy objects to use for tasks in your service. You can specify a maximum of 5 strategy rules for each service.
To remove this property from your service resource, specify an empty PlacementStrategyarray.
- platformVersion String
- The platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATESTplatform version is used. For more information, see platform versions in the Amazon Elastic Container Service Developer Guide.
- 
ServicePropagate Tags 
- Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the TagResource API action.
You must set this to a value other than NONEwhen you use Cost Explorer. For more information, see Amazon ECS usage reports in the Amazon Elastic Container Service Developer Guide. The default isNONE.
- serviceArn String
- The ARN that identifies the service. For more information about the ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer Guide .
- serviceRegistries List<ServiceRegistry> 
- The details of the service discovery registry to associate with this service. For more information, see Service discovery.
Each service may be associated with one service registry. Multiple service registries for each service isn't supported.
To remove this property from your service resource, specify an empty ServiceRegistryarray.
- List<Tag>
- The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well.
The following basic restrictions apply to tags:- Maximum number of tags per resource - 50
- For each resource, each tag key must be unique, and each tag key can have only one value.
- Maximum key length - 128 Unicode characters in UTF-8
- Maximum value length - 256 Unicode characters in UTF-8
- If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.
- Tag keys and values are case-sensitive.
- Do not use aws:,AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.
 
- taskDefinition String
- The familyandrevision(family:revision) or full ARN of the task definition to run in your service. If arevisionisn't specified, the latestACTIVErevision is used. A task definition must be specified if the service uses either theECSorCODE_DEPLOYdeployment controllers. For more information about deployment types, see Amazon ECS deployment types.
- vpcLattice List<ServiceConfigurations Vpc Lattice Configuration> 
- The VPC Lattice configuration for the service being created.
- availabilityZone ServiceRebalancing Availability Zone Rebalancing 
- Indicates whether to use Availability Zone rebalancing for the service.
For more information, see Balancing an Amazon ECS service across Availability Zones in the Amazon Elastic Container Service Developer Guide.
The default behavior of AvailabilityZoneRebalancingdiffers between create and update requests:- For create service requests, when no value is specified for AvailabilityZoneRebalancing, Amazon ECS defaults the value toENABLED.
- For update service requests, when no value is specified for AvailabilityZoneRebalancing, Amazon ECS defaults to the existing service’sAvailabilityZoneRebalancingvalue. If the service never had anAvailabilityZoneRebalancingvalue set, Amazon ECS treats this asDISABLED.
 
- For create service requests, when no value is specified for 
- capacityProvider ServiceStrategy Capacity Provider Strategy Item[] 
- The capacity provider strategy to use for the service.
If a capacityProviderStrategyis specified, thelaunchTypeparameter must be omitted. If nocapacityProviderStrategyorlaunchTypeis specified, thedefaultCapacityProviderStrategyfor the cluster is used. A capacity provider strategy can contain a maximum of 20 capacity providers. To remove this property from your service resource, specify an emptyCapacityProviderStrategyItemarray.
- deploymentConfiguration ServiceDeployment Configuration 
- Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.
- deploymentController ServiceDeployment Controller 
- The deployment controller to use for the service.
- desiredCount number
- The number of instantiations of the specified task definition to place and keep running in your service.
For new services, if a desired count is not specified, a default value of 1is used. When using theDAEMONscheduling strategy, the desired count is not required. For existing services, if a desired count is not specified, it is omitted from the operation.
- boolean
- Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see Tagging your Amazon ECS resources in the Amazon Elastic Container Service Developer Guide.
When you use Amazon ECS managed tags, you must set the propagateTagsrequest parameter.
- enableExecute booleanCommand 
- Determines whether the execute command functionality is turned on for the service. If true, the execute command functionality is turned on for all containers in tasks as part of the service.
- healthCheck numberGrace Period Seconds 
- The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you do not specify a health check grace period value, the default value of 0 is used. If you do not use any of the health checks, then healthCheckGracePeriodSecondsis unused. If your service has more running tasks than desired, unhealthy tasks in the grace period might be stopped to reach the desired count.
- loadBalancers ServiceLoad Balancer[] 
- A list of load balancer objects to associate with the service. If you specify the Roleproperty,LoadBalancersmust be specified as well. For information about the number of load balancers that you can specify per service, see Service Load Balancing in the Amazon Elastic Container Service Developer Guide. To remove this property from your service resource, specify an emptyLoadBalancerarray.
- name string
- The name of the Amazon ECS service, such as sample-webapp.
- networkConfiguration ServiceNetwork Configuration 
- The network configuration for the service. This parameter is required for task definitions that use the awsvpcnetwork mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.
- placementConstraints ServicePlacement Constraint[] 
- An array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints for each task. This limit includes constraints in the task definition and those specified at runtime.
To remove this property from your service resource, specify an empty PlacementConstraintarray.
- placementStrategies ServicePlacement Strategy[] 
- The placement strategy objects to use for tasks in your service. You can specify a maximum of 5 strategy rules for each service.
To remove this property from your service resource, specify an empty PlacementStrategyarray.
- platformVersion string
- The platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATESTplatform version is used. For more information, see platform versions in the Amazon Elastic Container Service Developer Guide.
- 
ServicePropagate Tags 
- Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the TagResource API action.
You must set this to a value other than NONEwhen you use Cost Explorer. For more information, see Amazon ECS usage reports in the Amazon Elastic Container Service Developer Guide. The default isNONE.
- serviceArn string
- The ARN that identifies the service. For more information about the ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer Guide .
- serviceRegistries ServiceRegistry[] 
- The details of the service discovery registry to associate with this service. For more information, see Service discovery.
Each service may be associated with one service registry. Multiple service registries for each service isn't supported.
To remove this property from your service resource, specify an empty ServiceRegistryarray.
- Tag[]
- The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well.
The following basic restrictions apply to tags:- Maximum number of tags per resource - 50
- For each resource, each tag key must be unique, and each tag key can have only one value.
- Maximum key length - 128 Unicode characters in UTF-8
- Maximum value length - 256 Unicode characters in UTF-8
- If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.
- Tag keys and values are case-sensitive.
- Do not use aws:,AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.
 
- taskDefinition string
- The familyandrevision(family:revision) or full ARN of the task definition to run in your service. If arevisionisn't specified, the latestACTIVErevision is used. A task definition must be specified if the service uses either theECSorCODE_DEPLOYdeployment controllers. For more information about deployment types, see Amazon ECS deployment types.
- vpcLattice ServiceConfigurations Vpc Lattice Configuration[] 
- The VPC Lattice configuration for the service being created.
- availability_zone_ Servicerebalancing Availability Zone Rebalancing 
- Indicates whether to use Availability Zone rebalancing for the service.
For more information, see Balancing an Amazon ECS service across Availability Zones in the Amazon Elastic Container Service Developer Guide.
The default behavior of AvailabilityZoneRebalancingdiffers between create and update requests:- For create service requests, when no value is specified for AvailabilityZoneRebalancing, Amazon ECS defaults the value toENABLED.
- For update service requests, when no value is specified for AvailabilityZoneRebalancing, Amazon ECS defaults to the existing service’sAvailabilityZoneRebalancingvalue. If the service never had anAvailabilityZoneRebalancingvalue set, Amazon ECS treats this asDISABLED.
 
- For create service requests, when no value is specified for 
- capacity_provider_ Sequence[Servicestrategy Capacity Provider Strategy Item] 
- The capacity provider strategy to use for the service.
If a capacityProviderStrategyis specified, thelaunchTypeparameter must be omitted. If nocapacityProviderStrategyorlaunchTypeis specified, thedefaultCapacityProviderStrategyfor the cluster is used. A capacity provider strategy can contain a maximum of 20 capacity providers. To remove this property from your service resource, specify an emptyCapacityProviderStrategyItemarray.
- deployment_configuration ServiceDeployment Configuration 
- Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.
- deployment_controller ServiceDeployment Controller 
- The deployment controller to use for the service.
- desired_count int
- The number of instantiations of the specified task definition to place and keep running in your service.
For new services, if a desired count is not specified, a default value of 1is used. When using theDAEMONscheduling strategy, the desired count is not required. For existing services, if a desired count is not specified, it is omitted from the operation.
- bool
- Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see Tagging your Amazon ECS resources in the Amazon Elastic Container Service Developer Guide.
When you use Amazon ECS managed tags, you must set the propagateTagsrequest parameter.
- enable_execute_ boolcommand 
- Determines whether the execute command functionality is turned on for the service. If true, the execute command functionality is turned on for all containers in tasks as part of the service.
- health_check_ intgrace_ period_ seconds 
- The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you do not specify a health check grace period value, the default value of 0 is used. If you do not use any of the health checks, then healthCheckGracePeriodSecondsis unused. If your service has more running tasks than desired, unhealthy tasks in the grace period might be stopped to reach the desired count.
- load_balancers Sequence[ServiceLoad Balancer] 
- A list of load balancer objects to associate with the service. If you specify the Roleproperty,LoadBalancersmust be specified as well. For information about the number of load balancers that you can specify per service, see Service Load Balancing in the Amazon Elastic Container Service Developer Guide. To remove this property from your service resource, specify an emptyLoadBalancerarray.
- name str
- The name of the Amazon ECS service, such as sample-webapp.
- network_configuration ServiceNetwork Configuration 
- The network configuration for the service. This parameter is required for task definitions that use the awsvpcnetwork mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.
- placement_constraints Sequence[ServicePlacement Constraint] 
- An array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints for each task. This limit includes constraints in the task definition and those specified at runtime.
To remove this property from your service resource, specify an empty PlacementConstraintarray.
- placement_strategies Sequence[ServicePlacement Strategy] 
- The placement strategy objects to use for tasks in your service. You can specify a maximum of 5 strategy rules for each service.
To remove this property from your service resource, specify an empty PlacementStrategyarray.
- platform_version str
- The platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATESTplatform version is used. For more information, see platform versions in the Amazon Elastic Container Service Developer Guide.
- 
ServicePropagate Tags 
- Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the TagResource API action.
You must set this to a value other than NONEwhen you use Cost Explorer. For more information, see Amazon ECS usage reports in the Amazon Elastic Container Service Developer Guide. The default isNONE.
- service_arn str
- The ARN that identifies the service. For more information about the ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer Guide .
- service_registries Sequence[ServiceRegistry] 
- The details of the service discovery registry to associate with this service. For more information, see Service discovery.
Each service may be associated with one service registry. Multiple service registries for each service isn't supported.
To remove this property from your service resource, specify an empty ServiceRegistryarray.
- Sequence[root_Tag]
- The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well.
The following basic restrictions apply to tags:- Maximum number of tags per resource - 50
- For each resource, each tag key must be unique, and each tag key can have only one value.
- Maximum key length - 128 Unicode characters in UTF-8
- Maximum value length - 256 Unicode characters in UTF-8
- If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.
- Tag keys and values are case-sensitive.
- Do not use aws:,AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.
 
- task_definition str
- The familyandrevision(family:revision) or full ARN of the task definition to run in your service. If arevisionisn't specified, the latestACTIVErevision is used. A task definition must be specified if the service uses either theECSorCODE_DEPLOYdeployment controllers. For more information about deployment types, see Amazon ECS deployment types.
- vpc_lattice_ Sequence[Serviceconfigurations Vpc Lattice Configuration] 
- The VPC Lattice configuration for the service being created.
- availabilityZone "ENABLED" | "DISABLED"Rebalancing 
- Indicates whether to use Availability Zone rebalancing for the service.
For more information, see Balancing an Amazon ECS service across Availability Zones in the Amazon Elastic Container Service Developer Guide.
The default behavior of AvailabilityZoneRebalancingdiffers between create and update requests:- For create service requests, when no value is specified for AvailabilityZoneRebalancing, Amazon ECS defaults the value toENABLED.
- For update service requests, when no value is specified for AvailabilityZoneRebalancing, Amazon ECS defaults to the existing service’sAvailabilityZoneRebalancingvalue. If the service never had anAvailabilityZoneRebalancingvalue set, Amazon ECS treats this asDISABLED.
 
- For create service requests, when no value is specified for 
- capacityProvider List<Property Map>Strategy 
- The capacity provider strategy to use for the service.
If a capacityProviderStrategyis specified, thelaunchTypeparameter must be omitted. If nocapacityProviderStrategyorlaunchTypeis specified, thedefaultCapacityProviderStrategyfor the cluster is used. A capacity provider strategy can contain a maximum of 20 capacity providers. To remove this property from your service resource, specify an emptyCapacityProviderStrategyItemarray.
- deploymentConfiguration Property Map
- Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.
- deploymentController Property Map
- The deployment controller to use for the service.
- desiredCount Number
- The number of instantiations of the specified task definition to place and keep running in your service.
For new services, if a desired count is not specified, a default value of 1is used. When using theDAEMONscheduling strategy, the desired count is not required. For existing services, if a desired count is not specified, it is omitted from the operation.
- Boolean
- Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see Tagging your Amazon ECS resources in the Amazon Elastic Container Service Developer Guide.
When you use Amazon ECS managed tags, you must set the propagateTagsrequest parameter.
- enableExecute BooleanCommand 
- Determines whether the execute command functionality is turned on for the service. If true, the execute command functionality is turned on for all containers in tasks as part of the service.
- healthCheck NumberGrace Period Seconds 
- The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you do not specify a health check grace period value, the default value of 0 is used. If you do not use any of the health checks, then healthCheckGracePeriodSecondsis unused. If your service has more running tasks than desired, unhealthy tasks in the grace period might be stopped to reach the desired count.
- loadBalancers List<Property Map>
- A list of load balancer objects to associate with the service. If you specify the Roleproperty,LoadBalancersmust be specified as well. For information about the number of load balancers that you can specify per service, see Service Load Balancing in the Amazon Elastic Container Service Developer Guide. To remove this property from your service resource, specify an emptyLoadBalancerarray.
- name String
- The name of the Amazon ECS service, such as sample-webapp.
- networkConfiguration Property Map
- The network configuration for the service. This parameter is required for task definitions that use the awsvpcnetwork mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.
- placementConstraints List<Property Map>
- An array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints for each task. This limit includes constraints in the task definition and those specified at runtime.
To remove this property from your service resource, specify an empty PlacementConstraintarray.
- placementStrategies List<Property Map>
- The placement strategy objects to use for tasks in your service. You can specify a maximum of 5 strategy rules for each service.
To remove this property from your service resource, specify an empty PlacementStrategyarray.
- platformVersion String
- The platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATESTplatform version is used. For more information, see platform versions in the Amazon Elastic Container Service Developer Guide.
- "SERVICE" | "TASK_DEFINITION"
- Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the TagResource API action.
You must set this to a value other than NONEwhen you use Cost Explorer. For more information, see Amazon ECS usage reports in the Amazon Elastic Container Service Developer Guide. The default isNONE.
- serviceArn String
- The ARN that identifies the service. For more information about the ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer Guide .
- serviceRegistries List<Property Map>
- The details of the service discovery registry to associate with this service. For more information, see Service discovery.
Each service may be associated with one service registry. Multiple service registries for each service isn't supported.
To remove this property from your service resource, specify an empty ServiceRegistryarray.
- List<Property Map>
- The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well.
The following basic restrictions apply to tags:- Maximum number of tags per resource - 50
- For each resource, each tag key must be unique, and each tag key can have only one value.
- Maximum key length - 128 Unicode characters in UTF-8
- Maximum value length - 256 Unicode characters in UTF-8
- If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.
- Tag keys and values are case-sensitive.
- Do not use aws:,AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.
 
- taskDefinition String
- The familyandrevision(family:revision) or full ARN of the task definition to run in your service. If arevisionisn't specified, the latestACTIVErevision is used. A task definition must be specified if the service uses either theECSorCODE_DEPLOYdeployment controllers. For more information about deployment types, see Amazon ECS deployment types.
- vpcLattice List<Property Map>Configurations 
- The VPC Lattice configuration for the service being created.
Supporting Types
ServiceAdvancedConfiguration  
- AlternateTarget stringGroup Arn 
- The Amazon Resource Name (ARN) of the alternate target group for Amazon ECS blue/green deployments.
- ProductionListener stringRule 
- The Amazon Resource Name (ARN) that that identifies the production listener rule (in the case of an Application Load Balancer) or listener (in the case for an Network Load Balancer) for routing production traffic.
- RoleArn string
- The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call the Elastic Load Balancing APIs for you.
- TestListener stringRule 
- The Amazon Resource Name (ARN) that identifies ) that identifies the test listener rule (in the case of an Application Load Balancer) or listener (in the case for an Network Load Balancer) for routing test traffic.
- AlternateTarget stringGroup Arn 
- The Amazon Resource Name (ARN) of the alternate target group for Amazon ECS blue/green deployments.
- ProductionListener stringRule 
- The Amazon Resource Name (ARN) that that identifies the production listener rule (in the case of an Application Load Balancer) or listener (in the case for an Network Load Balancer) for routing production traffic.
- RoleArn string
- The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call the Elastic Load Balancing APIs for you.
- TestListener stringRule 
- The Amazon Resource Name (ARN) that identifies ) that identifies the test listener rule (in the case of an Application Load Balancer) or listener (in the case for an Network Load Balancer) for routing test traffic.
- alternateTarget StringGroup Arn 
- The Amazon Resource Name (ARN) of the alternate target group for Amazon ECS blue/green deployments.
- productionListener StringRule 
- The Amazon Resource Name (ARN) that that identifies the production listener rule (in the case of an Application Load Balancer) or listener (in the case for an Network Load Balancer) for routing production traffic.
- roleArn String
- The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call the Elastic Load Balancing APIs for you.
- testListener StringRule 
- The Amazon Resource Name (ARN) that identifies ) that identifies the test listener rule (in the case of an Application Load Balancer) or listener (in the case for an Network Load Balancer) for routing test traffic.
- alternateTarget stringGroup Arn 
- The Amazon Resource Name (ARN) of the alternate target group for Amazon ECS blue/green deployments.
- productionListener stringRule 
- The Amazon Resource Name (ARN) that that identifies the production listener rule (in the case of an Application Load Balancer) or listener (in the case for an Network Load Balancer) for routing production traffic.
- roleArn string
- The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call the Elastic Load Balancing APIs for you.
- testListener stringRule 
- The Amazon Resource Name (ARN) that identifies ) that identifies the test listener rule (in the case of an Application Load Balancer) or listener (in the case for an Network Load Balancer) for routing test traffic.
- alternate_target_ strgroup_ arn 
- The Amazon Resource Name (ARN) of the alternate target group for Amazon ECS blue/green deployments.
- production_listener_ strrule 
- The Amazon Resource Name (ARN) that that identifies the production listener rule (in the case of an Application Load Balancer) or listener (in the case for an Network Load Balancer) for routing production traffic.
- role_arn str
- The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call the Elastic Load Balancing APIs for you.
- test_listener_ strrule 
- The Amazon Resource Name (ARN) that identifies ) that identifies the test listener rule (in the case of an Application Load Balancer) or listener (in the case for an Network Load Balancer) for routing test traffic.
- alternateTarget StringGroup Arn 
- The Amazon Resource Name (ARN) of the alternate target group for Amazon ECS blue/green deployments.
- productionListener StringRule 
- The Amazon Resource Name (ARN) that that identifies the production listener rule (in the case of an Application Load Balancer) or listener (in the case for an Network Load Balancer) for routing production traffic.
- roleArn String
- The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call the Elastic Load Balancing APIs for you.
- testListener StringRule 
- The Amazon Resource Name (ARN) that identifies ) that identifies the test listener rule (in the case of an Application Load Balancer) or listener (in the case for an Network Load Balancer) for routing test traffic.
ServiceAvailabilityZoneRebalancing   
ServiceAwsVpcConfiguration   
- AssignPublic Pulumi.Ip Aws Native. Ecs. Service Aws Vpc Configuration Assign Public Ip 
- Whether the task's elastic network interface receives a public IP address.
Consider the following when you set this value:- When you use create-serviceorupdate-service, the default isDISABLED.
- When the service deploymentControllerisECS, the value must beDISABLED.
 
- When you use 
- SecurityGroups List<string>
- The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified. All specified security groups must be from the same VPC.
- Subnets List<string>
- The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified. All specified subnets must be from the same VPC.
- AssignPublic ServiceIp Aws Vpc Configuration Assign Public Ip 
- Whether the task's elastic network interface receives a public IP address.
Consider the following when you set this value:- When you use create-serviceorupdate-service, the default isDISABLED.
- When the service deploymentControllerisECS, the value must beDISABLED.
 
- When you use 
- SecurityGroups []string
- The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified. All specified security groups must be from the same VPC.
- Subnets []string
- The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified. All specified subnets must be from the same VPC.
- assignPublic ServiceIp Aws Vpc Configuration Assign Public Ip 
- Whether the task's elastic network interface receives a public IP address.
Consider the following when you set this value:- When you use create-serviceorupdate-service, the default isDISABLED.
- When the service deploymentControllerisECS, the value must beDISABLED.
 
- When you use 
- securityGroups List<String>
- The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified. All specified security groups must be from the same VPC.
- subnets List<String>
- The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified. All specified subnets must be from the same VPC.
- assignPublic ServiceIp Aws Vpc Configuration Assign Public Ip 
- Whether the task's elastic network interface receives a public IP address.
Consider the following when you set this value:- When you use create-serviceorupdate-service, the default isDISABLED.
- When the service deploymentControllerisECS, the value must beDISABLED.
 
- When you use 
- securityGroups string[]
- The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified. All specified security groups must be from the same VPC.
- subnets string[]
- The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified. All specified subnets must be from the same VPC.
- assign_public_ Serviceip Aws Vpc Configuration Assign Public Ip 
- Whether the task's elastic network interface receives a public IP address.
Consider the following when you set this value:- When you use create-serviceorupdate-service, the default isDISABLED.
- When the service deploymentControllerisECS, the value must beDISABLED.
 
- When you use 
- security_groups Sequence[str]
- The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified. All specified security groups must be from the same VPC.
- subnets Sequence[str]
- The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified. All specified subnets must be from the same VPC.
- assignPublic "DISABLED" | "ENABLED"Ip 
- Whether the task's elastic network interface receives a public IP address.
Consider the following when you set this value:- When you use create-serviceorupdate-service, the default isDISABLED.
- When the service deploymentControllerisECS, the value must beDISABLED.
 
- When you use 
- securityGroups List<String>
- The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified. All specified security groups must be from the same VPC.
- subnets List<String>
- The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified. All specified subnets must be from the same VPC.
ServiceAwsVpcConfigurationAssignPublicIp      
ServiceCapacityProviderStrategyItem    
- Base int
- The base value designates how many tasks, at a minimum, to run on the specified capacity provider for each service. Only one capacity provider in a capacity provider strategy can have a base defined. If no value is specified, the default value of 0is used. Base value characteristics:- Only one capacity provider in a strategy can have a base defined
- Default value is 0if not specified
- Valid range: 0 to 100,000
- Base requirements are satisfied first before weight distribution
 
- CapacityProvider string
- The short name of the capacity provider.
- Weight int
- The weight value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The - weightvalue is taken into consideration after the- basevalue, if defined, is satisfied. If no- weightvalue is specified, the default value of- 0is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of- 0can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of- 0, any- RunTaskor- CreateServiceactions using the capacity provider strategy will fail. Weight value characteristics:- Weight is considered after the base value is satisfied
- Default value is 0if not specified
- Valid range: 0 to 1,000
- At least one capacity provider must have a weight greater than zero
- Capacity providers with weight of 0cannot place tasks
 - Task distribution logic: - Base satisfaction: The minimum number of tasks specified by the base value are placed on that capacity provider
- Weight distribution: After base requirements are met, additional tasks are distributed according to weight ratios
 - Examples: Equal Distribution: Two capacity providers both with weight - 1will split tasks evenly after base requirements are met. Weighted Distribution: If capacityProviderA has weight- 1and capacityProviderB has weight- 4, then for every 1 task on A, 4 tasks will run on B.
- Base int
- The base value designates how many tasks, at a minimum, to run on the specified capacity provider for each service. Only one capacity provider in a capacity provider strategy can have a base defined. If no value is specified, the default value of 0is used. Base value characteristics:- Only one capacity provider in a strategy can have a base defined
- Default value is 0if not specified
- Valid range: 0 to 100,000
- Base requirements are satisfied first before weight distribution
 
- CapacityProvider string
- The short name of the capacity provider.
- Weight int
- The weight value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The - weightvalue is taken into consideration after the- basevalue, if defined, is satisfied. If no- weightvalue is specified, the default value of- 0is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of- 0can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of- 0, any- RunTaskor- CreateServiceactions using the capacity provider strategy will fail. Weight value characteristics:- Weight is considered after the base value is satisfied
- Default value is 0if not specified
- Valid range: 0 to 1,000
- At least one capacity provider must have a weight greater than zero
- Capacity providers with weight of 0cannot place tasks
 - Task distribution logic: - Base satisfaction: The minimum number of tasks specified by the base value are placed on that capacity provider
- Weight distribution: After base requirements are met, additional tasks are distributed according to weight ratios
 - Examples: Equal Distribution: Two capacity providers both with weight - 1will split tasks evenly after base requirements are met. Weighted Distribution: If capacityProviderA has weight- 1and capacityProviderB has weight- 4, then for every 1 task on A, 4 tasks will run on B.
- base Integer
- The base value designates how many tasks, at a minimum, to run on the specified capacity provider for each service. Only one capacity provider in a capacity provider strategy can have a base defined. If no value is specified, the default value of 0is used. Base value characteristics:- Only one capacity provider in a strategy can have a base defined
- Default value is 0if not specified
- Valid range: 0 to 100,000
- Base requirements are satisfied first before weight distribution
 
- capacityProvider String
- The short name of the capacity provider.
- weight Integer
- The weight value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The - weightvalue is taken into consideration after the- basevalue, if defined, is satisfied. If no- weightvalue is specified, the default value of- 0is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of- 0can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of- 0, any- RunTaskor- CreateServiceactions using the capacity provider strategy will fail. Weight value characteristics:- Weight is considered after the base value is satisfied
- Default value is 0if not specified
- Valid range: 0 to 1,000
- At least one capacity provider must have a weight greater than zero
- Capacity providers with weight of 0cannot place tasks
 - Task distribution logic: - Base satisfaction: The minimum number of tasks specified by the base value are placed on that capacity provider
- Weight distribution: After base requirements are met, additional tasks are distributed according to weight ratios
 - Examples: Equal Distribution: Two capacity providers both with weight - 1will split tasks evenly after base requirements are met. Weighted Distribution: If capacityProviderA has weight- 1and capacityProviderB has weight- 4, then for every 1 task on A, 4 tasks will run on B.
- base number
- The base value designates how many tasks, at a minimum, to run on the specified capacity provider for each service. Only one capacity provider in a capacity provider strategy can have a base defined. If no value is specified, the default value of 0is used. Base value characteristics:- Only one capacity provider in a strategy can have a base defined
- Default value is 0if not specified
- Valid range: 0 to 100,000
- Base requirements are satisfied first before weight distribution
 
- capacityProvider string
- The short name of the capacity provider.
- weight number
- The weight value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The - weightvalue is taken into consideration after the- basevalue, if defined, is satisfied. If no- weightvalue is specified, the default value of- 0is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of- 0can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of- 0, any- RunTaskor- CreateServiceactions using the capacity provider strategy will fail. Weight value characteristics:- Weight is considered after the base value is satisfied
- Default value is 0if not specified
- Valid range: 0 to 1,000
- At least one capacity provider must have a weight greater than zero
- Capacity providers with weight of 0cannot place tasks
 - Task distribution logic: - Base satisfaction: The minimum number of tasks specified by the base value are placed on that capacity provider
- Weight distribution: After base requirements are met, additional tasks are distributed according to weight ratios
 - Examples: Equal Distribution: Two capacity providers both with weight - 1will split tasks evenly after base requirements are met. Weighted Distribution: If capacityProviderA has weight- 1and capacityProviderB has weight- 4, then for every 1 task on A, 4 tasks will run on B.
- base int
- The base value designates how many tasks, at a minimum, to run on the specified capacity provider for each service. Only one capacity provider in a capacity provider strategy can have a base defined. If no value is specified, the default value of 0is used. Base value characteristics:- Only one capacity provider in a strategy can have a base defined
- Default value is 0if not specified
- Valid range: 0 to 100,000
- Base requirements are satisfied first before weight distribution
 
- capacity_provider str
- The short name of the capacity provider.
- weight int
- The weight value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The - weightvalue is taken into consideration after the- basevalue, if defined, is satisfied. If no- weightvalue is specified, the default value of- 0is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of- 0can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of- 0, any- RunTaskor- CreateServiceactions using the capacity provider strategy will fail. Weight value characteristics:- Weight is considered after the base value is satisfied
- Default value is 0if not specified
- Valid range: 0 to 1,000
- At least one capacity provider must have a weight greater than zero
- Capacity providers with weight of 0cannot place tasks
 - Task distribution logic: - Base satisfaction: The minimum number of tasks specified by the base value are placed on that capacity provider
- Weight distribution: After base requirements are met, additional tasks are distributed according to weight ratios
 - Examples: Equal Distribution: Two capacity providers both with weight - 1will split tasks evenly after base requirements are met. Weighted Distribution: If capacityProviderA has weight- 1and capacityProviderB has weight- 4, then for every 1 task on A, 4 tasks will run on B.
- base Number
- The base value designates how many tasks, at a minimum, to run on the specified capacity provider for each service. Only one capacity provider in a capacity provider strategy can have a base defined. If no value is specified, the default value of 0is used. Base value characteristics:- Only one capacity provider in a strategy can have a base defined
- Default value is 0if not specified
- Valid range: 0 to 100,000
- Base requirements are satisfied first before weight distribution
 
- capacityProvider String
- The short name of the capacity provider.
- weight Number
- The weight value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The - weightvalue is taken into consideration after the- basevalue, if defined, is satisfied. If no- weightvalue is specified, the default value of- 0is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of- 0can't be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of- 0, any- RunTaskor- CreateServiceactions using the capacity provider strategy will fail. Weight value characteristics:- Weight is considered after the base value is satisfied
- Default value is 0if not specified
- Valid range: 0 to 1,000
- At least one capacity provider must have a weight greater than zero
- Capacity providers with weight of 0cannot place tasks
 - Task distribution logic: - Base satisfaction: The minimum number of tasks specified by the base value are placed on that capacity provider
- Weight distribution: After base requirements are met, additional tasks are distributed according to weight ratios
 - Examples: Equal Distribution: Two capacity providers both with weight - 1will split tasks evenly after base requirements are met. Weighted Distribution: If capacityProviderA has weight- 1and capacityProviderB has weight- 4, then for every 1 task on A, 4 tasks will run on B.
ServiceDeploymentAlarms  
- AlarmNames List<string>
- One or more CloudWatch alarm names. Use a "," to separate the alarms.
- 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. Use a "," to separate the alarms.
- 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. Use a "," to separate the alarms.
- 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. Use a "," to separate the alarms.
- 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. Use a "," to separate the alarms.
- 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. Use a "," to separate the alarms.
- 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.
ServiceDeploymentCircuitBreaker   
- Enable bool
- Determines whether to use the deployment circuit breaker logic for the service.
- Rollback bool
- Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is on, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.
- Enable bool
- Determines whether to use the deployment circuit breaker logic for the service.
- Rollback bool
- Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is on, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.
- enable Boolean
- Determines whether to use the deployment circuit breaker logic for the service.
- rollback Boolean
- Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is on, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.
- enable boolean
- Determines whether to use the deployment circuit breaker logic for the service.
- rollback boolean
- Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is on, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.
- enable bool
- Determines whether to use the deployment circuit breaker logic for the service.
- rollback bool
- Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is on, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.
- enable Boolean
- Determines whether to use the deployment circuit breaker logic for the service.
- rollback Boolean
- Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is on, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.
ServiceDeploymentConfiguration  
- Alarms
Pulumi.Aws Native. Ecs. Inputs. Service Deployment Alarms 
- Information about the CloudWatch alarms.
- BakeTime intIn Minutes 
- The duration when both blue and green service revisions are running simultaneously after the production traffic has shifted.
The following rules apply when you don't specify a value:- For rolling deployments, the value is set to 3 hours (180 minutes).
- When you use an external deployment controller (EXTERNAL), or the ACD blue/green deployment controller (CODE_DEPLOY), the value is set to 3 hours (180 minutes).
- For all other cases, the value is set to 36 hours (2160 minutes).
 
- CanaryConfiguration object
- DeploymentCircuit Pulumi.Breaker Aws Native. Ecs. Inputs. Service Deployment Circuit Breaker 
- The deployment circuit breaker can only be used for services using the rolling update (ECS) deployment type. The deployment circuit breaker determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see Rolling update in the Amazon Elastic Container Service Developer Guide
- LifecycleHooks List<Pulumi.Aws Native. Ecs. Inputs. Service Deployment Lifecycle Hook> 
- An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle.
- LinearConfiguration object
- MaximumPercent int
- If a service is using the rolling update (ECS) deployment type, themaximumPercentparameter represents an upper limit on the number of your service's tasks that are allowed in theRUNNINGorPENDINGstate during a deployment, as a percentage of thedesiredCount(rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using theREPLICAservice scheduler and has adesiredCountof four tasks and amaximumPercentvalue of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The defaultmaximumPercentvalue for a service using theREPLICAservice scheduler is 200%. The Amazon ECS scheduler uses this parameter to replace unhealthy tasks by starting replacement tasks first and then stopping the unhealthy tasks, as long as cluster resources for starting replacement tasks are available. For more information about how the scheduler replaces unhealthy tasks, see Amazon ECS services. If a service is using either the blue/green (CODE_DEPLOY) orEXTERNALdeployment types, and tasks in the service use the EC2 launch type, the maximum percent value is set to the default value. The maximum percent value is used to define the upper limit on the number of the tasks in the service that remain in theRUNNINGstate while the container instances are in theDRAININGstate. You can't specify a custommaximumPercentvalue for a service that uses either the blue/green (CODE_DEPLOY) orEXTERNALdeployment types and has tasks that use the EC2 launch type. If the service uses either the blue/green (CODE_DEPLOY) orEXTERNALdeployment types, and the tasks in the service use the Fargate launch type, the maximum percent value is not used. The value is still returned when describing your service.
- MinimumHealthy intPercent 
- If a service is using the rolling update ( - ECS) deployment type, the- minimumHealthyPercentrepresents a lower limit on the number of your service's tasks that must remain in the- RUNNINGstate during a deployment, as a percentage of the- desiredCount(rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a- desiredCountof four tasks and a- minimumHealthyPercentof 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. If any tasks are unhealthy and if- maximumPercentdoesn't allow the Amazon ECS scheduler to start replacement tasks, the scheduler stops the unhealthy tasks one-by-one — using the- minimumHealthyPercentas a constraint — to clear up capacity to launch replacement tasks. For more information about how the scheduler replaces unhealthy tasks, see Amazon ECS services. For services that do not use a load balancer, the following should be noted:- A service is considered healthy if all essential containers within the tasks in the service pass their health checks.
- If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a RUNNINGstate before the task is counted towards the minimum healthy percent total.
- If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings.
 - For services that do use a load balancer, the following should be noted: - If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.
- If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.
 - The default value for a replica service for - minimumHealthyPercentis 100%. The default- minimumHealthyPercentvalue for a service using the- DAEMONservice schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console. The minimum number of healthy tasks during a deployment is the- desiredCountmultiplied by the- minimumHealthyPercent/100, rounded up to the nearest integer value. If a service is using either the blue/green (- CODE_DEPLOY) or- EXTERNALdeployment types and is running tasks that use the EC2 launch type, the minimum healthy percent value is set to the default value. The minimum healthy percent value is used to define the lower limit on the number of the tasks in the service that remain in the- RUNNINGstate while the container instances are in the- DRAININGstate. You can't specify a custom- minimumHealthyPercentvalue for a service that uses either the blue/green (- CODE_DEPLOY) or- EXTERNALdeployment types and has tasks that use the EC2 launch type. If a service is using either the blue/green (- CODE_DEPLOY) or- EXTERNALdeployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.
- Strategy
Pulumi.Aws Native. Ecs. Service Deployment Configuration Strategy 
- The deployment strategy for the service. Choose from these valid values:- ROLLING- When you create a service which uses the rolling update (- ROLLING) deployment strategy, the Amazon ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that Amazon ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration.
- BLUE_GREEN- A blue/green deployment strategy (- BLUE_GREEN) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With Amazon ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed.
 
- Alarms
ServiceDeployment Alarms 
- Information about the CloudWatch alarms.
- BakeTime intIn Minutes 
- The duration when both blue and green service revisions are running simultaneously after the production traffic has shifted.
The following rules apply when you don't specify a value:- For rolling deployments, the value is set to 3 hours (180 minutes).
- When you use an external deployment controller (EXTERNAL), or the ACD blue/green deployment controller (CODE_DEPLOY), the value is set to 3 hours (180 minutes).
- For all other cases, the value is set to 36 hours (2160 minutes).
 
- CanaryConfiguration interface{}
- DeploymentCircuit ServiceBreaker Deployment Circuit Breaker 
- The deployment circuit breaker can only be used for services using the rolling update (ECS) deployment type. The deployment circuit breaker determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see Rolling update in the Amazon Elastic Container Service Developer Guide
- LifecycleHooks []ServiceDeployment Lifecycle Hook 
- An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle.
- LinearConfiguration interface{}
- MaximumPercent int
- If a service is using the rolling update (ECS) deployment type, themaximumPercentparameter represents an upper limit on the number of your service's tasks that are allowed in theRUNNINGorPENDINGstate during a deployment, as a percentage of thedesiredCount(rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using theREPLICAservice scheduler and has adesiredCountof four tasks and amaximumPercentvalue of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The defaultmaximumPercentvalue for a service using theREPLICAservice scheduler is 200%. The Amazon ECS scheduler uses this parameter to replace unhealthy tasks by starting replacement tasks first and then stopping the unhealthy tasks, as long as cluster resources for starting replacement tasks are available. For more information about how the scheduler replaces unhealthy tasks, see Amazon ECS services. If a service is using either the blue/green (CODE_DEPLOY) orEXTERNALdeployment types, and tasks in the service use the EC2 launch type, the maximum percent value is set to the default value. The maximum percent value is used to define the upper limit on the number of the tasks in the service that remain in theRUNNINGstate while the container instances are in theDRAININGstate. You can't specify a custommaximumPercentvalue for a service that uses either the blue/green (CODE_DEPLOY) orEXTERNALdeployment types and has tasks that use the EC2 launch type. If the service uses either the blue/green (CODE_DEPLOY) orEXTERNALdeployment types, and the tasks in the service use the Fargate launch type, the maximum percent value is not used. The value is still returned when describing your service.
- MinimumHealthy intPercent 
- If a service is using the rolling update ( - ECS) deployment type, the- minimumHealthyPercentrepresents a lower limit on the number of your service's tasks that must remain in the- RUNNINGstate during a deployment, as a percentage of the- desiredCount(rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a- desiredCountof four tasks and a- minimumHealthyPercentof 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. If any tasks are unhealthy and if- maximumPercentdoesn't allow the Amazon ECS scheduler to start replacement tasks, the scheduler stops the unhealthy tasks one-by-one — using the- minimumHealthyPercentas a constraint — to clear up capacity to launch replacement tasks. For more information about how the scheduler replaces unhealthy tasks, see Amazon ECS services. For services that do not use a load balancer, the following should be noted:- A service is considered healthy if all essential containers within the tasks in the service pass their health checks.
- If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a RUNNINGstate before the task is counted towards the minimum healthy percent total.
- If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings.
 - For services that do use a load balancer, the following should be noted: - If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.
- If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.
 - The default value for a replica service for - minimumHealthyPercentis 100%. The default- minimumHealthyPercentvalue for a service using the- DAEMONservice schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console. The minimum number of healthy tasks during a deployment is the- desiredCountmultiplied by the- minimumHealthyPercent/100, rounded up to the nearest integer value. If a service is using either the blue/green (- CODE_DEPLOY) or- EXTERNALdeployment types and is running tasks that use the EC2 launch type, the minimum healthy percent value is set to the default value. The minimum healthy percent value is used to define the lower limit on the number of the tasks in the service that remain in the- RUNNINGstate while the container instances are in the- DRAININGstate. You can't specify a custom- minimumHealthyPercentvalue for a service that uses either the blue/green (- CODE_DEPLOY) or- EXTERNALdeployment types and has tasks that use the EC2 launch type. If a service is using either the blue/green (- CODE_DEPLOY) or- EXTERNALdeployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.
- Strategy
ServiceDeployment Configuration Strategy 
- The deployment strategy for the service. Choose from these valid values:- ROLLING- When you create a service which uses the rolling update (- ROLLING) deployment strategy, the Amazon ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that Amazon ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration.
- BLUE_GREEN- A blue/green deployment strategy (- BLUE_GREEN) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With Amazon ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed.
 
- alarms
ServiceDeployment Alarms 
- Information about the CloudWatch alarms.
- bakeTime IntegerIn Minutes 
- The duration when both blue and green service revisions are running simultaneously after the production traffic has shifted.
The following rules apply when you don't specify a value:- For rolling deployments, the value is set to 3 hours (180 minutes).
- When you use an external deployment controller (EXTERNAL), or the ACD blue/green deployment controller (CODE_DEPLOY), the value is set to 3 hours (180 minutes).
- For all other cases, the value is set to 36 hours (2160 minutes).
 
- canaryConfiguration Object
- deploymentCircuit ServiceBreaker Deployment Circuit Breaker 
- The deployment circuit breaker can only be used for services using the rolling update (ECS) deployment type. The deployment circuit breaker determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see Rolling update in the Amazon Elastic Container Service Developer Guide
- lifecycleHooks List<ServiceDeployment Lifecycle Hook> 
- An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle.
- linearConfiguration Object
- maximumPercent Integer
- If a service is using the rolling update (ECS) deployment type, themaximumPercentparameter represents an upper limit on the number of your service's tasks that are allowed in theRUNNINGorPENDINGstate during a deployment, as a percentage of thedesiredCount(rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using theREPLICAservice scheduler and has adesiredCountof four tasks and amaximumPercentvalue of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The defaultmaximumPercentvalue for a service using theREPLICAservice scheduler is 200%. The Amazon ECS scheduler uses this parameter to replace unhealthy tasks by starting replacement tasks first and then stopping the unhealthy tasks, as long as cluster resources for starting replacement tasks are available. For more information about how the scheduler replaces unhealthy tasks, see Amazon ECS services. If a service is using either the blue/green (CODE_DEPLOY) orEXTERNALdeployment types, and tasks in the service use the EC2 launch type, the maximum percent value is set to the default value. The maximum percent value is used to define the upper limit on the number of the tasks in the service that remain in theRUNNINGstate while the container instances are in theDRAININGstate. You can't specify a custommaximumPercentvalue for a service that uses either the blue/green (CODE_DEPLOY) orEXTERNALdeployment types and has tasks that use the EC2 launch type. If the service uses either the blue/green (CODE_DEPLOY) orEXTERNALdeployment types, and the tasks in the service use the Fargate launch type, the maximum percent value is not used. The value is still returned when describing your service.
- minimumHealthy IntegerPercent 
- If a service is using the rolling update ( - ECS) deployment type, the- minimumHealthyPercentrepresents a lower limit on the number of your service's tasks that must remain in the- RUNNINGstate during a deployment, as a percentage of the- desiredCount(rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a- desiredCountof four tasks and a- minimumHealthyPercentof 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. If any tasks are unhealthy and if- maximumPercentdoesn't allow the Amazon ECS scheduler to start replacement tasks, the scheduler stops the unhealthy tasks one-by-one — using the- minimumHealthyPercentas a constraint — to clear up capacity to launch replacement tasks. For more information about how the scheduler replaces unhealthy tasks, see Amazon ECS services. For services that do not use a load balancer, the following should be noted:- A service is considered healthy if all essential containers within the tasks in the service pass their health checks.
- If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a RUNNINGstate before the task is counted towards the minimum healthy percent total.
- If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings.
 - For services that do use a load balancer, the following should be noted: - If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.
- If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.
 - The default value for a replica service for - minimumHealthyPercentis 100%. The default- minimumHealthyPercentvalue for a service using the- DAEMONservice schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console. The minimum number of healthy tasks during a deployment is the- desiredCountmultiplied by the- minimumHealthyPercent/100, rounded up to the nearest integer value. If a service is using either the blue/green (- CODE_DEPLOY) or- EXTERNALdeployment types and is running tasks that use the EC2 launch type, the minimum healthy percent value is set to the default value. The minimum healthy percent value is used to define the lower limit on the number of the tasks in the service that remain in the- RUNNINGstate while the container instances are in the- DRAININGstate. You can't specify a custom- minimumHealthyPercentvalue for a service that uses either the blue/green (- CODE_DEPLOY) or- EXTERNALdeployment types and has tasks that use the EC2 launch type. If a service is using either the blue/green (- CODE_DEPLOY) or- EXTERNALdeployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.
- strategy
ServiceDeployment Configuration Strategy 
- The deployment strategy for the service. Choose from these valid values:- ROLLING- When you create a service which uses the rolling update (- ROLLING) deployment strategy, the Amazon ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that Amazon ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration.
- BLUE_GREEN- A blue/green deployment strategy (- BLUE_GREEN) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With Amazon ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed.
 
- alarms
ServiceDeployment Alarms 
- Information about the CloudWatch alarms.
- bakeTime numberIn Minutes 
- The duration when both blue and green service revisions are running simultaneously after the production traffic has shifted.
The following rules apply when you don't specify a value:- For rolling deployments, the value is set to 3 hours (180 minutes).
- When you use an external deployment controller (EXTERNAL), or the ACD blue/green deployment controller (CODE_DEPLOY), the value is set to 3 hours (180 minutes).
- For all other cases, the value is set to 36 hours (2160 minutes).
 
- canaryConfiguration any
- deploymentCircuit ServiceBreaker Deployment Circuit Breaker 
- The deployment circuit breaker can only be used for services using the rolling update (ECS) deployment type. The deployment circuit breaker determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see Rolling update in the Amazon Elastic Container Service Developer Guide
- lifecycleHooks ServiceDeployment Lifecycle Hook[] 
- An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle.
- linearConfiguration any
- maximumPercent number
- If a service is using the rolling update (ECS) deployment type, themaximumPercentparameter represents an upper limit on the number of your service's tasks that are allowed in theRUNNINGorPENDINGstate during a deployment, as a percentage of thedesiredCount(rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using theREPLICAservice scheduler and has adesiredCountof four tasks and amaximumPercentvalue of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The defaultmaximumPercentvalue for a service using theREPLICAservice scheduler is 200%. The Amazon ECS scheduler uses this parameter to replace unhealthy tasks by starting replacement tasks first and then stopping the unhealthy tasks, as long as cluster resources for starting replacement tasks are available. For more information about how the scheduler replaces unhealthy tasks, see Amazon ECS services. If a service is using either the blue/green (CODE_DEPLOY) orEXTERNALdeployment types, and tasks in the service use the EC2 launch type, the maximum percent value is set to the default value. The maximum percent value is used to define the upper limit on the number of the tasks in the service that remain in theRUNNINGstate while the container instances are in theDRAININGstate. You can't specify a custommaximumPercentvalue for a service that uses either the blue/green (CODE_DEPLOY) orEXTERNALdeployment types and has tasks that use the EC2 launch type. If the service uses either the blue/green (CODE_DEPLOY) orEXTERNALdeployment types, and the tasks in the service use the Fargate launch type, the maximum percent value is not used. The value is still returned when describing your service.
- minimumHealthy numberPercent 
- If a service is using the rolling update ( - ECS) deployment type, the- minimumHealthyPercentrepresents a lower limit on the number of your service's tasks that must remain in the- RUNNINGstate during a deployment, as a percentage of the- desiredCount(rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a- desiredCountof four tasks and a- minimumHealthyPercentof 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. If any tasks are unhealthy and if- maximumPercentdoesn't allow the Amazon ECS scheduler to start replacement tasks, the scheduler stops the unhealthy tasks one-by-one — using the- minimumHealthyPercentas a constraint — to clear up capacity to launch replacement tasks. For more information about how the scheduler replaces unhealthy tasks, see Amazon ECS services. For services that do not use a load balancer, the following should be noted:- A service is considered healthy if all essential containers within the tasks in the service pass their health checks.
- If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a RUNNINGstate before the task is counted towards the minimum healthy percent total.
- If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings.
 - For services that do use a load balancer, the following should be noted: - If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.
- If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.
 - The default value for a replica service for - minimumHealthyPercentis 100%. The default- minimumHealthyPercentvalue for a service using the- DAEMONservice schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console. The minimum number of healthy tasks during a deployment is the- desiredCountmultiplied by the- minimumHealthyPercent/100, rounded up to the nearest integer value. If a service is using either the blue/green (- CODE_DEPLOY) or- EXTERNALdeployment types and is running tasks that use the EC2 launch type, the minimum healthy percent value is set to the default value. The minimum healthy percent value is used to define the lower limit on the number of the tasks in the service that remain in the- RUNNINGstate while the container instances are in the- DRAININGstate. You can't specify a custom- minimumHealthyPercentvalue for a service that uses either the blue/green (- CODE_DEPLOY) or- EXTERNALdeployment types and has tasks that use the EC2 launch type. If a service is using either the blue/green (- CODE_DEPLOY) or- EXTERNALdeployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.
- strategy
ServiceDeployment Configuration Strategy 
- The deployment strategy for the service. Choose from these valid values:- ROLLING- When you create a service which uses the rolling update (- ROLLING) deployment strategy, the Amazon ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that Amazon ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration.
- BLUE_GREEN- A blue/green deployment strategy (- BLUE_GREEN) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With Amazon ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed.
 
- alarms
ServiceDeployment Alarms 
- Information about the CloudWatch alarms.
- bake_time_ intin_ minutes 
- The duration when both blue and green service revisions are running simultaneously after the production traffic has shifted.
The following rules apply when you don't specify a value:- For rolling deployments, the value is set to 3 hours (180 minutes).
- When you use an external deployment controller (EXTERNAL), or the ACD blue/green deployment controller (CODE_DEPLOY), the value is set to 3 hours (180 minutes).
- For all other cases, the value is set to 36 hours (2160 minutes).
 
- canary_configuration Any
- deployment_circuit_ Servicebreaker Deployment Circuit Breaker 
- The deployment circuit breaker can only be used for services using the rolling update (ECS) deployment type. The deployment circuit breaker determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see Rolling update in the Amazon Elastic Container Service Developer Guide
- lifecycle_hooks Sequence[ServiceDeployment Lifecycle Hook] 
- An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle.
- linear_configuration Any
- maximum_percent int
- If a service is using the rolling update (ECS) deployment type, themaximumPercentparameter represents an upper limit on the number of your service's tasks that are allowed in theRUNNINGorPENDINGstate during a deployment, as a percentage of thedesiredCount(rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using theREPLICAservice scheduler and has adesiredCountof four tasks and amaximumPercentvalue of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The defaultmaximumPercentvalue for a service using theREPLICAservice scheduler is 200%. The Amazon ECS scheduler uses this parameter to replace unhealthy tasks by starting replacement tasks first and then stopping the unhealthy tasks, as long as cluster resources for starting replacement tasks are available. For more information about how the scheduler replaces unhealthy tasks, see Amazon ECS services. If a service is using either the blue/green (CODE_DEPLOY) orEXTERNALdeployment types, and tasks in the service use the EC2 launch type, the maximum percent value is set to the default value. The maximum percent value is used to define the upper limit on the number of the tasks in the service that remain in theRUNNINGstate while the container instances are in theDRAININGstate. You can't specify a custommaximumPercentvalue for a service that uses either the blue/green (CODE_DEPLOY) orEXTERNALdeployment types and has tasks that use the EC2 launch type. If the service uses either the blue/green (CODE_DEPLOY) orEXTERNALdeployment types, and the tasks in the service use the Fargate launch type, the maximum percent value is not used. The value is still returned when describing your service.
- minimum_healthy_ intpercent 
- If a service is using the rolling update ( - ECS) deployment type, the- minimumHealthyPercentrepresents a lower limit on the number of your service's tasks that must remain in the- RUNNINGstate during a deployment, as a percentage of the- desiredCount(rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a- desiredCountof four tasks and a- minimumHealthyPercentof 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. If any tasks are unhealthy and if- maximumPercentdoesn't allow the Amazon ECS scheduler to start replacement tasks, the scheduler stops the unhealthy tasks one-by-one — using the- minimumHealthyPercentas a constraint — to clear up capacity to launch replacement tasks. For more information about how the scheduler replaces unhealthy tasks, see Amazon ECS services. For services that do not use a load balancer, the following should be noted:- A service is considered healthy if all essential containers within the tasks in the service pass their health checks.
- If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a RUNNINGstate before the task is counted towards the minimum healthy percent total.
- If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings.
 - For services that do use a load balancer, the following should be noted: - If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.
- If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.
 - The default value for a replica service for - minimumHealthyPercentis 100%. The default- minimumHealthyPercentvalue for a service using the- DAEMONservice schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console. The minimum number of healthy tasks during a deployment is the- desiredCountmultiplied by the- minimumHealthyPercent/100, rounded up to the nearest integer value. If a service is using either the blue/green (- CODE_DEPLOY) or- EXTERNALdeployment types and is running tasks that use the EC2 launch type, the minimum healthy percent value is set to the default value. The minimum healthy percent value is used to define the lower limit on the number of the tasks in the service that remain in the- RUNNINGstate while the container instances are in the- DRAININGstate. You can't specify a custom- minimumHealthyPercentvalue for a service that uses either the blue/green (- CODE_DEPLOY) or- EXTERNALdeployment types and has tasks that use the EC2 launch type. If a service is using either the blue/green (- CODE_DEPLOY) or- EXTERNALdeployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.
- strategy
ServiceDeployment Configuration Strategy 
- The deployment strategy for the service. Choose from these valid values:- ROLLING- When you create a service which uses the rolling update (- ROLLING) deployment strategy, the Amazon ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that Amazon ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration.
- BLUE_GREEN- A blue/green deployment strategy (- BLUE_GREEN) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With Amazon ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed.
 
- alarms Property Map
- Information about the CloudWatch alarms.
- bakeTime NumberIn Minutes 
- The duration when both blue and green service revisions are running simultaneously after the production traffic has shifted.
The following rules apply when you don't specify a value:- For rolling deployments, the value is set to 3 hours (180 minutes).
- When you use an external deployment controller (EXTERNAL), or the ACD blue/green deployment controller (CODE_DEPLOY), the value is set to 3 hours (180 minutes).
- For all other cases, the value is set to 36 hours (2160 minutes).
 
- canaryConfiguration Any
- deploymentCircuit Property MapBreaker 
- The deployment circuit breaker can only be used for services using the rolling update (ECS) deployment type. The deployment circuit breaker determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see Rolling update in the Amazon Elastic Container Service Developer Guide
- lifecycleHooks List<Property Map>
- An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle.
- linearConfiguration Any
- maximumPercent Number
- If a service is using the rolling update (ECS) deployment type, themaximumPercentparameter represents an upper limit on the number of your service's tasks that are allowed in theRUNNINGorPENDINGstate during a deployment, as a percentage of thedesiredCount(rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using theREPLICAservice scheduler and has adesiredCountof four tasks and amaximumPercentvalue of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The defaultmaximumPercentvalue for a service using theREPLICAservice scheduler is 200%. The Amazon ECS scheduler uses this parameter to replace unhealthy tasks by starting replacement tasks first and then stopping the unhealthy tasks, as long as cluster resources for starting replacement tasks are available. For more information about how the scheduler replaces unhealthy tasks, see Amazon ECS services. If a service is using either the blue/green (CODE_DEPLOY) orEXTERNALdeployment types, and tasks in the service use the EC2 launch type, the maximum percent value is set to the default value. The maximum percent value is used to define the upper limit on the number of the tasks in the service that remain in theRUNNINGstate while the container instances are in theDRAININGstate. You can't specify a custommaximumPercentvalue for a service that uses either the blue/green (CODE_DEPLOY) orEXTERNALdeployment types and has tasks that use the EC2 launch type. If the service uses either the blue/green (CODE_DEPLOY) orEXTERNALdeployment types, and the tasks in the service use the Fargate launch type, the maximum percent value is not used. The value is still returned when describing your service.
- minimumHealthy NumberPercent 
- If a service is using the rolling update ( - ECS) deployment type, the- minimumHealthyPercentrepresents a lower limit on the number of your service's tasks that must remain in the- RUNNINGstate during a deployment, as a percentage of the- desiredCount(rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a- desiredCountof four tasks and a- minimumHealthyPercentof 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. If any tasks are unhealthy and if- maximumPercentdoesn't allow the Amazon ECS scheduler to start replacement tasks, the scheduler stops the unhealthy tasks one-by-one — using the- minimumHealthyPercentas a constraint — to clear up capacity to launch replacement tasks. For more information about how the scheduler replaces unhealthy tasks, see Amazon ECS services. For services that do not use a load balancer, the following should be noted:- A service is considered healthy if all essential containers within the tasks in the service pass their health checks.
- If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a RUNNINGstate before the task is counted towards the minimum healthy percent total.
- If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings.
 - For services that do use a load balancer, the following should be noted: - If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.
- If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.
 - The default value for a replica service for - minimumHealthyPercentis 100%. The default- minimumHealthyPercentvalue for a service using the- DAEMONservice schedule is 0% for the CLI, the AWS SDKs, and the APIs and 50% for the AWS Management Console. The minimum number of healthy tasks during a deployment is the- desiredCountmultiplied by the- minimumHealthyPercent/100, rounded up to the nearest integer value. If a service is using either the blue/green (- CODE_DEPLOY) or- EXTERNALdeployment types and is running tasks that use the EC2 launch type, the minimum healthy percent value is set to the default value. The minimum healthy percent value is used to define the lower limit on the number of the tasks in the service that remain in the- RUNNINGstate while the container instances are in the- DRAININGstate. You can't specify a custom- minimumHealthyPercentvalue for a service that uses either the blue/green (- CODE_DEPLOY) or- EXTERNALdeployment types and has tasks that use the EC2 launch type. If a service is using either the blue/green (- CODE_DEPLOY) or- EXTERNALdeployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.
- strategy "ROLLING" | "BLUE_GREEN" | "LINEAR" | "CANARY"
- The deployment strategy for the service. Choose from these valid values:- ROLLING- When you create a service which uses the rolling update (- ROLLING) deployment strategy, the Amazon ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that Amazon ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration.
- BLUE_GREEN- A blue/green deployment strategy (- BLUE_GREEN) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With Amazon ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed.
 
ServiceDeploymentConfigurationStrategy   
ServiceDeploymentController  
- Type
Pulumi.Aws Native. Ecs. Service Deployment Controller Type 
- The deployment controller type to use. The deployment controller is the mechanism that determines how tasks are deployed for your service. The valid options are: - ECS
When you create a service which uses the ECSdeployment controller, you can choose between the following deployment strategies:
- ROLLING: When you create a service which uses the rolling update (- ROLLING) deployment strategy, the ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration. Rolling update deployments are best suited for the following scenarios:
- Gradual service updates: You need to update your service incrementally without taking the entire service offline at once.
- Limited resource requirements: You want to avoid the additional resource costs of running two complete environments simultaneously (as required by blue/green deployments).
- Acceptable deployment time: Your application can tolerate a longer deployment process, as rolling updates replace tasks one by one.
- No need for instant roll back: Your service can tolerate a rollback process that takes minutes rather than seconds.
- Simple deployment process: You prefer a straightforward deployment approach without the complexity of managing multiple environments, target groups, and listeners.
- No load balancer requirement: Your service doesn't use or require a load balancer, ALB, NLB, or Service Connect (which are required for blue/green deployments).
- Stateful applications: Your application maintains state that makes it difficult to run two parallel environments.
- Cost sensitivity: You want to minimize deployment costs by not running duplicate environments during deployment.
 - Rolling updates are the default deployment strategy for services and provide a balance between deployment safety and resource efficiency for many common application scenarios. - BLUE_GREEN: A blue/green deployment strategy (- BLUE_GREEN) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed. ECS blue/green deployments are best suited for the following scenarios:
- Service validation: When you need to validate new service revisions before directing production traffic to them 
- Zero downtime: When your service requires zero-downtime deployments 
- Instant roll back: When you need the ability to quickly roll back if issues are detected 
- Load balancer requirement: When your service uses ALB, NLB, or Service Connect 
- External Use a third-party deployment controller. 
- Blue/green deployment (powered by ACD) ACD installs an updated version of the application as a new replacement task set and reroutes production traffic from the original application task set to the replacement task set. The original task set is terminated after a successful deployment. Use this deployment controller to verify a new deployment of a service before sending production traffic to it. 
 - When updating the deployment controller for a service, consider the following depending on the type of migration you're performing. - If you have a template that contains the EXTERNALdeployment controller information as well asTaskSetandPrimaryTaskSetresources, and you remove the task set resources from the template when updating fromEXTERNALtoECS, theDescribeTaskSetandDeleteTaskSetAPI calls will return a 400 error after the deployment controller is updated toECS. This results in a delete failure on the task set resources, even though the stack transitions toUPDATE_COMPLETEstatus. For more information, see Resource removed from stack but not deleted in the CFNlong User Guide. To fix this issue, delete the task sets directly using the ECSDeleteTaskSetAPI. For more information about how to delete a task set, see DeleteTaskSet in the ECSlong API Reference.
- If you're migrating from CODE_DEPLOYtoECSwith a new task definition and CFN performs a rollback operation, the ECSUpdateServicerequest fails with the following error: Resource handler returned message: "Invalid request provided: Unable to update task definition on services with a CODE_DEPLOY deployment controller.
- After a successful migration from ECStoEXTERNALdeployment controller, you need to manually remove theACTIVEtask set, because ECS no longer manages the deployment. For information about how to delete a task set, see DeleteTaskSet in the ECSlong API Reference.
 
- ECS
When you create a service which uses the 
- Type
ServiceDeployment Controller Type 
- The deployment controller type to use. The deployment controller is the mechanism that determines how tasks are deployed for your service. The valid options are: - ECS
When you create a service which uses the ECSdeployment controller, you can choose between the following deployment strategies:
- ROLLING: When you create a service which uses the rolling update (- ROLLING) deployment strategy, the ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration. Rolling update deployments are best suited for the following scenarios:
- Gradual service updates: You need to update your service incrementally without taking the entire service offline at once.
- Limited resource requirements: You want to avoid the additional resource costs of running two complete environments simultaneously (as required by blue/green deployments).
- Acceptable deployment time: Your application can tolerate a longer deployment process, as rolling updates replace tasks one by one.
- No need for instant roll back: Your service can tolerate a rollback process that takes minutes rather than seconds.
- Simple deployment process: You prefer a straightforward deployment approach without the complexity of managing multiple environments, target groups, and listeners.
- No load balancer requirement: Your service doesn't use or require a load balancer, ALB, NLB, or Service Connect (which are required for blue/green deployments).
- Stateful applications: Your application maintains state that makes it difficult to run two parallel environments.
- Cost sensitivity: You want to minimize deployment costs by not running duplicate environments during deployment.
 - Rolling updates are the default deployment strategy for services and provide a balance between deployment safety and resource efficiency for many common application scenarios. - BLUE_GREEN: A blue/green deployment strategy (- BLUE_GREEN) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed. ECS blue/green deployments are best suited for the following scenarios:
- Service validation: When you need to validate new service revisions before directing production traffic to them 
- Zero downtime: When your service requires zero-downtime deployments 
- Instant roll back: When you need the ability to quickly roll back if issues are detected 
- Load balancer requirement: When your service uses ALB, NLB, or Service Connect 
- External Use a third-party deployment controller. 
- Blue/green deployment (powered by ACD) ACD installs an updated version of the application as a new replacement task set and reroutes production traffic from the original application task set to the replacement task set. The original task set is terminated after a successful deployment. Use this deployment controller to verify a new deployment of a service before sending production traffic to it. 
 - When updating the deployment controller for a service, consider the following depending on the type of migration you're performing. - If you have a template that contains the EXTERNALdeployment controller information as well asTaskSetandPrimaryTaskSetresources, and you remove the task set resources from the template when updating fromEXTERNALtoECS, theDescribeTaskSetandDeleteTaskSetAPI calls will return a 400 error after the deployment controller is updated toECS. This results in a delete failure on the task set resources, even though the stack transitions toUPDATE_COMPLETEstatus. For more information, see Resource removed from stack but not deleted in the CFNlong User Guide. To fix this issue, delete the task sets directly using the ECSDeleteTaskSetAPI. For more information about how to delete a task set, see DeleteTaskSet in the ECSlong API Reference.
- If you're migrating from CODE_DEPLOYtoECSwith a new task definition and CFN performs a rollback operation, the ECSUpdateServicerequest fails with the following error: Resource handler returned message: "Invalid request provided: Unable to update task definition on services with a CODE_DEPLOY deployment controller.
- After a successful migration from ECStoEXTERNALdeployment controller, you need to manually remove theACTIVEtask set, because ECS no longer manages the deployment. For information about how to delete a task set, see DeleteTaskSet in the ECSlong API Reference.
 
- ECS
When you create a service which uses the 
- type
ServiceDeployment Controller Type 
- The deployment controller type to use. The deployment controller is the mechanism that determines how tasks are deployed for your service. The valid options are: - ECS
When you create a service which uses the ECSdeployment controller, you can choose between the following deployment strategies:
- ROLLING: When you create a service which uses the rolling update (- ROLLING) deployment strategy, the ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration. Rolling update deployments are best suited for the following scenarios:
- Gradual service updates: You need to update your service incrementally without taking the entire service offline at once.
- Limited resource requirements: You want to avoid the additional resource costs of running two complete environments simultaneously (as required by blue/green deployments).
- Acceptable deployment time: Your application can tolerate a longer deployment process, as rolling updates replace tasks one by one.
- No need for instant roll back: Your service can tolerate a rollback process that takes minutes rather than seconds.
- Simple deployment process: You prefer a straightforward deployment approach without the complexity of managing multiple environments, target groups, and listeners.
- No load balancer requirement: Your service doesn't use or require a load balancer, ALB, NLB, or Service Connect (which are required for blue/green deployments).
- Stateful applications: Your application maintains state that makes it difficult to run two parallel environments.
- Cost sensitivity: You want to minimize deployment costs by not running duplicate environments during deployment.
 - Rolling updates are the default deployment strategy for services and provide a balance between deployment safety and resource efficiency for many common application scenarios. - BLUE_GREEN: A blue/green deployment strategy (- BLUE_GREEN) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed. ECS blue/green deployments are best suited for the following scenarios:
- Service validation: When you need to validate new service revisions before directing production traffic to them 
- Zero downtime: When your service requires zero-downtime deployments 
- Instant roll back: When you need the ability to quickly roll back if issues are detected 
- Load balancer requirement: When your service uses ALB, NLB, or Service Connect 
- External Use a third-party deployment controller. 
- Blue/green deployment (powered by ACD) ACD installs an updated version of the application as a new replacement task set and reroutes production traffic from the original application task set to the replacement task set. The original task set is terminated after a successful deployment. Use this deployment controller to verify a new deployment of a service before sending production traffic to it. 
 - When updating the deployment controller for a service, consider the following depending on the type of migration you're performing. - If you have a template that contains the EXTERNALdeployment controller information as well asTaskSetandPrimaryTaskSetresources, and you remove the task set resources from the template when updating fromEXTERNALtoECS, theDescribeTaskSetandDeleteTaskSetAPI calls will return a 400 error after the deployment controller is updated toECS. This results in a delete failure on the task set resources, even though the stack transitions toUPDATE_COMPLETEstatus. For more information, see Resource removed from stack but not deleted in the CFNlong User Guide. To fix this issue, delete the task sets directly using the ECSDeleteTaskSetAPI. For more information about how to delete a task set, see DeleteTaskSet in the ECSlong API Reference.
- If you're migrating from CODE_DEPLOYtoECSwith a new task definition and CFN performs a rollback operation, the ECSUpdateServicerequest fails with the following error: Resource handler returned message: "Invalid request provided: Unable to update task definition on services with a CODE_DEPLOY deployment controller.
- After a successful migration from ECStoEXTERNALdeployment controller, you need to manually remove theACTIVEtask set, because ECS no longer manages the deployment. For information about how to delete a task set, see DeleteTaskSet in the ECSlong API Reference.
 
- ECS
When you create a service which uses the 
- type
ServiceDeployment Controller Type 
- The deployment controller type to use. The deployment controller is the mechanism that determines how tasks are deployed for your service. The valid options are: - ECS
When you create a service which uses the ECSdeployment controller, you can choose between the following deployment strategies:
- ROLLING: When you create a service which uses the rolling update (- ROLLING) deployment strategy, the ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration. Rolling update deployments are best suited for the following scenarios:
- Gradual service updates: You need to update your service incrementally without taking the entire service offline at once.
- Limited resource requirements: You want to avoid the additional resource costs of running two complete environments simultaneously (as required by blue/green deployments).
- Acceptable deployment time: Your application can tolerate a longer deployment process, as rolling updates replace tasks one by one.
- No need for instant roll back: Your service can tolerate a rollback process that takes minutes rather than seconds.
- Simple deployment process: You prefer a straightforward deployment approach without the complexity of managing multiple environments, target groups, and listeners.
- No load balancer requirement: Your service doesn't use or require a load balancer, ALB, NLB, or Service Connect (which are required for blue/green deployments).
- Stateful applications: Your application maintains state that makes it difficult to run two parallel environments.
- Cost sensitivity: You want to minimize deployment costs by not running duplicate environments during deployment.
 - Rolling updates are the default deployment strategy for services and provide a balance between deployment safety and resource efficiency for many common application scenarios. - BLUE_GREEN: A blue/green deployment strategy (- BLUE_GREEN) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed. ECS blue/green deployments are best suited for the following scenarios:
- Service validation: When you need to validate new service revisions before directing production traffic to them 
- Zero downtime: When your service requires zero-downtime deployments 
- Instant roll back: When you need the ability to quickly roll back if issues are detected 
- Load balancer requirement: When your service uses ALB, NLB, or Service Connect 
- External Use a third-party deployment controller. 
- Blue/green deployment (powered by ACD) ACD installs an updated version of the application as a new replacement task set and reroutes production traffic from the original application task set to the replacement task set. The original task set is terminated after a successful deployment. Use this deployment controller to verify a new deployment of a service before sending production traffic to it. 
 - When updating the deployment controller for a service, consider the following depending on the type of migration you're performing. - If you have a template that contains the EXTERNALdeployment controller information as well asTaskSetandPrimaryTaskSetresources, and you remove the task set resources from the template when updating fromEXTERNALtoECS, theDescribeTaskSetandDeleteTaskSetAPI calls will return a 400 error after the deployment controller is updated toECS. This results in a delete failure on the task set resources, even though the stack transitions toUPDATE_COMPLETEstatus. For more information, see Resource removed from stack but not deleted in the CFNlong User Guide. To fix this issue, delete the task sets directly using the ECSDeleteTaskSetAPI. For more information about how to delete a task set, see DeleteTaskSet in the ECSlong API Reference.
- If you're migrating from CODE_DEPLOYtoECSwith a new task definition and CFN performs a rollback operation, the ECSUpdateServicerequest fails with the following error: Resource handler returned message: "Invalid request provided: Unable to update task definition on services with a CODE_DEPLOY deployment controller.
- After a successful migration from ECStoEXTERNALdeployment controller, you need to manually remove theACTIVEtask set, because ECS no longer manages the deployment. For information about how to delete a task set, see DeleteTaskSet in the ECSlong API Reference.
 
- ECS
When you create a service which uses the 
- type
ServiceDeployment Controller Type 
- The deployment controller type to use. The deployment controller is the mechanism that determines how tasks are deployed for your service. The valid options are: - ECS
When you create a service which uses the ECSdeployment controller, you can choose between the following deployment strategies:
- ROLLING: When you create a service which uses the rolling update (- ROLLING) deployment strategy, the ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration. Rolling update deployments are best suited for the following scenarios:
- Gradual service updates: You need to update your service incrementally without taking the entire service offline at once.
- Limited resource requirements: You want to avoid the additional resource costs of running two complete environments simultaneously (as required by blue/green deployments).
- Acceptable deployment time: Your application can tolerate a longer deployment process, as rolling updates replace tasks one by one.
- No need for instant roll back: Your service can tolerate a rollback process that takes minutes rather than seconds.
- Simple deployment process: You prefer a straightforward deployment approach without the complexity of managing multiple environments, target groups, and listeners.
- No load balancer requirement: Your service doesn't use or require a load balancer, ALB, NLB, or Service Connect (which are required for blue/green deployments).
- Stateful applications: Your application maintains state that makes it difficult to run two parallel environments.
- Cost sensitivity: You want to minimize deployment costs by not running duplicate environments during deployment.
 - Rolling updates are the default deployment strategy for services and provide a balance between deployment safety and resource efficiency for many common application scenarios. - BLUE_GREEN: A blue/green deployment strategy (- BLUE_GREEN) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed. ECS blue/green deployments are best suited for the following scenarios:
- Service validation: When you need to validate new service revisions before directing production traffic to them 
- Zero downtime: When your service requires zero-downtime deployments 
- Instant roll back: When you need the ability to quickly roll back if issues are detected 
- Load balancer requirement: When your service uses ALB, NLB, or Service Connect 
- External Use a third-party deployment controller. 
- Blue/green deployment (powered by ACD) ACD installs an updated version of the application as a new replacement task set and reroutes production traffic from the original application task set to the replacement task set. The original task set is terminated after a successful deployment. Use this deployment controller to verify a new deployment of a service before sending production traffic to it. 
 - When updating the deployment controller for a service, consider the following depending on the type of migration you're performing. - If you have a template that contains the EXTERNALdeployment controller information as well asTaskSetandPrimaryTaskSetresources, and you remove the task set resources from the template when updating fromEXTERNALtoECS, theDescribeTaskSetandDeleteTaskSetAPI calls will return a 400 error after the deployment controller is updated toECS. This results in a delete failure on the task set resources, even though the stack transitions toUPDATE_COMPLETEstatus. For more information, see Resource removed from stack but not deleted in the CFNlong User Guide. To fix this issue, delete the task sets directly using the ECSDeleteTaskSetAPI. For more information about how to delete a task set, see DeleteTaskSet in the ECSlong API Reference.
- If you're migrating from CODE_DEPLOYtoECSwith a new task definition and CFN performs a rollback operation, the ECSUpdateServicerequest fails with the following error: Resource handler returned message: "Invalid request provided: Unable to update task definition on services with a CODE_DEPLOY deployment controller.
- After a successful migration from ECStoEXTERNALdeployment controller, you need to manually remove theACTIVEtask set, because ECS no longer manages the deployment. For information about how to delete a task set, see DeleteTaskSet in the ECSlong API Reference.
 
- ECS
When you create a service which uses the 
- type "CODE_DEPLOY" | "ECS" | "EXTERNAL"
- The deployment controller type to use. The deployment controller is the mechanism that determines how tasks are deployed for your service. The valid options are: - ECS
When you create a service which uses the ECSdeployment controller, you can choose between the following deployment strategies:
- ROLLING: When you create a service which uses the rolling update (- ROLLING) deployment strategy, the ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration. Rolling update deployments are best suited for the following scenarios:
- Gradual service updates: You need to update your service incrementally without taking the entire service offline at once.
- Limited resource requirements: You want to avoid the additional resource costs of running two complete environments simultaneously (as required by blue/green deployments).
- Acceptable deployment time: Your application can tolerate a longer deployment process, as rolling updates replace tasks one by one.
- No need for instant roll back: Your service can tolerate a rollback process that takes minutes rather than seconds.
- Simple deployment process: You prefer a straightforward deployment approach without the complexity of managing multiple environments, target groups, and listeners.
- No load balancer requirement: Your service doesn't use or require a load balancer, ALB, NLB, or Service Connect (which are required for blue/green deployments).
- Stateful applications: Your application maintains state that makes it difficult to run two parallel environments.
- Cost sensitivity: You want to minimize deployment costs by not running duplicate environments during deployment.
 - Rolling updates are the default deployment strategy for services and provide a balance between deployment safety and resource efficiency for many common application scenarios. - BLUE_GREEN: A blue/green deployment strategy (- BLUE_GREEN) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed. ECS blue/green deployments are best suited for the following scenarios:
- Service validation: When you need to validate new service revisions before directing production traffic to them 
- Zero downtime: When your service requires zero-downtime deployments 
- Instant roll back: When you need the ability to quickly roll back if issues are detected 
- Load balancer requirement: When your service uses ALB, NLB, or Service Connect 
- External Use a third-party deployment controller. 
- Blue/green deployment (powered by ACD) ACD installs an updated version of the application as a new replacement task set and reroutes production traffic from the original application task set to the replacement task set. The original task set is terminated after a successful deployment. Use this deployment controller to verify a new deployment of a service before sending production traffic to it. 
 - When updating the deployment controller for a service, consider the following depending on the type of migration you're performing. - If you have a template that contains the EXTERNALdeployment controller information as well asTaskSetandPrimaryTaskSetresources, and you remove the task set resources from the template when updating fromEXTERNALtoECS, theDescribeTaskSetandDeleteTaskSetAPI calls will return a 400 error after the deployment controller is updated toECS. This results in a delete failure on the task set resources, even though the stack transitions toUPDATE_COMPLETEstatus. For more information, see Resource removed from stack but not deleted in the CFNlong User Guide. To fix this issue, delete the task sets directly using the ECSDeleteTaskSetAPI. For more information about how to delete a task set, see DeleteTaskSet in the ECSlong API Reference.
- If you're migrating from CODE_DEPLOYtoECSwith a new task definition and CFN performs a rollback operation, the ECSUpdateServicerequest fails with the following error: Resource handler returned message: "Invalid request provided: Unable to update task definition on services with a CODE_DEPLOY deployment controller.
- After a successful migration from ECStoEXTERNALdeployment controller, you need to manually remove theACTIVEtask set, because ECS no longer manages the deployment. For information about how to delete a task set, see DeleteTaskSet in the ECSlong API Reference.
 
- ECS
When you create a service which uses the 
ServiceDeploymentControllerType   
ServiceDeploymentLifecycleHook   
- HookTarget stringArn 
- The Amazon Resource Name (ARN) of the hook target. Currently, only Lambda function ARNs are supported. You must provide this parameter when configuring a deployment lifecycle hook.
- LifecycleStages List<Pulumi.Aws Native. Ecs. Service Deployment Lifecycle Hook Lifecycle Stages Item> 
- The lifecycle stages at which to run the hook. Choose from these valid values: - RECONCILE_SERVICE The reconciliation stage that only happens when you start a new service deployment with more than 1 service revision in an ACTIVE state. You can use a lifecycle hook for this stage.
- PRE_SCALE_UP The green service revision has not started. The blue service revision is handling 100% of the production traffic. There is no test traffic. You can use a lifecycle hook for this stage.
- POST_SCALE_UP The green service revision has started. The blue service revision is handling 100% of the production traffic. There is no test traffic. You can use a lifecycle hook for this stage.
- TEST_TRAFFIC_SHIFT The blue and green service revisions are running. The blue service revision handles 100% of the production traffic. The green service revision is migrating from 0% to 100% of test traffic. You can use a lifecycle hook for this stage.
- POST_TEST_TRAFFIC_SHIFT The test traffic shift is complete. The green service revision handles 100% of the test traffic. You can use a lifecycle hook for this stage.
- PRODUCTION_TRAFFIC_SHIFT Production traffic is shifting to the green service revision. The green service revision is migrating from 0% to 100% of production traffic. You can use a lifecycle hook for this stage.
- POST_PRODUCTION_TRAFFIC_SHIFT The production traffic shift is complete. You can use a lifecycle hook for this stage.
 - You must provide this parameter when configuring a deployment lifecycle hook. 
- RoleArn string
- The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call Lambda functions on your behalf. For more information, see Permissions required for Lambda functions in Amazon ECS blue/green deployments in the Amazon Elastic Container Service Developer Guide.
- HookDetails object
- Use this field to specify custom parameters that ECS passes to your hook target invocations (such as a Lambda function). This field must be a JSON object as a string.
- HookTarget stringArn 
- The Amazon Resource Name (ARN) of the hook target. Currently, only Lambda function ARNs are supported. You must provide this parameter when configuring a deployment lifecycle hook.
- LifecycleStages []ServiceDeployment Lifecycle Hook Lifecycle Stages Item 
- The lifecycle stages at which to run the hook. Choose from these valid values: - RECONCILE_SERVICE The reconciliation stage that only happens when you start a new service deployment with more than 1 service revision in an ACTIVE state. You can use a lifecycle hook for this stage.
- PRE_SCALE_UP The green service revision has not started. The blue service revision is handling 100% of the production traffic. There is no test traffic. You can use a lifecycle hook for this stage.
- POST_SCALE_UP The green service revision has started. The blue service revision is handling 100% of the production traffic. There is no test traffic. You can use a lifecycle hook for this stage.
- TEST_TRAFFIC_SHIFT The blue and green service revisions are running. The blue service revision handles 100% of the production traffic. The green service revision is migrating from 0% to 100% of test traffic. You can use a lifecycle hook for this stage.
- POST_TEST_TRAFFIC_SHIFT The test traffic shift is complete. The green service revision handles 100% of the test traffic. You can use a lifecycle hook for this stage.
- PRODUCTION_TRAFFIC_SHIFT Production traffic is shifting to the green service revision. The green service revision is migrating from 0% to 100% of production traffic. You can use a lifecycle hook for this stage.
- POST_PRODUCTION_TRAFFIC_SHIFT The production traffic shift is complete. You can use a lifecycle hook for this stage.
 - You must provide this parameter when configuring a deployment lifecycle hook. 
- RoleArn string
- The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call Lambda functions on your behalf. For more information, see Permissions required for Lambda functions in Amazon ECS blue/green deployments in the Amazon Elastic Container Service Developer Guide.
- HookDetails interface{}
- Use this field to specify custom parameters that ECS passes to your hook target invocations (such as a Lambda function). This field must be a JSON object as a string.
- hookTarget StringArn 
- The Amazon Resource Name (ARN) of the hook target. Currently, only Lambda function ARNs are supported. You must provide this parameter when configuring a deployment lifecycle hook.
- lifecycleStages List<ServiceDeployment Lifecycle Hook Lifecycle Stages Item> 
- The lifecycle stages at which to run the hook. Choose from these valid values: - RECONCILE_SERVICE The reconciliation stage that only happens when you start a new service deployment with more than 1 service revision in an ACTIVE state. You can use a lifecycle hook for this stage.
- PRE_SCALE_UP The green service revision has not started. The blue service revision is handling 100% of the production traffic. There is no test traffic. You can use a lifecycle hook for this stage.
- POST_SCALE_UP The green service revision has started. The blue service revision is handling 100% of the production traffic. There is no test traffic. You can use a lifecycle hook for this stage.
- TEST_TRAFFIC_SHIFT The blue and green service revisions are running. The blue service revision handles 100% of the production traffic. The green service revision is migrating from 0% to 100% of test traffic. You can use a lifecycle hook for this stage.
- POST_TEST_TRAFFIC_SHIFT The test traffic shift is complete. The green service revision handles 100% of the test traffic. You can use a lifecycle hook for this stage.
- PRODUCTION_TRAFFIC_SHIFT Production traffic is shifting to the green service revision. The green service revision is migrating from 0% to 100% of production traffic. You can use a lifecycle hook for this stage.
- POST_PRODUCTION_TRAFFIC_SHIFT The production traffic shift is complete. You can use a lifecycle hook for this stage.
 - You must provide this parameter when configuring a deployment lifecycle hook. 
- roleArn String
- The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call Lambda functions on your behalf. For more information, see Permissions required for Lambda functions in Amazon ECS blue/green deployments in the Amazon Elastic Container Service Developer Guide.
- hookDetails Object
- Use this field to specify custom parameters that ECS passes to your hook target invocations (such as a Lambda function). This field must be a JSON object as a string.
- hookTarget stringArn 
- The Amazon Resource Name (ARN) of the hook target. Currently, only Lambda function ARNs are supported. You must provide this parameter when configuring a deployment lifecycle hook.
- lifecycleStages ServiceDeployment Lifecycle Hook Lifecycle Stages Item[] 
- The lifecycle stages at which to run the hook. Choose from these valid values: - RECONCILE_SERVICE The reconciliation stage that only happens when you start a new service deployment with more than 1 service revision in an ACTIVE state. You can use a lifecycle hook for this stage.
- PRE_SCALE_UP The green service revision has not started. The blue service revision is handling 100% of the production traffic. There is no test traffic. You can use a lifecycle hook for this stage.
- POST_SCALE_UP The green service revision has started. The blue service revision is handling 100% of the production traffic. There is no test traffic. You can use a lifecycle hook for this stage.
- TEST_TRAFFIC_SHIFT The blue and green service revisions are running. The blue service revision handles 100% of the production traffic. The green service revision is migrating from 0% to 100% of test traffic. You can use a lifecycle hook for this stage.
- POST_TEST_TRAFFIC_SHIFT The test traffic shift is complete. The green service revision handles 100% of the test traffic. You can use a lifecycle hook for this stage.
- PRODUCTION_TRAFFIC_SHIFT Production traffic is shifting to the green service revision. The green service revision is migrating from 0% to 100% of production traffic. You can use a lifecycle hook for this stage.
- POST_PRODUCTION_TRAFFIC_SHIFT The production traffic shift is complete. You can use a lifecycle hook for this stage.
 - You must provide this parameter when configuring a deployment lifecycle hook. 
- roleArn string
- The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call Lambda functions on your behalf. For more information, see Permissions required for Lambda functions in Amazon ECS blue/green deployments in the Amazon Elastic Container Service Developer Guide.
- hookDetails any
- Use this field to specify custom parameters that ECS passes to your hook target invocations (such as a Lambda function). This field must be a JSON object as a string.
- hook_target_ strarn 
- The Amazon Resource Name (ARN) of the hook target. Currently, only Lambda function ARNs are supported. You must provide this parameter when configuring a deployment lifecycle hook.
- lifecycle_stages Sequence[ServiceDeployment Lifecycle Hook Lifecycle Stages Item] 
- The lifecycle stages at which to run the hook. Choose from these valid values: - RECONCILE_SERVICE The reconciliation stage that only happens when you start a new service deployment with more than 1 service revision in an ACTIVE state. You can use a lifecycle hook for this stage.
- PRE_SCALE_UP The green service revision has not started. The blue service revision is handling 100% of the production traffic. There is no test traffic. You can use a lifecycle hook for this stage.
- POST_SCALE_UP The green service revision has started. The blue service revision is handling 100% of the production traffic. There is no test traffic. You can use a lifecycle hook for this stage.
- TEST_TRAFFIC_SHIFT The blue and green service revisions are running. The blue service revision handles 100% of the production traffic. The green service revision is migrating from 0% to 100% of test traffic. You can use a lifecycle hook for this stage.
- POST_TEST_TRAFFIC_SHIFT The test traffic shift is complete. The green service revision handles 100% of the test traffic. You can use a lifecycle hook for this stage.
- PRODUCTION_TRAFFIC_SHIFT Production traffic is shifting to the green service revision. The green service revision is migrating from 0% to 100% of production traffic. You can use a lifecycle hook for this stage.
- POST_PRODUCTION_TRAFFIC_SHIFT The production traffic shift is complete. You can use a lifecycle hook for this stage.
 - You must provide this parameter when configuring a deployment lifecycle hook. 
- role_arn str
- The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call Lambda functions on your behalf. For more information, see Permissions required for Lambda functions in Amazon ECS blue/green deployments in the Amazon Elastic Container Service Developer Guide.
- hook_details Any
- Use this field to specify custom parameters that ECS passes to your hook target invocations (such as a Lambda function). This field must be a JSON object as a string.
- hookTarget StringArn 
- The Amazon Resource Name (ARN) of the hook target. Currently, only Lambda function ARNs are supported. You must provide this parameter when configuring a deployment lifecycle hook.
- lifecycleStages List<"RECONCILE_SERVICE" | "PRE_SCALE_UP" | "POST_SCALE_UP" | "TEST_TRAFFIC_SHIFT" | "POST_TEST_TRAFFIC_SHIFT" | "PRODUCTION_TRAFFIC_SHIFT" | "POST_PRODUCTION_TRAFFIC_SHIFT">
- The lifecycle stages at which to run the hook. Choose from these valid values: - RECONCILE_SERVICE The reconciliation stage that only happens when you start a new service deployment with more than 1 service revision in an ACTIVE state. You can use a lifecycle hook for this stage.
- PRE_SCALE_UP The green service revision has not started. The blue service revision is handling 100% of the production traffic. There is no test traffic. You can use a lifecycle hook for this stage.
- POST_SCALE_UP The green service revision has started. The blue service revision is handling 100% of the production traffic. There is no test traffic. You can use a lifecycle hook for this stage.
- TEST_TRAFFIC_SHIFT The blue and green service revisions are running. The blue service revision handles 100% of the production traffic. The green service revision is migrating from 0% to 100% of test traffic. You can use a lifecycle hook for this stage.
- POST_TEST_TRAFFIC_SHIFT The test traffic shift is complete. The green service revision handles 100% of the test traffic. You can use a lifecycle hook for this stage.
- PRODUCTION_TRAFFIC_SHIFT Production traffic is shifting to the green service revision. The green service revision is migrating from 0% to 100% of production traffic. You can use a lifecycle hook for this stage.
- POST_PRODUCTION_TRAFFIC_SHIFT The production traffic shift is complete. You can use a lifecycle hook for this stage.
 - You must provide this parameter when configuring a deployment lifecycle hook. 
- roleArn String
- The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call Lambda functions on your behalf. For more information, see Permissions required for Lambda functions in Amazon ECS blue/green deployments in the Amazon Elastic Container Service Developer Guide.
- hookDetails Any
- Use this field to specify custom parameters that ECS passes to your hook target invocations (such as a Lambda function). This field must be a JSON object as a string.
ServiceDeploymentLifecycleHookLifecycleStagesItem      
ServiceLoadBalancer  
- AdvancedConfiguration Pulumi.Aws Native. Ecs. Inputs. Service Advanced Configuration 
- The advanced settings for the load balancer used in blue/green deployments. Specify the alternate target group, listener rules, and IAM role required for traffic shifting during blue/green deployments.
- ContainerName string
- The name of the container (as it appears in a container definition) to associate with the load balancer. You need to specify the container name when configuring the target group for an Amazon ECS load balancer.
- ContainerPort int
- The port on the container to associate with the load balancer. This port must correspond to a containerPortin the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they're launched on must allow ingress traffic on thehostPortof the port mapping.
- LoadBalancer stringName 
- The name of the load balancer to associate with the Amazon ECS service or task set. If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted.
- TargetGroup stringArn 
- The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set.
A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer.
For services using the ECSdeployment controller, you can specify one or multiple target groups. For more information, see Registering multiple target groups with a service in the Amazon Elastic Container Service Developer Guide. For services using theCODE_DEPLOYdeployment controller, you're required to define two target groups for the load balancer. For more information, see Blue/green deployment with CodeDeploy in the Amazon Elastic Container Service Developer Guide. If your service's task definition uses theawsvpcnetwork mode, you must chooseipas the target type, notinstance. Do this when creating your target groups because tasks that use theawsvpcnetwork mode are associated with an elastic network interface, not an Amazon EC2 instance. This network mode is required for the Fargate launch type.
- AdvancedConfiguration ServiceAdvanced Configuration 
- The advanced settings for the load balancer used in blue/green deployments. Specify the alternate target group, listener rules, and IAM role required for traffic shifting during blue/green deployments.
- ContainerName string
- The name of the container (as it appears in a container definition) to associate with the load balancer. You need to specify the container name when configuring the target group for an Amazon ECS load balancer.
- ContainerPort int
- The port on the container to associate with the load balancer. This port must correspond to a containerPortin the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they're launched on must allow ingress traffic on thehostPortof the port mapping.
- LoadBalancer stringName 
- The name of the load balancer to associate with the Amazon ECS service or task set. If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted.
- TargetGroup stringArn 
- The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set.
A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer.
For services using the ECSdeployment controller, you can specify one or multiple target groups. For more information, see Registering multiple target groups with a service in the Amazon Elastic Container Service Developer Guide. For services using theCODE_DEPLOYdeployment controller, you're required to define two target groups for the load balancer. For more information, see Blue/green deployment with CodeDeploy in the Amazon Elastic Container Service Developer Guide. If your service's task definition uses theawsvpcnetwork mode, you must chooseipas the target type, notinstance. Do this when creating your target groups because tasks that use theawsvpcnetwork mode are associated with an elastic network interface, not an Amazon EC2 instance. This network mode is required for the Fargate launch type.
- advancedConfiguration ServiceAdvanced Configuration 
- The advanced settings for the load balancer used in blue/green deployments. Specify the alternate target group, listener rules, and IAM role required for traffic shifting during blue/green deployments.
- containerName String
- The name of the container (as it appears in a container definition) to associate with the load balancer. You need to specify the container name when configuring the target group for an Amazon ECS load balancer.
- containerPort Integer
- The port on the container to associate with the load balancer. This port must correspond to a containerPortin the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they're launched on must allow ingress traffic on thehostPortof the port mapping.
- loadBalancer StringName 
- The name of the load balancer to associate with the Amazon ECS service or task set. If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted.
- targetGroup StringArn 
- The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set.
A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer.
For services using the ECSdeployment controller, you can specify one or multiple target groups. For more information, see Registering multiple target groups with a service in the Amazon Elastic Container Service Developer Guide. For services using theCODE_DEPLOYdeployment controller, you're required to define two target groups for the load balancer. For more information, see Blue/green deployment with CodeDeploy in the Amazon Elastic Container Service Developer Guide. If your service's task definition uses theawsvpcnetwork mode, you must chooseipas the target type, notinstance. Do this when creating your target groups because tasks that use theawsvpcnetwork mode are associated with an elastic network interface, not an Amazon EC2 instance. This network mode is required for the Fargate launch type.
- advancedConfiguration ServiceAdvanced Configuration 
- The advanced settings for the load balancer used in blue/green deployments. Specify the alternate target group, listener rules, and IAM role required for traffic shifting during blue/green deployments.
- containerName string
- The name of the container (as it appears in a container definition) to associate with the load balancer. You need to specify the container name when configuring the target group for an Amazon ECS load balancer.
- containerPort number
- The port on the container to associate with the load balancer. This port must correspond to a containerPortin the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they're launched on must allow ingress traffic on thehostPortof the port mapping.
- loadBalancer stringName 
- The name of the load balancer to associate with the Amazon ECS service or task set. If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted.
- targetGroup stringArn 
- The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set.
A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer.
For services using the ECSdeployment controller, you can specify one or multiple target groups. For more information, see Registering multiple target groups with a service in the Amazon Elastic Container Service Developer Guide. For services using theCODE_DEPLOYdeployment controller, you're required to define two target groups for the load balancer. For more information, see Blue/green deployment with CodeDeploy in the Amazon Elastic Container Service Developer Guide. If your service's task definition uses theawsvpcnetwork mode, you must chooseipas the target type, notinstance. Do this when creating your target groups because tasks that use theawsvpcnetwork mode are associated with an elastic network interface, not an Amazon EC2 instance. This network mode is required for the Fargate launch type.
- advanced_configuration ServiceAdvanced Configuration 
- The advanced settings for the load balancer used in blue/green deployments. Specify the alternate target group, listener rules, and IAM role required for traffic shifting during blue/green deployments.
- container_name str
- The name of the container (as it appears in a container definition) to associate with the load balancer. You need to specify the container name when configuring the target group for an Amazon ECS load balancer.
- container_port int
- The port on the container to associate with the load balancer. This port must correspond to a containerPortin the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they're launched on must allow ingress traffic on thehostPortof the port mapping.
- load_balancer_ strname 
- The name of the load balancer to associate with the Amazon ECS service or task set. If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted.
- target_group_ strarn 
- The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set.
A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer.
For services using the ECSdeployment controller, you can specify one or multiple target groups. For more information, see Registering multiple target groups with a service in the Amazon Elastic Container Service Developer Guide. For services using theCODE_DEPLOYdeployment controller, you're required to define two target groups for the load balancer. For more information, see Blue/green deployment with CodeDeploy in the Amazon Elastic Container Service Developer Guide. If your service's task definition uses theawsvpcnetwork mode, you must chooseipas the target type, notinstance. Do this when creating your target groups because tasks that use theawsvpcnetwork mode are associated with an elastic network interface, not an Amazon EC2 instance. This network mode is required for the Fargate launch type.
- advancedConfiguration Property Map
- The advanced settings for the load balancer used in blue/green deployments. Specify the alternate target group, listener rules, and IAM role required for traffic shifting during blue/green deployments.
- containerName String
- The name of the container (as it appears in a container definition) to associate with the load balancer. You need to specify the container name when configuring the target group for an Amazon ECS load balancer.
- containerPort Number
- The port on the container to associate with the load balancer. This port must correspond to a containerPortin the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they're launched on must allow ingress traffic on thehostPortof the port mapping.
- loadBalancer StringName 
- The name of the load balancer to associate with the Amazon ECS service or task set. If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted.
- targetGroup StringArn 
- The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set.
A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer.
For services using the ECSdeployment controller, you can specify one or multiple target groups. For more information, see Registering multiple target groups with a service in the Amazon Elastic Container Service Developer Guide. For services using theCODE_DEPLOYdeployment controller, you're required to define two target groups for the load balancer. For more information, see Blue/green deployment with CodeDeploy in the Amazon Elastic Container Service Developer Guide. If your service's task definition uses theawsvpcnetwork mode, you must chooseipas the target type, notinstance. Do this when creating your target groups because tasks that use theawsvpcnetwork mode are associated with an elastic network interface, not an Amazon EC2 instance. This network mode is required for the Fargate launch type.
ServiceNetworkConfiguration  
- AwsvpcConfiguration Pulumi.Aws Native. Ecs. Inputs. Service Aws Vpc Configuration 
- The VPC subnets and security groups that are associated with a task. All specified subnets and security groups must be from the same VPC.
- AwsvpcConfiguration ServiceAws Vpc Configuration 
- The VPC subnets and security groups that are associated with a task. All specified subnets and security groups must be from the same VPC.
- awsvpcConfiguration ServiceAws Vpc Configuration 
- The VPC subnets and security groups that are associated with a task. All specified subnets and security groups must be from the same VPC.
- awsvpcConfiguration ServiceAws Vpc Configuration 
- The VPC subnets and security groups that are associated with a task. All specified subnets and security groups must be from the same VPC.
- awsvpc_configuration ServiceAws Vpc Configuration 
- The VPC subnets and security groups that are associated with a task. All specified subnets and security groups must be from the same VPC.
- awsvpcConfiguration Property Map
- The VPC subnets and security groups that are associated with a task. All specified subnets and security groups must be from the same VPC.
ServicePlacementConstraint  
- Type
Pulumi.Aws Native. Ecs. Service Placement Constraint Type 
- The type of constraint. Use distinctInstanceto ensure that each task in a particular group is running on a different container instance. UsememberOfto restrict the selection to a group of valid candidates.
- Expression string
- A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is distinctInstance. For more information, see Cluster query language in the Amazon Elastic Container Service Developer Guide.
- Type
ServicePlacement Constraint Type 
- The type of constraint. Use distinctInstanceto ensure that each task in a particular group is running on a different container instance. UsememberOfto restrict the selection to a group of valid candidates.
- Expression string
- A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is distinctInstance. For more information, see Cluster query language in the Amazon Elastic Container Service Developer Guide.
- type
ServicePlacement Constraint Type 
- The type of constraint. Use distinctInstanceto ensure that each task in a particular group is running on a different container instance. UsememberOfto restrict the selection to a group of valid candidates.
- expression String
- A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is distinctInstance. For more information, see Cluster query language in the Amazon Elastic Container Service Developer Guide.
- type
ServicePlacement Constraint Type 
- The type of constraint. Use distinctInstanceto ensure that each task in a particular group is running on a different container instance. UsememberOfto restrict the selection to a group of valid candidates.
- expression string
- A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is distinctInstance. For more information, see Cluster query language in the Amazon Elastic Container Service Developer Guide.
- type
ServicePlacement Constraint Type 
- The type of constraint. Use distinctInstanceto ensure that each task in a particular group is running on a different container instance. UsememberOfto restrict the selection to a group of valid candidates.
- expression str
- A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is distinctInstance. For more information, see Cluster query language in the Amazon Elastic Container Service Developer Guide.
- type
"distinctInstance" | "member Of" 
- The type of constraint. Use distinctInstanceto ensure that each task in a particular group is running on a different container instance. UsememberOfto restrict the selection to a group of valid candidates.
- expression String
- A cluster query language expression to apply to the constraint. The expression can have a maximum length of 2000 characters. You can't specify an expression if the constraint type is distinctInstance. For more information, see Cluster query language in the Amazon Elastic Container Service Developer Guide.
ServicePlacementConstraintType   
ServicePlacementStrategy  
- Type
Pulumi.Aws Native. Ecs. Service Placement Strategy Type 
- The type of placement strategy. The randomplacement strategy randomly places tasks on available candidates. Thespreadplacement strategy spreads placement across available candidates evenly based on thefieldparameter. Thebinpackstrategy places tasks on available candidates that have the least available amount of the resource that's specified with thefieldparameter. For example, if you binpack on memory, a task is placed on the instance with the least amount of remaining memory but still enough to run the task.
- Field string
- The field to apply the placement strategy against. For the spreadplacement strategy, valid values areinstanceId(orhost, which has the same effect), or any platform or custom attribute that's applied to a container instance, such asattribute:ecs.availability-zone. For thebinpackplacement strategy, valid values arecpuandmemory. For therandomplacement strategy, this field is not used.
- Type
ServicePlacement Strategy Type 
- The type of placement strategy. The randomplacement strategy randomly places tasks on available candidates. Thespreadplacement strategy spreads placement across available candidates evenly based on thefieldparameter. Thebinpackstrategy places tasks on available candidates that have the least available amount of the resource that's specified with thefieldparameter. For example, if you binpack on memory, a task is placed on the instance with the least amount of remaining memory but still enough to run the task.
- Field string
- The field to apply the placement strategy against. For the spreadplacement strategy, valid values areinstanceId(orhost, which has the same effect), or any platform or custom attribute that's applied to a container instance, such asattribute:ecs.availability-zone. For thebinpackplacement strategy, valid values arecpuandmemory. For therandomplacement strategy, this field is not used.
- type
ServicePlacement Strategy Type 
- The type of placement strategy. The randomplacement strategy randomly places tasks on available candidates. Thespreadplacement strategy spreads placement across available candidates evenly based on thefieldparameter. Thebinpackstrategy places tasks on available candidates that have the least available amount of the resource that's specified with thefieldparameter. For example, if you binpack on memory, a task is placed on the instance with the least amount of remaining memory but still enough to run the task.
- field String
- The field to apply the placement strategy against. For the spreadplacement strategy, valid values areinstanceId(orhost, which has the same effect), or any platform or custom attribute that's applied to a container instance, such asattribute:ecs.availability-zone. For thebinpackplacement strategy, valid values arecpuandmemory. For therandomplacement strategy, this field is not used.
- type
ServicePlacement Strategy Type 
- The type of placement strategy. The randomplacement strategy randomly places tasks on available candidates. Thespreadplacement strategy spreads placement across available candidates evenly based on thefieldparameter. Thebinpackstrategy places tasks on available candidates that have the least available amount of the resource that's specified with thefieldparameter. For example, if you binpack on memory, a task is placed on the instance with the least amount of remaining memory but still enough to run the task.
- field string
- The field to apply the placement strategy against. For the spreadplacement strategy, valid values areinstanceId(orhost, which has the same effect), or any platform or custom attribute that's applied to a container instance, such asattribute:ecs.availability-zone. For thebinpackplacement strategy, valid values arecpuandmemory. For therandomplacement strategy, this field is not used.
- type
ServicePlacement Strategy Type 
- The type of placement strategy. The randomplacement strategy randomly places tasks on available candidates. Thespreadplacement strategy spreads placement across available candidates evenly based on thefieldparameter. Thebinpackstrategy places tasks on available candidates that have the least available amount of the resource that's specified with thefieldparameter. For example, if you binpack on memory, a task is placed on the instance with the least amount of remaining memory but still enough to run the task.
- field str
- The field to apply the placement strategy against. For the spreadplacement strategy, valid values areinstanceId(orhost, which has the same effect), or any platform or custom attribute that's applied to a container instance, such asattribute:ecs.availability-zone. For thebinpackplacement strategy, valid values arecpuandmemory. For therandomplacement strategy, this field is not used.
- type "binpack" | "random" | "spread"
- The type of placement strategy. The randomplacement strategy randomly places tasks on available candidates. Thespreadplacement strategy spreads placement across available candidates evenly based on thefieldparameter. Thebinpackstrategy places tasks on available candidates that have the least available amount of the resource that's specified with thefieldparameter. For example, if you binpack on memory, a task is placed on the instance with the least amount of remaining memory but still enough to run the task.
- field String
- The field to apply the placement strategy against. For the spreadplacement strategy, valid values areinstanceId(orhost, which has the same effect), or any platform or custom attribute that's applied to a container instance, such asattribute:ecs.availability-zone. For thebinpackplacement strategy, valid values arecpuandmemory. For therandomplacement strategy, this field is not used.
ServicePlacementStrategyType   
ServicePropagateTags  
ServiceRegistry 
- ContainerName string
- The container name value to be used for your service discovery service. It's already specified in the task definition. If the task definition that your service task specifies uses the bridgeorhostnetwork mode, you must specify acontainerNameandcontainerPortcombination from the task definition. If the task definition that your service task specifies uses theawsvpcnetwork mode and a type SRV DNS record is used, you must specify either acontainerNameandcontainerPortcombination or aportvalue. However, you can't specify both.
- ContainerPort int
- The port value to be used for your service discovery service. It's already specified in the task definition. If the task definition your service task specifies uses the bridgeorhostnetwork mode, you must specify acontainerNameandcontainerPortcombination from the task definition. If the task definition your service task specifies uses theawsvpcnetwork mode and a type SRV DNS record is used, you must specify either acontainerNameandcontainerPortcombination or aportvalue. However, you can't specify both.
- Port int
- The port value used if your service discovery service specified an SRV record. This field might be used if both the awsvpcnetwork mode and SRV records are used.
- RegistryArn string
- The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is CMAP. For more information, see CreateService.
- ContainerName string
- The container name value to be used for your service discovery service. It's already specified in the task definition. If the task definition that your service task specifies uses the bridgeorhostnetwork mode, you must specify acontainerNameandcontainerPortcombination from the task definition. If the task definition that your service task specifies uses theawsvpcnetwork mode and a type SRV DNS record is used, you must specify either acontainerNameandcontainerPortcombination or aportvalue. However, you can't specify both.
- ContainerPort int
- The port value to be used for your service discovery service. It's already specified in the task definition. If the task definition your service task specifies uses the bridgeorhostnetwork mode, you must specify acontainerNameandcontainerPortcombination from the task definition. If the task definition your service task specifies uses theawsvpcnetwork mode and a type SRV DNS record is used, you must specify either acontainerNameandcontainerPortcombination or aportvalue. However, you can't specify both.
- Port int
- The port value used if your service discovery service specified an SRV record. This field might be used if both the awsvpcnetwork mode and SRV records are used.
- RegistryArn string
- The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is CMAP. For more information, see CreateService.
- containerName String
- The container name value to be used for your service discovery service. It's already specified in the task definition. If the task definition that your service task specifies uses the bridgeorhostnetwork mode, you must specify acontainerNameandcontainerPortcombination from the task definition. If the task definition that your service task specifies uses theawsvpcnetwork mode and a type SRV DNS record is used, you must specify either acontainerNameandcontainerPortcombination or aportvalue. However, you can't specify both.
- containerPort Integer
- The port value to be used for your service discovery service. It's already specified in the task definition. If the task definition your service task specifies uses the bridgeorhostnetwork mode, you must specify acontainerNameandcontainerPortcombination from the task definition. If the task definition your service task specifies uses theawsvpcnetwork mode and a type SRV DNS record is used, you must specify either acontainerNameandcontainerPortcombination or aportvalue. However, you can't specify both.
- port Integer
- The port value used if your service discovery service specified an SRV record. This field might be used if both the awsvpcnetwork mode and SRV records are used.
- registryArn String
- The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is CMAP. For more information, see CreateService.
- containerName string
- The container name value to be used for your service discovery service. It's already specified in the task definition. If the task definition that your service task specifies uses the bridgeorhostnetwork mode, you must specify acontainerNameandcontainerPortcombination from the task definition. If the task definition that your service task specifies uses theawsvpcnetwork mode and a type SRV DNS record is used, you must specify either acontainerNameandcontainerPortcombination or aportvalue. However, you can't specify both.
- containerPort number
- The port value to be used for your service discovery service. It's already specified in the task definition. If the task definition your service task specifies uses the bridgeorhostnetwork mode, you must specify acontainerNameandcontainerPortcombination from the task definition. If the task definition your service task specifies uses theawsvpcnetwork mode and a type SRV DNS record is used, you must specify either acontainerNameandcontainerPortcombination or aportvalue. However, you can't specify both.
- port number
- The port value used if your service discovery service specified an SRV record. This field might be used if both the awsvpcnetwork mode and SRV records are used.
- registryArn string
- The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is CMAP. For more information, see CreateService.
- container_name str
- The container name value to be used for your service discovery service. It's already specified in the task definition. If the task definition that your service task specifies uses the bridgeorhostnetwork mode, you must specify acontainerNameandcontainerPortcombination from the task definition. If the task definition that your service task specifies uses theawsvpcnetwork mode and a type SRV DNS record is used, you must specify either acontainerNameandcontainerPortcombination or aportvalue. However, you can't specify both.
- container_port int
- The port value to be used for your service discovery service. It's already specified in the task definition. If the task definition your service task specifies uses the bridgeorhostnetwork mode, you must specify acontainerNameandcontainerPortcombination from the task definition. If the task definition your service task specifies uses theawsvpcnetwork mode and a type SRV DNS record is used, you must specify either acontainerNameandcontainerPortcombination or aportvalue. However, you can't specify both.
- port int
- The port value used if your service discovery service specified an SRV record. This field might be used if both the awsvpcnetwork mode and SRV records are used.
- registry_arn str
- The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is CMAP. For more information, see CreateService.
- containerName String
- The container name value to be used for your service discovery service. It's already specified in the task definition. If the task definition that your service task specifies uses the bridgeorhostnetwork mode, you must specify acontainerNameandcontainerPortcombination from the task definition. If the task definition that your service task specifies uses theawsvpcnetwork mode and a type SRV DNS record is used, you must specify either acontainerNameandcontainerPortcombination or aportvalue. However, you can't specify both.
- containerPort Number
- The port value to be used for your service discovery service. It's already specified in the task definition. If the task definition your service task specifies uses the bridgeorhostnetwork mode, you must specify acontainerNameandcontainerPortcombination from the task definition. If the task definition your service task specifies uses theawsvpcnetwork mode and a type SRV DNS record is used, you must specify either acontainerNameandcontainerPortcombination or aportvalue. However, you can't specify both.
- port Number
- The port value used if your service discovery service specified an SRV record. This field might be used if both the awsvpcnetwork mode and SRV records are used.
- registryArn String
- The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is CMAP. For more information, see CreateService.
ServiceVpcLatticeConfiguration   
- PortName string
- The name of the port mapping to register in the VPC Lattice target group. This is the name of the portMappingyou defined in your task definition.
- RoleArn string
- The ARN of the IAM role to associate with this VPC Lattice configuration. This is the Amazon ECS infrastructure IAM role that is used to manage your VPC Lattice infrastructure.
- TargetGroup stringArn 
- The full Amazon Resource Name (ARN) of the target group or groups associated with the VPC Lattice configuration that the Amazon ECS tasks will be registered to.
- PortName string
- The name of the port mapping to register in the VPC Lattice target group. This is the name of the portMappingyou defined in your task definition.
- RoleArn string
- The ARN of the IAM role to associate with this VPC Lattice configuration. This is the Amazon ECS infrastructure IAM role that is used to manage your VPC Lattice infrastructure.
- TargetGroup stringArn 
- The full Amazon Resource Name (ARN) of the target group or groups associated with the VPC Lattice configuration that the Amazon ECS tasks will be registered to.
- portName String
- The name of the port mapping to register in the VPC Lattice target group. This is the name of the portMappingyou defined in your task definition.
- roleArn String
- The ARN of the IAM role to associate with this VPC Lattice configuration. This is the Amazon ECS infrastructure IAM role that is used to manage your VPC Lattice infrastructure.
- targetGroup StringArn 
- The full Amazon Resource Name (ARN) of the target group or groups associated with the VPC Lattice configuration that the Amazon ECS tasks will be registered to.
- portName string
- The name of the port mapping to register in the VPC Lattice target group. This is the name of the portMappingyou defined in your task definition.
- roleArn string
- The ARN of the IAM role to associate with this VPC Lattice configuration. This is the Amazon ECS infrastructure IAM role that is used to manage your VPC Lattice infrastructure.
- targetGroup stringArn 
- The full Amazon Resource Name (ARN) of the target group or groups associated with the VPC Lattice configuration that the Amazon ECS tasks will be registered to.
- port_name str
- The name of the port mapping to register in the VPC Lattice target group. This is the name of the portMappingyou defined in your task definition.
- role_arn str
- The ARN of the IAM role to associate with this VPC Lattice configuration. This is the Amazon ECS infrastructure IAM role that is used to manage your VPC Lattice infrastructure.
- target_group_ strarn 
- The full Amazon Resource Name (ARN) of the target group or groups associated with the VPC Lattice configuration that the Amazon ECS tasks will be registered to.
- portName String
- The name of the port mapping to register in the VPC Lattice target group. This is the name of the portMappingyou defined in your task definition.
- roleArn String
- The ARN of the IAM role to associate with this VPC Lattice configuration. This is the Amazon ECS infrastructure IAM role that is used to manage your VPC Lattice infrastructure.
- targetGroup StringArn 
- The full Amazon Resource Name (ARN) of the target group or groups associated with the VPC Lattice configuration that the Amazon ECS tasks will be registered to.
Tag
Package Details
- Repository
- AWS Native pulumi/pulumi-aws-native
- License
- Apache-2.0
We recommend new projects start with resources from the AWS provider.
