/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Optional deployment parameters that control how many tasks run during a
* deployment and the ordering of stopping and starting tasks.See
* Also:
AWS
* API Reference
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
*/ inline const DeploymentCircuitBreaker& GetDeploymentCircuitBreaker() const{ return m_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
*/ inline bool DeploymentCircuitBreakerHasBeenSet() const { return m_deploymentCircuitBreakerHasBeenSet; } /** *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
*/ inline void SetDeploymentCircuitBreaker(const DeploymentCircuitBreaker& value) { m_deploymentCircuitBreakerHasBeenSet = true; m_deploymentCircuitBreaker = value; } /** *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
*/ inline void SetDeploymentCircuitBreaker(DeploymentCircuitBreaker&& value) { m_deploymentCircuitBreakerHasBeenSet = true; m_deploymentCircuitBreaker = std::move(value); } /** *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
*/ inline DeploymentConfiguration& WithDeploymentCircuitBreaker(const DeploymentCircuitBreaker& value) { SetDeploymentCircuitBreaker(value); return *this;} /** *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
*/ inline DeploymentConfiguration& WithDeploymentCircuitBreaker(DeploymentCircuitBreaker&& value) { SetDeploymentCircuitBreaker(std::move(value)); return *this;} /** *If a service is using the rolling update (ECS
) deployment type,
* the maximumPercent
parameter represents an upper limit on the
* number of your service's tasks that are allowed in the RUNNING
or
* PENDING
state during a deployment, as a percentage of the
* desiredCount
(rounded down to the nearest integer). This parameter
* enables you to define the deployment batch size. For example, if your service is
* using the REPLICA
service scheduler and has a
* desiredCount
of four tasks and a maximumPercent
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 default maximumPercent
value for a service using the
* REPLICA
service scheduler is 200%.
If a service is using
* either the blue/green (CODE_DEPLOY
) or EXTERNAL
* deployment types and tasks that use the EC2 launch type, the maximum
* percent value is set to the default value and is used to define the upper
* limit on the number of the tasks in the service that remain in the
* RUNNING
state while the container instances are in the
* DRAINING
state. If the tasks in the service use the Fargate launch
* type, the maximum percent value is not used, although it is returned when
* describing your service.
If a service is using the rolling update (ECS
) deployment type,
* the maximumPercent
parameter represents an upper limit on the
* number of your service's tasks that are allowed in the RUNNING
or
* PENDING
state during a deployment, as a percentage of the
* desiredCount
(rounded down to the nearest integer). This parameter
* enables you to define the deployment batch size. For example, if your service is
* using the REPLICA
service scheduler and has a
* desiredCount
of four tasks and a maximumPercent
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 default maximumPercent
value for a service using the
* REPLICA
service scheduler is 200%.
If a service is using
* either the blue/green (CODE_DEPLOY
) or EXTERNAL
* deployment types and tasks that use the EC2 launch type, the maximum
* percent value is set to the default value and is used to define the upper
* limit on the number of the tasks in the service that remain in the
* RUNNING
state while the container instances are in the
* DRAINING
state. If the tasks in the service use the Fargate launch
* type, the maximum percent value is not used, although it is returned when
* describing your service.
If a service is using the rolling update (ECS
) deployment type,
* the maximumPercent
parameter represents an upper limit on the
* number of your service's tasks that are allowed in the RUNNING
or
* PENDING
state during a deployment, as a percentage of the
* desiredCount
(rounded down to the nearest integer). This parameter
* enables you to define the deployment batch size. For example, if your service is
* using the REPLICA
service scheduler and has a
* desiredCount
of four tasks and a maximumPercent
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 default maximumPercent
value for a service using the
* REPLICA
service scheduler is 200%.
If a service is using
* either the blue/green (CODE_DEPLOY
) or EXTERNAL
* deployment types and tasks that use the EC2 launch type, the maximum
* percent value is set to the default value and is used to define the upper
* limit on the number of the tasks in the service that remain in the
* RUNNING
state while the container instances are in the
* DRAINING
state. If the tasks in the service use the Fargate launch
* type, the maximum percent value is not used, although it is returned when
* describing your service.
If a service is using the rolling update (ECS
) deployment type,
* the maximumPercent
parameter represents an upper limit on the
* number of your service's tasks that are allowed in the RUNNING
or
* PENDING
state during a deployment, as a percentage of the
* desiredCount
(rounded down to the nearest integer). This parameter
* enables you to define the deployment batch size. For example, if your service is
* using the REPLICA
service scheduler and has a
* desiredCount
of four tasks and a maximumPercent
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 default maximumPercent
value for a service using the
* REPLICA
service scheduler is 200%.
If a service is using
* either the blue/green (CODE_DEPLOY
) or EXTERNAL
* deployment types and tasks that use the EC2 launch type, the maximum
* percent value is set to the default value and is used to define the upper
* limit on the number of the tasks in the service that remain in the
* RUNNING
state while the container instances are in the
* DRAINING
state. If the tasks in the service use the Fargate launch
* type, the maximum percent value is not used, although it is returned when
* describing your service.
If a service is using the rolling update (ECS
) deployment type,
* the minimumHealthyPercent
represents a lower limit on the number of
* your service's tasks that must remain in the RUNNING
state 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 desiredCount
* of four tasks and a minimumHealthyPercent
of 50%, the service
* scheduler may stop two existing tasks to free up cluster capacity before
* starting two new tasks.
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 are 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.
If a service is using either the blue/green (CODE_DEPLOY
) or
* EXTERNAL
deployment types and is running tasks that use the EC2
* launch type, the minimum healthy percent value is set to the default
* value and is used to define the lower limit on the number of the tasks in the
* service that remain in the RUNNING
state while the container
* instances are in the DRAINING
state. If a service is using either
* the blue/green (CODE_DEPLOY
) or EXTERNAL
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.
If a service is using the rolling update (ECS
) deployment type,
* the minimumHealthyPercent
represents a lower limit on the number of
* your service's tasks that must remain in the RUNNING
state 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 desiredCount
* of four tasks and a minimumHealthyPercent
of 50%, the service
* scheduler may stop two existing tasks to free up cluster capacity before
* starting two new tasks.
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 are 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.
If a service is using either the blue/green (CODE_DEPLOY
) or
* EXTERNAL
deployment types and is running tasks that use the EC2
* launch type, the minimum healthy percent value is set to the default
* value and is used to define the lower limit on the number of the tasks in the
* service that remain in the RUNNING
state while the container
* instances are in the DRAINING
state. If a service is using either
* the blue/green (CODE_DEPLOY
) or EXTERNAL
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.
If a service is using the rolling update (ECS
) deployment type,
* the minimumHealthyPercent
represents a lower limit on the number of
* your service's tasks that must remain in the RUNNING
state 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 desiredCount
* of four tasks and a minimumHealthyPercent
of 50%, the service
* scheduler may stop two existing tasks to free up cluster capacity before
* starting two new tasks.
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 are 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.
If a service is using either the blue/green (CODE_DEPLOY
) or
* EXTERNAL
deployment types and is running tasks that use the EC2
* launch type, the minimum healthy percent value is set to the default
* value and is used to define the lower limit on the number of the tasks in the
* service that remain in the RUNNING
state while the container
* instances are in the DRAINING
state. If a service is using either
* the blue/green (CODE_DEPLOY
) or EXTERNAL
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.
If a service is using the rolling update (ECS
) deployment type,
* the minimumHealthyPercent
represents a lower limit on the number of
* your service's tasks that must remain in the RUNNING
state 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 desiredCount
* of four tasks and a minimumHealthyPercent
of 50%, the service
* scheduler may stop two existing tasks to free up cluster capacity before
* starting two new tasks.
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 are 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.
If a service is using either the blue/green (CODE_DEPLOY
) or
* EXTERNAL
deployment types and is running tasks that use the EC2
* launch type, the minimum healthy percent value is set to the default
* value and is used to define the lower limit on the number of the tasks in the
* service that remain in the RUNNING
state while the container
* instances are in the DRAINING
state. If a service is using either
* the blue/green (CODE_DEPLOY
) or EXTERNAL
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.
Information about the CloudWatch alarms.
*/ inline const DeploymentAlarms& GetAlarms() const{ return m_alarms; } /** *Information about the CloudWatch alarms.
*/ inline bool AlarmsHasBeenSet() const { return m_alarmsHasBeenSet; } /** *Information about the CloudWatch alarms.
*/ inline void SetAlarms(const DeploymentAlarms& value) { m_alarmsHasBeenSet = true; m_alarms = value; } /** *Information about the CloudWatch alarms.
*/ inline void SetAlarms(DeploymentAlarms&& value) { m_alarmsHasBeenSet = true; m_alarms = std::move(value); } /** *Information about the CloudWatch alarms.
*/ inline DeploymentConfiguration& WithAlarms(const DeploymentAlarms& value) { SetAlarms(value); return *this;} /** *Information about the CloudWatch alarms.
*/ inline DeploymentConfiguration& WithAlarms(DeploymentAlarms&& value) { SetAlarms(std::move(value)); return *this;} private: DeploymentCircuitBreaker m_deploymentCircuitBreaker; bool m_deploymentCircuitBreakerHasBeenSet = false; int m_maximumPercent; bool m_maximumPercentHasBeenSet = false; int m_minimumHealthyPercent; bool m_minimumHealthyPercentHasBeenSet = false; DeploymentAlarms m_alarms; bool m_alarmsHasBeenSet = false; }; } // namespace Model } // namespace ECS } // namespace Aws