This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/support/aws-sdk-cpp-master/aws-cpp-sdk-ecs/include/aws/ecs/model/DeploymentConfiguration.h

249 lines
15 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/ecs/ECS_EXPORTS.h>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace ECS
{
namespace Model
{
/**
* <p>Optional deployment parameters that control how many tasks run during a
* deployment and the ordering of stopping and starting tasks.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeploymentConfiguration">AWS
* API Reference</a></p>
*/
class AWS_ECS_API DeploymentConfiguration
{
public:
DeploymentConfiguration();
DeploymentConfiguration(Aws::Utils::Json::JsonView jsonValue);
DeploymentConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>If a service is using the rolling update (<code>ECS</code>) deployment type,
* the <b>maximum percent</b> parameter represents an upper limit on the number of
* tasks in a service that are allowed in the <code>RUNNING</code> or
* <code>PENDING</code> state during a deployment, as a percentage of the desired
* number of tasks (rounded down to the nearest integer), and while any container
* instances are in the <code>DRAINING</code> state if the service contains tasks
* using the EC2 launch type. This parameter enables you to define the deployment
* batch size. For example, if your service has a desired number of four tasks and
* a maximum percent 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 value for maximum percent is 200%.</p> <p>If
* a service is using the blue/green (<code>CODE_DEPLOY</code>) or
* <code>EXTERNAL</code> deployment types and tasks that use the EC2 launch type,
* the <b>maximum percent</b> 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 <code>RUNNING</code> state while the container instances are in the
* <code>DRAINING</code> 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.</p>
*/
inline int GetMaximumPercent() const{ return m_maximumPercent; }
/**
* <p>If a service is using the rolling update (<code>ECS</code>) deployment type,
* the <b>maximum percent</b> parameter represents an upper limit on the number of
* tasks in a service that are allowed in the <code>RUNNING</code> or
* <code>PENDING</code> state during a deployment, as a percentage of the desired
* number of tasks (rounded down to the nearest integer), and while any container
* instances are in the <code>DRAINING</code> state if the service contains tasks
* using the EC2 launch type. This parameter enables you to define the deployment
* batch size. For example, if your service has a desired number of four tasks and
* a maximum percent 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 value for maximum percent is 200%.</p> <p>If
* a service is using the blue/green (<code>CODE_DEPLOY</code>) or
* <code>EXTERNAL</code> deployment types and tasks that use the EC2 launch type,
* the <b>maximum percent</b> 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 <code>RUNNING</code> state while the container instances are in the
* <code>DRAINING</code> 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.</p>
*/
inline bool MaximumPercentHasBeenSet() const { return m_maximumPercentHasBeenSet; }
/**
* <p>If a service is using the rolling update (<code>ECS</code>) deployment type,
* the <b>maximum percent</b> parameter represents an upper limit on the number of
* tasks in a service that are allowed in the <code>RUNNING</code> or
* <code>PENDING</code> state during a deployment, as a percentage of the desired
* number of tasks (rounded down to the nearest integer), and while any container
* instances are in the <code>DRAINING</code> state if the service contains tasks
* using the EC2 launch type. This parameter enables you to define the deployment
* batch size. For example, if your service has a desired number of four tasks and
* a maximum percent 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 value for maximum percent is 200%.</p> <p>If
* a service is using the blue/green (<code>CODE_DEPLOY</code>) or
* <code>EXTERNAL</code> deployment types and tasks that use the EC2 launch type,
* the <b>maximum percent</b> 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 <code>RUNNING</code> state while the container instances are in the
* <code>DRAINING</code> 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.</p>
*/
inline void SetMaximumPercent(int value) { m_maximumPercentHasBeenSet = true; m_maximumPercent = value; }
/**
* <p>If a service is using the rolling update (<code>ECS</code>) deployment type,
* the <b>maximum percent</b> parameter represents an upper limit on the number of
* tasks in a service that are allowed in the <code>RUNNING</code> or
* <code>PENDING</code> state during a deployment, as a percentage of the desired
* number of tasks (rounded down to the nearest integer), and while any container
* instances are in the <code>DRAINING</code> state if the service contains tasks
* using the EC2 launch type. This parameter enables you to define the deployment
* batch size. For example, if your service has a desired number of four tasks and
* a maximum percent 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 value for maximum percent is 200%.</p> <p>If
* a service is using the blue/green (<code>CODE_DEPLOY</code>) or
* <code>EXTERNAL</code> deployment types and tasks that use the EC2 launch type,
* the <b>maximum percent</b> 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 <code>RUNNING</code> state while the container instances are in the
* <code>DRAINING</code> 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.</p>
*/
inline DeploymentConfiguration& WithMaximumPercent(int value) { SetMaximumPercent(value); return *this;}
/**
* <p>If a service is using the rolling update (<code>ECS</code>) deployment type,
* the <b>minimum healthy percent</b> represents a lower limit on the number of
* tasks in a service that must remain in the <code>RUNNING</code> state during a
* deployment, as a percentage of the desired number of tasks (rounded up to the
* nearest integer), and while any container instances are in the
* <code>DRAINING</code> state if the service contains tasks using the EC2 launch
* type. This parameter enables you to deploy without using additional cluster
* capacity. For example, if your service has a desired number of four tasks and a
* minimum healthy percent of 50%, the scheduler may stop two existing tasks to
* free up cluster capacity before starting two new tasks. Tasks for services that
* <i>do not</i> use a load balancer are considered healthy if they are in the
* <code>RUNNING</code> state; tasks for services that <i>do</i> use a load
* balancer are considered healthy if they are in the <code>RUNNING</code> state
* and they are reported as healthy by the load balancer. The default value for
* minimum healthy percent is 100%.</p> <p>If a service is using the blue/green
* (<code>CODE_DEPLOY</code>) or <code>EXTERNAL</code> deployment types and tasks
* that use the EC2 launch type, the <b>minimum healthy percent</b> 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 <code>RUNNING</code> state while the
* container instances are in the <code>DRAINING</code> state. If the tasks in the
* service use the Fargate launch type, the minimum healthy percent value is not
* used, although it is returned when describing your service.</p>
*/
inline int GetMinimumHealthyPercent() const{ return m_minimumHealthyPercent; }
/**
* <p>If a service is using the rolling update (<code>ECS</code>) deployment type,
* the <b>minimum healthy percent</b> represents a lower limit on the number of
* tasks in a service that must remain in the <code>RUNNING</code> state during a
* deployment, as a percentage of the desired number of tasks (rounded up to the
* nearest integer), and while any container instances are in the
* <code>DRAINING</code> state if the service contains tasks using the EC2 launch
* type. This parameter enables you to deploy without using additional cluster
* capacity. For example, if your service has a desired number of four tasks and a
* minimum healthy percent of 50%, the scheduler may stop two existing tasks to
* free up cluster capacity before starting two new tasks. Tasks for services that
* <i>do not</i> use a load balancer are considered healthy if they are in the
* <code>RUNNING</code> state; tasks for services that <i>do</i> use a load
* balancer are considered healthy if they are in the <code>RUNNING</code> state
* and they are reported as healthy by the load balancer. The default value for
* minimum healthy percent is 100%.</p> <p>If a service is using the blue/green
* (<code>CODE_DEPLOY</code>) or <code>EXTERNAL</code> deployment types and tasks
* that use the EC2 launch type, the <b>minimum healthy percent</b> 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 <code>RUNNING</code> state while the
* container instances are in the <code>DRAINING</code> state. If the tasks in the
* service use the Fargate launch type, the minimum healthy percent value is not
* used, although it is returned when describing your service.</p>
*/
inline bool MinimumHealthyPercentHasBeenSet() const { return m_minimumHealthyPercentHasBeenSet; }
/**
* <p>If a service is using the rolling update (<code>ECS</code>) deployment type,
* the <b>minimum healthy percent</b> represents a lower limit on the number of
* tasks in a service that must remain in the <code>RUNNING</code> state during a
* deployment, as a percentage of the desired number of tasks (rounded up to the
* nearest integer), and while any container instances are in the
* <code>DRAINING</code> state if the service contains tasks using the EC2 launch
* type. This parameter enables you to deploy without using additional cluster
* capacity. For example, if your service has a desired number of four tasks and a
* minimum healthy percent of 50%, the scheduler may stop two existing tasks to
* free up cluster capacity before starting two new tasks. Tasks for services that
* <i>do not</i> use a load balancer are considered healthy if they are in the
* <code>RUNNING</code> state; tasks for services that <i>do</i> use a load
* balancer are considered healthy if they are in the <code>RUNNING</code> state
* and they are reported as healthy by the load balancer. The default value for
* minimum healthy percent is 100%.</p> <p>If a service is using the blue/green
* (<code>CODE_DEPLOY</code>) or <code>EXTERNAL</code> deployment types and tasks
* that use the EC2 launch type, the <b>minimum healthy percent</b> 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 <code>RUNNING</code> state while the
* container instances are in the <code>DRAINING</code> state. If the tasks in the
* service use the Fargate launch type, the minimum healthy percent value is not
* used, although it is returned when describing your service.</p>
*/
inline void SetMinimumHealthyPercent(int value) { m_minimumHealthyPercentHasBeenSet = true; m_minimumHealthyPercent = value; }
/**
* <p>If a service is using the rolling update (<code>ECS</code>) deployment type,
* the <b>minimum healthy percent</b> represents a lower limit on the number of
* tasks in a service that must remain in the <code>RUNNING</code> state during a
* deployment, as a percentage of the desired number of tasks (rounded up to the
* nearest integer), and while any container instances are in the
* <code>DRAINING</code> state if the service contains tasks using the EC2 launch
* type. This parameter enables you to deploy without using additional cluster
* capacity. For example, if your service has a desired number of four tasks and a
* minimum healthy percent of 50%, the scheduler may stop two existing tasks to
* free up cluster capacity before starting two new tasks. Tasks for services that
* <i>do not</i> use a load balancer are considered healthy if they are in the
* <code>RUNNING</code> state; tasks for services that <i>do</i> use a load
* balancer are considered healthy if they are in the <code>RUNNING</code> state
* and they are reported as healthy by the load balancer. The default value for
* minimum healthy percent is 100%.</p> <p>If a service is using the blue/green
* (<code>CODE_DEPLOY</code>) or <code>EXTERNAL</code> deployment types and tasks
* that use the EC2 launch type, the <b>minimum healthy percent</b> 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 <code>RUNNING</code> state while the
* container instances are in the <code>DRAINING</code> state. If the tasks in the
* service use the Fargate launch type, the minimum healthy percent value is not
* used, although it is returned when describing your service.</p>
*/
inline DeploymentConfiguration& WithMinimumHealthyPercent(int value) { SetMinimumHealthyPercent(value); return *this;}
private:
int m_maximumPercent;
bool m_maximumPercentHasBeenSet;
int m_minimumHealthyPercent;
bool m_minimumHealthyPercentHasBeenSet;
};
} // namespace Model
} // namespace ECS
} // namespace Aws