Interface DeploymentConfiguration.Builder
- All Superinterfaces:
Buildable
,CopyableBuilder<DeploymentConfiguration.Builder,
,DeploymentConfiguration> SdkBuilder<DeploymentConfiguration.Builder,
,DeploymentConfiguration> SdkPojo
- Enclosing class:
DeploymentConfiguration
-
Method Summary
Modifier and TypeMethodDescriptiondefault DeploymentConfiguration.Builder
alarms
(Consumer<DeploymentAlarms.Builder> alarms) Information about the CloudWatch alarms.alarms
(DeploymentAlarms alarms) Information about the CloudWatch alarms.bakeTimeInMinutes
(Integer bakeTimeInMinutes) The time period when both blue and green service revisions are running simultaneously after the production traffic has shifted.default DeploymentConfiguration.Builder
deploymentCircuitBreaker
(Consumer<DeploymentCircuitBreaker.Builder> deploymentCircuitBreaker) deploymentCircuitBreaker
(DeploymentCircuitBreaker deploymentCircuitBreaker) lifecycleHooks
(Collection<DeploymentLifecycleHook> lifecycleHooks) An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle.lifecycleHooks
(Consumer<DeploymentLifecycleHook.Builder>... lifecycleHooks) An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle.lifecycleHooks
(DeploymentLifecycleHook... lifecycleHooks) An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle.maximumPercent
(Integer maximumPercent) If a service is using the rolling update (ECS
) deployment type, themaximumPercent
parameter represents an upper limit on the number of your service's tasks that are allowed in theRUNNING
orPENDING
state during a deployment, as a percentage of thedesiredCount
(rounded down to the nearest integer).minimumHealthyPercent
(Integer minimumHealthyPercent) If a service is using the rolling update (ECS
) deployment type, theminimumHealthyPercent
represents a lower limit on the number of your service's tasks that must remain in theRUNNING
state during a deployment, as a percentage of thedesiredCount
(rounded up to the nearest integer).The deployment strategy for the service.strategy
(DeploymentStrategy strategy) The deployment strategy for the service.Methods inherited from interface software.amazon.awssdk.utils.builder.CopyableBuilder
copy
Methods inherited from interface software.amazon.awssdk.utils.builder.SdkBuilder
applyMutation, build
Methods inherited from interface software.amazon.awssdk.core.SdkPojo
equalsBySdkFields, sdkFieldNameToField, sdkFields
-
Method Details
-
deploymentCircuitBreaker
DeploymentConfiguration.Builder deploymentCircuitBreaker(DeploymentCircuitBreaker deploymentCircuitBreaker) 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
- Parameters:
deploymentCircuitBreaker
-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
- Returns:
- Returns a reference to this object so that method calls can be chained together.
-
deploymentCircuitBreaker
default DeploymentConfiguration.Builder deploymentCircuitBreaker(Consumer<DeploymentCircuitBreaker.Builder> deploymentCircuitBreaker) 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
This is a convenience method that creates an instance of theDeploymentCircuitBreaker.Builder
avoiding the need to create one manually viaDeploymentCircuitBreaker.builder()
.When the
Consumer
completes,SdkBuilder.build()
is called immediately and its result is passed todeploymentCircuitBreaker(DeploymentCircuitBreaker)
.- Parameters:
deploymentCircuitBreaker
- a consumer that will call methods onDeploymentCircuitBreaker.Builder
- Returns:
- Returns a reference to this object so that method calls can be chained together.
- See Also:
-
maximumPercent
If a service is using the rolling update (
ECS
) deployment type, themaximumPercent
parameter represents an upper limit on the number of your service's tasks that are allowed in theRUNNING
orPENDING
state 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 theREPLICA
service scheduler and has adesiredCount
of four tasks and amaximumPercent
value 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 defaultmaximumPercent
value for a service using theREPLICA
service 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
) orEXTERNAL
deployment 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 theRUNNING
state while the container instances are in theDRAINING
state.You can't specify a custom
maximumPercent
value for a service that uses either the blue/green (CODE_DEPLOY
) orEXTERNAL
deployment types and has tasks that use the EC2 launch type.If the service uses either the blue/green (
CODE_DEPLOY
) orEXTERNAL
deployment 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.- Parameters:
maximumPercent
- If a service is using the rolling update (ECS
) deployment type, themaximumPercent
parameter represents an upper limit on the number of your service's tasks that are allowed in theRUNNING
orPENDING
state 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 theREPLICA
service scheduler and has adesiredCount
of four tasks and amaximumPercent
value 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 defaultmaximumPercent
value for a service using theREPLICA
service 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
) orEXTERNAL
deployment 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 theRUNNING
state while the container instances are in theDRAINING
state.You can't specify a custom
maximumPercent
value for a service that uses either the blue/green (CODE_DEPLOY
) orEXTERNAL
deployment types and has tasks that use the EC2 launch type.If the service uses either the blue/green (
CODE_DEPLOY
) orEXTERNAL
deployment 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.- Returns:
- Returns a reference to this object so that method calls can be chained together.
-
minimumHealthyPercent
If a service is using the rolling update (
ECS
) deployment type, theminimumHealthyPercent
represents a lower limit on the number of your service's tasks that must remain in theRUNNING
state during a deployment, as a percentage of thedesiredCount
(rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has adesiredCount
of four tasks and aminimumHealthyPercent
of 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
maximumPercent
doesn't allow the Amazon ECS scheduler to start replacement tasks, the scheduler stops the unhealthy tasks one-by-one — using theminimumHealthyPercent
as 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
RUNNING
state 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
minimumHealthyPercent
is 100%. The defaultminimumHealthyPercent
value for a service using theDAEMON
service schedule is 0% for the CLI, the Amazon Web Services SDKs, and the APIs and 50% for the Amazon Web Services Management Console.The minimum number of healthy tasks during a deployment is the
desiredCount
multiplied by theminimumHealthyPercent
/100, rounded up to the nearest integer value.If a service is using either the blue/green (
CODE_DEPLOY
) orEXTERNAL
deployment 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 theRUNNING
state while the container instances are in theDRAINING
state.You can't specify a custom
minimumHealthyPercent
value for a service that uses either the blue/green (CODE_DEPLOY
) orEXTERNAL
deployment types and has tasks that use the EC2 launch type.If a service is using either the blue/green (
CODE_DEPLOY
) orEXTERNAL
deployment 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.- Parameters:
minimumHealthyPercent
- If a service is using the rolling update (ECS
) deployment type, theminimumHealthyPercent
represents a lower limit on the number of your service's tasks that must remain in theRUNNING
state during a deployment, as a percentage of thedesiredCount
(rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has adesiredCount
of four tasks and aminimumHealthyPercent
of 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
maximumPercent
doesn't allow the Amazon ECS scheduler to start replacement tasks, the scheduler stops the unhealthy tasks one-by-one — using theminimumHealthyPercent
as 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
RUNNING
state 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
minimumHealthyPercent
is 100%. The defaultminimumHealthyPercent
value for a service using theDAEMON
service schedule is 0% for the CLI, the Amazon Web Services SDKs, and the APIs and 50% for the Amazon Web Services Management Console.The minimum number of healthy tasks during a deployment is the
desiredCount
multiplied by theminimumHealthyPercent
/100, rounded up to the nearest integer value.If a service is using either the blue/green (
CODE_DEPLOY
) orEXTERNAL
deployment 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 theRUNNING
state while the container instances are in theDRAINING
state.You can't specify a custom
minimumHealthyPercent
value for a service that uses either the blue/green (CODE_DEPLOY
) orEXTERNAL
deployment types and has tasks that use the EC2 launch type.If a service is using either the blue/green (
CODE_DEPLOY
) orEXTERNAL
deployment 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.-
- Returns:
- Returns a reference to this object so that method calls can be chained together.
-
-
alarms
Information about the CloudWatch alarms.
- Parameters:
alarms
- Information about the CloudWatch alarms.- Returns:
- Returns a reference to this object so that method calls can be chained together.
-
alarms
Information about the CloudWatch alarms.
This is a convenience method that creates an instance of theDeploymentAlarms.Builder
avoiding the need to create one manually viaDeploymentAlarms.builder()
.When the
Consumer
completes,SdkBuilder.build()
is called immediately and its result is passed toalarms(DeploymentAlarms)
.- Parameters:
alarms
- a consumer that will call methods onDeploymentAlarms.Builder
- Returns:
- Returns a reference to this object so that method calls can be chained together.
- See Also:
-
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.
- Parameters:
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.
-
- Returns:
- Returns a reference to this object so that method calls can be chained together.
- See Also:
-
-
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.
- Parameters:
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.
-
- Returns:
- Returns a reference to this object so that method calls can be chained together.
- See Also:
-
-
bakeTimeInMinutes
The time period when both blue and green service revisions are running simultaneously after the production traffic has shifted.
You must provide this parameter when you use the
BLUE_GREEN
deployment strategy.- Parameters:
bakeTimeInMinutes
- The time period when both blue and green service revisions are running simultaneously after the production traffic has shifted.You must provide this parameter when you use the
BLUE_GREEN
deployment strategy.- Returns:
- Returns a reference to this object so that method calls can be chained together.
-
lifecycleHooks
An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle.
- Parameters:
lifecycleHooks
- An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle.- Returns:
- Returns a reference to this object so that method calls can be chained together.
-
lifecycleHooks
An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle.
- Parameters:
lifecycleHooks
- An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle.- Returns:
- Returns a reference to this object so that method calls can be chained together.
-
lifecycleHooks
DeploymentConfiguration.Builder lifecycleHooks(Consumer<DeploymentLifecycleHook.Builder>... lifecycleHooks) An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle.
This is a convenience method that creates an instance of theDeploymentLifecycleHook.Builder
avoiding the need to create one manually viaDeploymentLifecycleHook.builder()
.When the
Consumer
completes,SdkBuilder.build()
is called immediately and its result is passed tolifecycleHooks(List<DeploymentLifecycleHook>)
.- Parameters:
lifecycleHooks
- a consumer that will call methods onDeploymentLifecycleHook.Builder
- Returns:
- Returns a reference to this object so that method calls can be chained together.
- See Also:
-