/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ECS { namespace Model { /** *

The details of an Amazon ECS service deployment. This is used only when a * service uses the ECS deployment controller type.

See * Also:

AWS API * Reference

*/ class Deployment { public: AWS_ECS_API Deployment(); AWS_ECS_API Deployment(Aws::Utils::Json::JsonView jsonValue); AWS_ECS_API Deployment& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The ID of the deployment.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The ID of the deployment.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The ID of the deployment.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The ID of the deployment.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The ID of the deployment.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The ID of the deployment.

*/ inline Deployment& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The ID of the deployment.

*/ inline Deployment& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The ID of the deployment.

*/ inline Deployment& WithId(const char* value) { SetId(value); return *this;} /** *

The status of the deployment. The following describes each state.

*
PRIMARY

The most recent deployment of a service.

*
ACTIVE

A service deployment that still has running tasks, but * are in the process of being replaced with a new PRIMARY * deployment.

INACTIVE

A deployment that has been * completely replaced.

*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *

The status of the deployment. The following describes each state.

*
PRIMARY

The most recent deployment of a service.

*
ACTIVE

A service deployment that still has running tasks, but * are in the process of being replaced with a new PRIMARY * deployment.

INACTIVE

A deployment that has been * completely replaced.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the deployment. The following describes each state.

*
PRIMARY

The most recent deployment of a service.

*
ACTIVE

A service deployment that still has running tasks, but * are in the process of being replaced with a new PRIMARY * deployment.

INACTIVE

A deployment that has been * completely replaced.

*/ inline void SetStatus(const Aws::String& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the deployment. The following describes each state.

*
PRIMARY

The most recent deployment of a service.

*
ACTIVE

A service deployment that still has running tasks, but * are in the process of being replaced with a new PRIMARY * deployment.

INACTIVE

A deployment that has been * completely replaced.

*/ inline void SetStatus(Aws::String&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the deployment. The following describes each state.

*
PRIMARY

The most recent deployment of a service.

*
ACTIVE

A service deployment that still has running tasks, but * are in the process of being replaced with a new PRIMARY * deployment.

INACTIVE

A deployment that has been * completely replaced.

*/ inline void SetStatus(const char* value) { m_statusHasBeenSet = true; m_status.assign(value); } /** *

The status of the deployment. The following describes each state.

*
PRIMARY

The most recent deployment of a service.

*
ACTIVE

A service deployment that still has running tasks, but * are in the process of being replaced with a new PRIMARY * deployment.

INACTIVE

A deployment that has been * completely replaced.

*/ inline Deployment& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *

The status of the deployment. The following describes each state.

*
PRIMARY

The most recent deployment of a service.

*
ACTIVE

A service deployment that still has running tasks, but * are in the process of being replaced with a new PRIMARY * deployment.

INACTIVE

A deployment that has been * completely replaced.

*/ inline Deployment& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *

The status of the deployment. The following describes each state.

*
PRIMARY

The most recent deployment of a service.

*
ACTIVE

A service deployment that still has running tasks, but * are in the process of being replaced with a new PRIMARY * deployment.

INACTIVE

A deployment that has been * completely replaced.

*/ inline Deployment& WithStatus(const char* value) { SetStatus(value); return *this;} /** *

The most recent task definition that was specified for the tasks in the * service to use.

*/ inline const Aws::String& GetTaskDefinition() const{ return m_taskDefinition; } /** *

The most recent task definition that was specified for the tasks in the * service to use.

*/ inline bool TaskDefinitionHasBeenSet() const { return m_taskDefinitionHasBeenSet; } /** *

The most recent task definition that was specified for the tasks in the * service to use.

*/ inline void SetTaskDefinition(const Aws::String& value) { m_taskDefinitionHasBeenSet = true; m_taskDefinition = value; } /** *

The most recent task definition that was specified for the tasks in the * service to use.

*/ inline void SetTaskDefinition(Aws::String&& value) { m_taskDefinitionHasBeenSet = true; m_taskDefinition = std::move(value); } /** *

The most recent task definition that was specified for the tasks in the * service to use.

*/ inline void SetTaskDefinition(const char* value) { m_taskDefinitionHasBeenSet = true; m_taskDefinition.assign(value); } /** *

The most recent task definition that was specified for the tasks in the * service to use.

*/ inline Deployment& WithTaskDefinition(const Aws::String& value) { SetTaskDefinition(value); return *this;} /** *

The most recent task definition that was specified for the tasks in the * service to use.

*/ inline Deployment& WithTaskDefinition(Aws::String&& value) { SetTaskDefinition(std::move(value)); return *this;} /** *

The most recent task definition that was specified for the tasks in the * service to use.

*/ inline Deployment& WithTaskDefinition(const char* value) { SetTaskDefinition(value); return *this;} /** *

The most recent desired count of tasks that was specified for the service to * deploy or maintain.

*/ inline int GetDesiredCount() const{ return m_desiredCount; } /** *

The most recent desired count of tasks that was specified for the service to * deploy or maintain.

*/ inline bool DesiredCountHasBeenSet() const { return m_desiredCountHasBeenSet; } /** *

The most recent desired count of tasks that was specified for the service to * deploy or maintain.

*/ inline void SetDesiredCount(int value) { m_desiredCountHasBeenSet = true; m_desiredCount = value; } /** *

The most recent desired count of tasks that was specified for the service to * deploy or maintain.

*/ inline Deployment& WithDesiredCount(int value) { SetDesiredCount(value); return *this;} /** *

The number of tasks in the deployment that are in the PENDING * status.

*/ inline int GetPendingCount() const{ return m_pendingCount; } /** *

The number of tasks in the deployment that are in the PENDING * status.

*/ inline bool PendingCountHasBeenSet() const { return m_pendingCountHasBeenSet; } /** *

The number of tasks in the deployment that are in the PENDING * status.

*/ inline void SetPendingCount(int value) { m_pendingCountHasBeenSet = true; m_pendingCount = value; } /** *

The number of tasks in the deployment that are in the PENDING * status.

*/ inline Deployment& WithPendingCount(int value) { SetPendingCount(value); return *this;} /** *

The number of tasks in the deployment that are in the RUNNING * status.

*/ inline int GetRunningCount() const{ return m_runningCount; } /** *

The number of tasks in the deployment that are in the RUNNING * status.

*/ inline bool RunningCountHasBeenSet() const { return m_runningCountHasBeenSet; } /** *

The number of tasks in the deployment that are in the RUNNING * status.

*/ inline void SetRunningCount(int value) { m_runningCountHasBeenSet = true; m_runningCount = value; } /** *

The number of tasks in the deployment that are in the RUNNING * status.

*/ inline Deployment& WithRunningCount(int value) { SetRunningCount(value); return *this;} /** *

The number of consecutively failed tasks in the deployment. A task is * considered a failure if the service scheduler can't launch the task, the task * doesn't transition to a RUNNING state, or if it fails any of its * defined health checks and is stopped.

Once a service deployment * has one or more successfully running tasks, the failed task count resets to zero * and stops being evaluated.

*/ inline int GetFailedTasks() const{ return m_failedTasks; } /** *

The number of consecutively failed tasks in the deployment. A task is * considered a failure if the service scheduler can't launch the task, the task * doesn't transition to a RUNNING state, or if it fails any of its * defined health checks and is stopped.

Once a service deployment * has one or more successfully running tasks, the failed task count resets to zero * and stops being evaluated.

*/ inline bool FailedTasksHasBeenSet() const { return m_failedTasksHasBeenSet; } /** *

The number of consecutively failed tasks in the deployment. A task is * considered a failure if the service scheduler can't launch the task, the task * doesn't transition to a RUNNING state, or if it fails any of its * defined health checks and is stopped.

Once a service deployment * has one or more successfully running tasks, the failed task count resets to zero * and stops being evaluated.

*/ inline void SetFailedTasks(int value) { m_failedTasksHasBeenSet = true; m_failedTasks = value; } /** *

The number of consecutively failed tasks in the deployment. A task is * considered a failure if the service scheduler can't launch the task, the task * doesn't transition to a RUNNING state, or if it fails any of its * defined health checks and is stopped.

Once a service deployment * has one or more successfully running tasks, the failed task count resets to zero * and stops being evaluated.

*/ inline Deployment& WithFailedTasks(int value) { SetFailedTasks(value); return *this;} /** *

The Unix timestamp for the time when the service deployment was created.

*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *

The Unix timestamp for the time when the service deployment was created.

*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *

The Unix timestamp for the time when the service deployment was created.

*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *

The Unix timestamp for the time when the service deployment was created.

*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *

The Unix timestamp for the time when the service deployment was created.

*/ inline Deployment& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *

The Unix timestamp for the time when the service deployment was created.

*/ inline Deployment& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** *

The Unix timestamp for the time when the service deployment was last * updated.

*/ inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; } /** *

The Unix timestamp for the time when the service deployment was last * updated.

*/ inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; } /** *

The Unix timestamp for the time when the service deployment was last * updated.

*/ inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; } /** *

The Unix timestamp for the time when the service deployment was last * updated.

*/ inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::move(value); } /** *

The Unix timestamp for the time when the service deployment was last * updated.

*/ inline Deployment& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;} /** *

The Unix timestamp for the time when the service deployment was last * updated.

*/ inline Deployment& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;} /** *

The capacity provider strategy that the deployment is using.

*/ inline const Aws::Vector& GetCapacityProviderStrategy() const{ return m_capacityProviderStrategy; } /** *

The capacity provider strategy that the deployment is using.

*/ inline bool CapacityProviderStrategyHasBeenSet() const { return m_capacityProviderStrategyHasBeenSet; } /** *

The capacity provider strategy that the deployment is using.

*/ inline void SetCapacityProviderStrategy(const Aws::Vector& value) { m_capacityProviderStrategyHasBeenSet = true; m_capacityProviderStrategy = value; } /** *

The capacity provider strategy that the deployment is using.

*/ inline void SetCapacityProviderStrategy(Aws::Vector&& value) { m_capacityProviderStrategyHasBeenSet = true; m_capacityProviderStrategy = std::move(value); } /** *

The capacity provider strategy that the deployment is using.

*/ inline Deployment& WithCapacityProviderStrategy(const Aws::Vector& value) { SetCapacityProviderStrategy(value); return *this;} /** *

The capacity provider strategy that the deployment is using.

*/ inline Deployment& WithCapacityProviderStrategy(Aws::Vector&& value) { SetCapacityProviderStrategy(std::move(value)); return *this;} /** *

The capacity provider strategy that the deployment is using.

*/ inline Deployment& AddCapacityProviderStrategy(const CapacityProviderStrategyItem& value) { m_capacityProviderStrategyHasBeenSet = true; m_capacityProviderStrategy.push_back(value); return *this; } /** *

The capacity provider strategy that the deployment is using.

*/ inline Deployment& AddCapacityProviderStrategy(CapacityProviderStrategyItem&& value) { m_capacityProviderStrategyHasBeenSet = true; m_capacityProviderStrategy.push_back(std::move(value)); return *this; } /** *

The launch type the tasks in the service are using. For more information, see * Amazon * ECS Launch Types in the Amazon Elastic Container Service Developer * Guide.

*/ inline const LaunchType& GetLaunchType() const{ return m_launchType; } /** *

The launch type the tasks in the service are using. For more information, see * Amazon * ECS Launch Types in the Amazon Elastic Container Service Developer * Guide.

*/ inline bool LaunchTypeHasBeenSet() const { return m_launchTypeHasBeenSet; } /** *

The launch type the tasks in the service are using. For more information, see * Amazon * ECS Launch Types in the Amazon Elastic Container Service Developer * Guide.

*/ inline void SetLaunchType(const LaunchType& value) { m_launchTypeHasBeenSet = true; m_launchType = value; } /** *

The launch type the tasks in the service are using. For more information, see * Amazon * ECS Launch Types in the Amazon Elastic Container Service Developer * Guide.

*/ inline void SetLaunchType(LaunchType&& value) { m_launchTypeHasBeenSet = true; m_launchType = std::move(value); } /** *

The launch type the tasks in the service are using. For more information, see * Amazon * ECS Launch Types in the Amazon Elastic Container Service Developer * Guide.

*/ inline Deployment& WithLaunchType(const LaunchType& value) { SetLaunchType(value); return *this;} /** *

The launch type the tasks in the service are using. For more information, see * Amazon * ECS Launch Types in the Amazon Elastic Container Service Developer * Guide.

*/ inline Deployment& WithLaunchType(LaunchType&& value) { SetLaunchType(std::move(value)); return *this;} /** *

The platform version that your tasks in the service run on. A platform * version is only specified for tasks using the Fargate launch type. If one isn't * specified, the LATEST platform version is used. For more * information, see Fargate * Platform Versions in the Amazon Elastic Container Service Developer * Guide.

*/ inline const Aws::String& GetPlatformVersion() const{ return m_platformVersion; } /** *

The platform version that your tasks in the service run on. A platform * version is only specified for tasks using the Fargate launch type. If one isn't * specified, the LATEST platform version is used. For more * information, see Fargate * Platform Versions in the Amazon Elastic Container Service Developer * Guide.

*/ inline bool PlatformVersionHasBeenSet() const { return m_platformVersionHasBeenSet; } /** *

The platform version that your tasks in the service run on. A platform * version is only specified for tasks using the Fargate launch type. If one isn't * specified, the LATEST platform version is used. For more * information, see Fargate * Platform Versions in the Amazon Elastic Container Service Developer * Guide.

*/ inline void SetPlatformVersion(const Aws::String& value) { m_platformVersionHasBeenSet = true; m_platformVersion = value; } /** *

The platform version that your tasks in the service run on. A platform * version is only specified for tasks using the Fargate launch type. If one isn't * specified, the LATEST platform version is used. For more * information, see Fargate * Platform Versions in the Amazon Elastic Container Service Developer * Guide.

*/ inline void SetPlatformVersion(Aws::String&& value) { m_platformVersionHasBeenSet = true; m_platformVersion = std::move(value); } /** *

The platform version that your tasks in the service run on. A platform * version is only specified for tasks using the Fargate launch type. If one isn't * specified, the LATEST platform version is used. For more * information, see Fargate * Platform Versions in the Amazon Elastic Container Service Developer * Guide.

*/ inline void SetPlatformVersion(const char* value) { m_platformVersionHasBeenSet = true; m_platformVersion.assign(value); } /** *

The platform version that your tasks in the service run on. A platform * version is only specified for tasks using the Fargate launch type. If one isn't * specified, the LATEST platform version is used. For more * information, see Fargate * Platform Versions in the Amazon Elastic Container Service Developer * Guide.

*/ inline Deployment& WithPlatformVersion(const Aws::String& value) { SetPlatformVersion(value); return *this;} /** *

The platform version that your tasks in the service run on. A platform * version is only specified for tasks using the Fargate launch type. If one isn't * specified, the LATEST platform version is used. For more * information, see Fargate * Platform Versions in the Amazon Elastic Container Service Developer * Guide.

*/ inline Deployment& WithPlatformVersion(Aws::String&& value) { SetPlatformVersion(std::move(value)); return *this;} /** *

The platform version that your tasks in the service run on. A platform * version is only specified for tasks using the Fargate launch type. If one isn't * specified, the LATEST platform version is used. For more * information, see Fargate * Platform Versions in the Amazon Elastic Container Service Developer * Guide.

*/ inline Deployment& WithPlatformVersion(const char* value) { SetPlatformVersion(value); return *this;} /** *

The operating system that your tasks in the service, or tasks are running on. * A platform family is specified only for tasks using the Fargate launch type. *

All tasks that run as part of this service must use the same * platformFamily value as the service, for example, * LINUX..

*/ inline const Aws::String& GetPlatformFamily() const{ return m_platformFamily; } /** *

The operating system that your tasks in the service, or tasks are running on. * A platform family is specified only for tasks using the Fargate launch type. *

All tasks that run as part of this service must use the same * platformFamily value as the service, for example, * LINUX..

*/ inline bool PlatformFamilyHasBeenSet() const { return m_platformFamilyHasBeenSet; } /** *

The operating system that your tasks in the service, or tasks are running on. * A platform family is specified only for tasks using the Fargate launch type. *

All tasks that run as part of this service must use the same * platformFamily value as the service, for example, * LINUX..

*/ inline void SetPlatformFamily(const Aws::String& value) { m_platformFamilyHasBeenSet = true; m_platformFamily = value; } /** *

The operating system that your tasks in the service, or tasks are running on. * A platform family is specified only for tasks using the Fargate launch type. *

All tasks that run as part of this service must use the same * platformFamily value as the service, for example, * LINUX..

*/ inline void SetPlatformFamily(Aws::String&& value) { m_platformFamilyHasBeenSet = true; m_platformFamily = std::move(value); } /** *

The operating system that your tasks in the service, or tasks are running on. * A platform family is specified only for tasks using the Fargate launch type. *

All tasks that run as part of this service must use the same * platformFamily value as the service, for example, * LINUX..

*/ inline void SetPlatformFamily(const char* value) { m_platformFamilyHasBeenSet = true; m_platformFamily.assign(value); } /** *

The operating system that your tasks in the service, or tasks are running on. * A platform family is specified only for tasks using the Fargate launch type. *

All tasks that run as part of this service must use the same * platformFamily value as the service, for example, * LINUX..

*/ inline Deployment& WithPlatformFamily(const Aws::String& value) { SetPlatformFamily(value); return *this;} /** *

The operating system that your tasks in the service, or tasks are running on. * A platform family is specified only for tasks using the Fargate launch type. *

All tasks that run as part of this service must use the same * platformFamily value as the service, for example, * LINUX..

*/ inline Deployment& WithPlatformFamily(Aws::String&& value) { SetPlatformFamily(std::move(value)); return *this;} /** *

The operating system that your tasks in the service, or tasks are running on. * A platform family is specified only for tasks using the Fargate launch type. *

All tasks that run as part of this service must use the same * platformFamily value as the service, for example, * LINUX..

*/ inline Deployment& WithPlatformFamily(const char* value) { SetPlatformFamily(value); return *this;} /** *

The VPC subnet and security group configuration for tasks that receive their * own elastic network interface by using the awsvpc networking * mode.

*/ inline const NetworkConfiguration& GetNetworkConfiguration() const{ return m_networkConfiguration; } /** *

The VPC subnet and security group configuration for tasks that receive their * own elastic network interface by using the awsvpc networking * mode.

*/ inline bool NetworkConfigurationHasBeenSet() const { return m_networkConfigurationHasBeenSet; } /** *

The VPC subnet and security group configuration for tasks that receive their * own elastic network interface by using the awsvpc networking * mode.

*/ inline void SetNetworkConfiguration(const NetworkConfiguration& value) { m_networkConfigurationHasBeenSet = true; m_networkConfiguration = value; } /** *

The VPC subnet and security group configuration for tasks that receive their * own elastic network interface by using the awsvpc networking * mode.

*/ inline void SetNetworkConfiguration(NetworkConfiguration&& value) { m_networkConfigurationHasBeenSet = true; m_networkConfiguration = std::move(value); } /** *

The VPC subnet and security group configuration for tasks that receive their * own elastic network interface by using the awsvpc networking * mode.

*/ inline Deployment& WithNetworkConfiguration(const NetworkConfiguration& value) { SetNetworkConfiguration(value); return *this;} /** *

The VPC subnet and security group configuration for tasks that receive their * own elastic network interface by using the awsvpc networking * mode.

*/ inline Deployment& WithNetworkConfiguration(NetworkConfiguration&& value) { SetNetworkConfiguration(std::move(value)); return *this;} /** *

The rolloutState of a service is only returned for * services that use the rolling update (ECS) deployment type that * aren't behind a Classic Load Balancer.

The rollout state of the * deployment. When a service deployment is started, it begins in an * IN_PROGRESS state. When the service reaches a steady state, the * deployment transitions to a COMPLETED state. If the service fails * to reach a steady state and circuit breaker is turned on, the deployment * transitions to a FAILED state. A deployment in FAILED * state doesn't launch any new tasks. For more information, see * DeploymentCircuitBreaker.

*/ inline const DeploymentRolloutState& GetRolloutState() const{ return m_rolloutState; } /** *

The rolloutState of a service is only returned for * services that use the rolling update (ECS) deployment type that * aren't behind a Classic Load Balancer.

The rollout state of the * deployment. When a service deployment is started, it begins in an * IN_PROGRESS state. When the service reaches a steady state, the * deployment transitions to a COMPLETED state. If the service fails * to reach a steady state and circuit breaker is turned on, the deployment * transitions to a FAILED state. A deployment in FAILED * state doesn't launch any new tasks. For more information, see * DeploymentCircuitBreaker.

*/ inline bool RolloutStateHasBeenSet() const { return m_rolloutStateHasBeenSet; } /** *

The rolloutState of a service is only returned for * services that use the rolling update (ECS) deployment type that * aren't behind a Classic Load Balancer.

The rollout state of the * deployment. When a service deployment is started, it begins in an * IN_PROGRESS state. When the service reaches a steady state, the * deployment transitions to a COMPLETED state. If the service fails * to reach a steady state and circuit breaker is turned on, the deployment * transitions to a FAILED state. A deployment in FAILED * state doesn't launch any new tasks. For more information, see * DeploymentCircuitBreaker.

*/ inline void SetRolloutState(const DeploymentRolloutState& value) { m_rolloutStateHasBeenSet = true; m_rolloutState = value; } /** *

The rolloutState of a service is only returned for * services that use the rolling update (ECS) deployment type that * aren't behind a Classic Load Balancer.

The rollout state of the * deployment. When a service deployment is started, it begins in an * IN_PROGRESS state. When the service reaches a steady state, the * deployment transitions to a COMPLETED state. If the service fails * to reach a steady state and circuit breaker is turned on, the deployment * transitions to a FAILED state. A deployment in FAILED * state doesn't launch any new tasks. For more information, see * DeploymentCircuitBreaker.

*/ inline void SetRolloutState(DeploymentRolloutState&& value) { m_rolloutStateHasBeenSet = true; m_rolloutState = std::move(value); } /** *

The rolloutState of a service is only returned for * services that use the rolling update (ECS) deployment type that * aren't behind a Classic Load Balancer.

The rollout state of the * deployment. When a service deployment is started, it begins in an * IN_PROGRESS state. When the service reaches a steady state, the * deployment transitions to a COMPLETED state. If the service fails * to reach a steady state and circuit breaker is turned on, the deployment * transitions to a FAILED state. A deployment in FAILED * state doesn't launch any new tasks. For more information, see * DeploymentCircuitBreaker.

*/ inline Deployment& WithRolloutState(const DeploymentRolloutState& value) { SetRolloutState(value); return *this;} /** *

The rolloutState of a service is only returned for * services that use the rolling update (ECS) deployment type that * aren't behind a Classic Load Balancer.

The rollout state of the * deployment. When a service deployment is started, it begins in an * IN_PROGRESS state. When the service reaches a steady state, the * deployment transitions to a COMPLETED state. If the service fails * to reach a steady state and circuit breaker is turned on, the deployment * transitions to a FAILED state. A deployment in FAILED * state doesn't launch any new tasks. For more information, see * DeploymentCircuitBreaker.

*/ inline Deployment& WithRolloutState(DeploymentRolloutState&& value) { SetRolloutState(std::move(value)); return *this;} /** *

A description of the rollout state of a deployment.

*/ inline const Aws::String& GetRolloutStateReason() const{ return m_rolloutStateReason; } /** *

A description of the rollout state of a deployment.

*/ inline bool RolloutStateReasonHasBeenSet() const { return m_rolloutStateReasonHasBeenSet; } /** *

A description of the rollout state of a deployment.

*/ inline void SetRolloutStateReason(const Aws::String& value) { m_rolloutStateReasonHasBeenSet = true; m_rolloutStateReason = value; } /** *

A description of the rollout state of a deployment.

*/ inline void SetRolloutStateReason(Aws::String&& value) { m_rolloutStateReasonHasBeenSet = true; m_rolloutStateReason = std::move(value); } /** *

A description of the rollout state of a deployment.

*/ inline void SetRolloutStateReason(const char* value) { m_rolloutStateReasonHasBeenSet = true; m_rolloutStateReason.assign(value); } /** *

A description of the rollout state of a deployment.

*/ inline Deployment& WithRolloutStateReason(const Aws::String& value) { SetRolloutStateReason(value); return *this;} /** *

A description of the rollout state of a deployment.

*/ inline Deployment& WithRolloutStateReason(Aws::String&& value) { SetRolloutStateReason(std::move(value)); return *this;} /** *

A description of the rollout state of a deployment.

*/ inline Deployment& WithRolloutStateReason(const char* value) { SetRolloutStateReason(value); return *this;} /** *

The details of the Service Connect configuration that's used by this * deployment. Compare the configuration between multiple deployments when * troubleshooting issues with new deployments.

The configuration for this * service to discover and connect to services, and be discovered by, and connected * from, other services within a namespace.

Tasks that run in a namespace * can use short names to connect to services in the namespace. Tasks can connect * to services across all of the clusters in the namespace. Tasks connect through a * managed proxy container that collects logs and metrics for increased visibility. * Only the tasks that Amazon ECS services create are supported with Service * Connect. For more information, see Service * Connect in the Amazon Elastic Container Service Developer Guide.

*/ inline const ServiceConnectConfiguration& GetServiceConnectConfiguration() const{ return m_serviceConnectConfiguration; } /** *

The details of the Service Connect configuration that's used by this * deployment. Compare the configuration between multiple deployments when * troubleshooting issues with new deployments.

The configuration for this * service to discover and connect to services, and be discovered by, and connected * from, other services within a namespace.

Tasks that run in a namespace * can use short names to connect to services in the namespace. Tasks can connect * to services across all of the clusters in the namespace. Tasks connect through a * managed proxy container that collects logs and metrics for increased visibility. * Only the tasks that Amazon ECS services create are supported with Service * Connect. For more information, see Service * Connect in the Amazon Elastic Container Service Developer Guide.

*/ inline bool ServiceConnectConfigurationHasBeenSet() const { return m_serviceConnectConfigurationHasBeenSet; } /** *

The details of the Service Connect configuration that's used by this * deployment. Compare the configuration between multiple deployments when * troubleshooting issues with new deployments.

The configuration for this * service to discover and connect to services, and be discovered by, and connected * from, other services within a namespace.

Tasks that run in a namespace * can use short names to connect to services in the namespace. Tasks can connect * to services across all of the clusters in the namespace. Tasks connect through a * managed proxy container that collects logs and metrics for increased visibility. * Only the tasks that Amazon ECS services create are supported with Service * Connect. For more information, see Service * Connect in the Amazon Elastic Container Service Developer Guide.

*/ inline void SetServiceConnectConfiguration(const ServiceConnectConfiguration& value) { m_serviceConnectConfigurationHasBeenSet = true; m_serviceConnectConfiguration = value; } /** *

The details of the Service Connect configuration that's used by this * deployment. Compare the configuration between multiple deployments when * troubleshooting issues with new deployments.

The configuration for this * service to discover and connect to services, and be discovered by, and connected * from, other services within a namespace.

Tasks that run in a namespace * can use short names to connect to services in the namespace. Tasks can connect * to services across all of the clusters in the namespace. Tasks connect through a * managed proxy container that collects logs and metrics for increased visibility. * Only the tasks that Amazon ECS services create are supported with Service * Connect. For more information, see Service * Connect in the Amazon Elastic Container Service Developer Guide.

*/ inline void SetServiceConnectConfiguration(ServiceConnectConfiguration&& value) { m_serviceConnectConfigurationHasBeenSet = true; m_serviceConnectConfiguration = std::move(value); } /** *

The details of the Service Connect configuration that's used by this * deployment. Compare the configuration between multiple deployments when * troubleshooting issues with new deployments.

The configuration for this * service to discover and connect to services, and be discovered by, and connected * from, other services within a namespace.

Tasks that run in a namespace * can use short names to connect to services in the namespace. Tasks can connect * to services across all of the clusters in the namespace. Tasks connect through a * managed proxy container that collects logs and metrics for increased visibility. * Only the tasks that Amazon ECS services create are supported with Service * Connect. For more information, see Service * Connect in the Amazon Elastic Container Service Developer Guide.

*/ inline Deployment& WithServiceConnectConfiguration(const ServiceConnectConfiguration& value) { SetServiceConnectConfiguration(value); return *this;} /** *

The details of the Service Connect configuration that's used by this * deployment. Compare the configuration between multiple deployments when * troubleshooting issues with new deployments.

The configuration for this * service to discover and connect to services, and be discovered by, and connected * from, other services within a namespace.

Tasks that run in a namespace * can use short names to connect to services in the namespace. Tasks can connect * to services across all of the clusters in the namespace. Tasks connect through a * managed proxy container that collects logs and metrics for increased visibility. * Only the tasks that Amazon ECS services create are supported with Service * Connect. For more information, see Service * Connect in the Amazon Elastic Container Service Developer Guide.

*/ inline Deployment& WithServiceConnectConfiguration(ServiceConnectConfiguration&& value) { SetServiceConnectConfiguration(std::move(value)); return *this;} /** *

The list of Service Connect resources that are associated with this * deployment. Each list entry maps a discovery name to a Cloud Map service * name.

*/ inline const Aws::Vector& GetServiceConnectResources() const{ return m_serviceConnectResources; } /** *

The list of Service Connect resources that are associated with this * deployment. Each list entry maps a discovery name to a Cloud Map service * name.

*/ inline bool ServiceConnectResourcesHasBeenSet() const { return m_serviceConnectResourcesHasBeenSet; } /** *

The list of Service Connect resources that are associated with this * deployment. Each list entry maps a discovery name to a Cloud Map service * name.

*/ inline void SetServiceConnectResources(const Aws::Vector& value) { m_serviceConnectResourcesHasBeenSet = true; m_serviceConnectResources = value; } /** *

The list of Service Connect resources that are associated with this * deployment. Each list entry maps a discovery name to a Cloud Map service * name.

*/ inline void SetServiceConnectResources(Aws::Vector&& value) { m_serviceConnectResourcesHasBeenSet = true; m_serviceConnectResources = std::move(value); } /** *

The list of Service Connect resources that are associated with this * deployment. Each list entry maps a discovery name to a Cloud Map service * name.

*/ inline Deployment& WithServiceConnectResources(const Aws::Vector& value) { SetServiceConnectResources(value); return *this;} /** *

The list of Service Connect resources that are associated with this * deployment. Each list entry maps a discovery name to a Cloud Map service * name.

*/ inline Deployment& WithServiceConnectResources(Aws::Vector&& value) { SetServiceConnectResources(std::move(value)); return *this;} /** *

The list of Service Connect resources that are associated with this * deployment. Each list entry maps a discovery name to a Cloud Map service * name.

*/ inline Deployment& AddServiceConnectResources(const ServiceConnectServiceResource& value) { m_serviceConnectResourcesHasBeenSet = true; m_serviceConnectResources.push_back(value); return *this; } /** *

The list of Service Connect resources that are associated with this * deployment. Each list entry maps a discovery name to a Cloud Map service * name.

*/ inline Deployment& AddServiceConnectResources(ServiceConnectServiceResource&& value) { m_serviceConnectResourcesHasBeenSet = true; m_serviceConnectResources.push_back(std::move(value)); return *this; } private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_status; bool m_statusHasBeenSet = false; Aws::String m_taskDefinition; bool m_taskDefinitionHasBeenSet = false; int m_desiredCount; bool m_desiredCountHasBeenSet = false; int m_pendingCount; bool m_pendingCountHasBeenSet = false; int m_runningCount; bool m_runningCountHasBeenSet = false; int m_failedTasks; bool m_failedTasksHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; Aws::Utils::DateTime m_updatedAt; bool m_updatedAtHasBeenSet = false; Aws::Vector m_capacityProviderStrategy; bool m_capacityProviderStrategyHasBeenSet = false; LaunchType m_launchType; bool m_launchTypeHasBeenSet = false; Aws::String m_platformVersion; bool m_platformVersionHasBeenSet = false; Aws::String m_platformFamily; bool m_platformFamilyHasBeenSet = false; NetworkConfiguration m_networkConfiguration; bool m_networkConfigurationHasBeenSet = false; DeploymentRolloutState m_rolloutState; bool m_rolloutStateHasBeenSet = false; Aws::String m_rolloutStateReason; bool m_rolloutStateReasonHasBeenSet = false; ServiceConnectConfiguration m_serviceConnectConfiguration; bool m_serviceConnectConfigurationHasBeenSet = false; Aws::Vector m_serviceConnectResources; bool m_serviceConnectResourcesHasBeenSet = false; }; } // namespace Model } // namespace ECS } // namespace Aws