/** * 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 #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ECS { namespace Model { /** *

Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or an * EXTERNAL deployment. An Amazon ECS task set includes details such * as the desired number of tasks, how many tasks are running, and whether the task * set serves production traffic.

See Also:

AWS API * Reference

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

The ID of the task set.

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

The ID of the task set.

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

The ID of the task set.

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

The ID of the task set.

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

The ID of the task set.

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

The ID of the task set.

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

The ID of the task set.

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

The ID of the task set.

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

The Amazon Resource Name (ARN) of the task set.

*/ inline const Aws::String& GetTaskSetArn() const{ return m_taskSetArn; } /** *

The Amazon Resource Name (ARN) of the task set.

*/ inline bool TaskSetArnHasBeenSet() const { return m_taskSetArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the task set.

*/ inline void SetTaskSetArn(const Aws::String& value) { m_taskSetArnHasBeenSet = true; m_taskSetArn = value; } /** *

The Amazon Resource Name (ARN) of the task set.

*/ inline void SetTaskSetArn(Aws::String&& value) { m_taskSetArnHasBeenSet = true; m_taskSetArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the task set.

*/ inline void SetTaskSetArn(const char* value) { m_taskSetArnHasBeenSet = true; m_taskSetArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the task set.

*/ inline TaskSet& WithTaskSetArn(const Aws::String& value) { SetTaskSetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the task set.

*/ inline TaskSet& WithTaskSetArn(Aws::String&& value) { SetTaskSetArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the task set.

*/ inline TaskSet& WithTaskSetArn(const char* value) { SetTaskSetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the service the task set exists in.

*/ inline const Aws::String& GetServiceArn() const{ return m_serviceArn; } /** *

The Amazon Resource Name (ARN) of the service the task set exists in.

*/ inline bool ServiceArnHasBeenSet() const { return m_serviceArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the service the task set exists in.

*/ inline void SetServiceArn(const Aws::String& value) { m_serviceArnHasBeenSet = true; m_serviceArn = value; } /** *

The Amazon Resource Name (ARN) of the service the task set exists in.

*/ inline void SetServiceArn(Aws::String&& value) { m_serviceArnHasBeenSet = true; m_serviceArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the service the task set exists in.

*/ inline void SetServiceArn(const char* value) { m_serviceArnHasBeenSet = true; m_serviceArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the service the task set exists in.

*/ inline TaskSet& WithServiceArn(const Aws::String& value) { SetServiceArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the service the task set exists in.

*/ inline TaskSet& WithServiceArn(Aws::String&& value) { SetServiceArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the service the task set exists in.

*/ inline TaskSet& WithServiceArn(const char* value) { SetServiceArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the cluster that the service that hosts the * task set exists in.

*/ inline const Aws::String& GetClusterArn() const{ return m_clusterArn; } /** *

The Amazon Resource Name (ARN) of the cluster that the service that hosts the * task set exists in.

*/ inline bool ClusterArnHasBeenSet() const { return m_clusterArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the cluster that the service that hosts the * task set exists in.

*/ inline void SetClusterArn(const Aws::String& value) { m_clusterArnHasBeenSet = true; m_clusterArn = value; } /** *

The Amazon Resource Name (ARN) of the cluster that the service that hosts the * task set exists in.

*/ inline void SetClusterArn(Aws::String&& value) { m_clusterArnHasBeenSet = true; m_clusterArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the cluster that the service that hosts the * task set exists in.

*/ inline void SetClusterArn(const char* value) { m_clusterArnHasBeenSet = true; m_clusterArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the cluster that the service that hosts the * task set exists in.

*/ inline TaskSet& WithClusterArn(const Aws::String& value) { SetClusterArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the cluster that the service that hosts the * task set exists in.

*/ inline TaskSet& WithClusterArn(Aws::String&& value) { SetClusterArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the cluster that the service that hosts the * task set exists in.

*/ inline TaskSet& WithClusterArn(const char* value) { SetClusterArn(value); return *this;} /** *

The tag specified when a task set is started. If the task set is created by * an AWS CodeDeploy deployment, the startedBy parameter is * CODE_DEPLOY. For a task set created for an external deployment, the * startedBy field isn't used.

*/ inline const Aws::String& GetStartedBy() const{ return m_startedBy; } /** *

The tag specified when a task set is started. If the task set is created by * an AWS CodeDeploy deployment, the startedBy parameter is * CODE_DEPLOY. For a task set created for an external deployment, the * startedBy field isn't used.

*/ inline bool StartedByHasBeenSet() const { return m_startedByHasBeenSet; } /** *

The tag specified when a task set is started. If the task set is created by * an AWS CodeDeploy deployment, the startedBy parameter is * CODE_DEPLOY. For a task set created for an external deployment, the * startedBy field isn't used.

*/ inline void SetStartedBy(const Aws::String& value) { m_startedByHasBeenSet = true; m_startedBy = value; } /** *

The tag specified when a task set is started. If the task set is created by * an AWS CodeDeploy deployment, the startedBy parameter is * CODE_DEPLOY. For a task set created for an external deployment, the * startedBy field isn't used.

*/ inline void SetStartedBy(Aws::String&& value) { m_startedByHasBeenSet = true; m_startedBy = std::move(value); } /** *

The tag specified when a task set is started. If the task set is created by * an AWS CodeDeploy deployment, the startedBy parameter is * CODE_DEPLOY. For a task set created for an external deployment, the * startedBy field isn't used.

*/ inline void SetStartedBy(const char* value) { m_startedByHasBeenSet = true; m_startedBy.assign(value); } /** *

The tag specified when a task set is started. If the task set is created by * an AWS CodeDeploy deployment, the startedBy parameter is * CODE_DEPLOY. For a task set created for an external deployment, the * startedBy field isn't used.

*/ inline TaskSet& WithStartedBy(const Aws::String& value) { SetStartedBy(value); return *this;} /** *

The tag specified when a task set is started. If the task set is created by * an AWS CodeDeploy deployment, the startedBy parameter is * CODE_DEPLOY. For a task set created for an external deployment, the * startedBy field isn't used.

*/ inline TaskSet& WithStartedBy(Aws::String&& value) { SetStartedBy(std::move(value)); return *this;} /** *

The tag specified when a task set is started. If the task set is created by * an AWS CodeDeploy deployment, the startedBy parameter is * CODE_DEPLOY. For a task set created for an external deployment, the * startedBy field isn't used.

*/ inline TaskSet& WithStartedBy(const char* value) { SetStartedBy(value); return *this;} /** *

The external ID associated with the task set.

If a task set is created * by an AWS CodeDeploy deployment, the externalId parameter contains * the AWS CodeDeploy deployment ID.

If a task set is created for an * external deployment and is associated with a service discovery registry, the * externalId parameter contains the * ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute.

*/ inline const Aws::String& GetExternalId() const{ return m_externalId; } /** *

The external ID associated with the task set.

If a task set is created * by an AWS CodeDeploy deployment, the externalId parameter contains * the AWS CodeDeploy deployment ID.

If a task set is created for an * external deployment and is associated with a service discovery registry, the * externalId parameter contains the * ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute.

*/ inline bool ExternalIdHasBeenSet() const { return m_externalIdHasBeenSet; } /** *

The external ID associated with the task set.

If a task set is created * by an AWS CodeDeploy deployment, the externalId parameter contains * the AWS CodeDeploy deployment ID.

If a task set is created for an * external deployment and is associated with a service discovery registry, the * externalId parameter contains the * ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute.

*/ inline void SetExternalId(const Aws::String& value) { m_externalIdHasBeenSet = true; m_externalId = value; } /** *

The external ID associated with the task set.

If a task set is created * by an AWS CodeDeploy deployment, the externalId parameter contains * the AWS CodeDeploy deployment ID.

If a task set is created for an * external deployment and is associated with a service discovery registry, the * externalId parameter contains the * ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute.

*/ inline void SetExternalId(Aws::String&& value) { m_externalIdHasBeenSet = true; m_externalId = std::move(value); } /** *

The external ID associated with the task set.

If a task set is created * by an AWS CodeDeploy deployment, the externalId parameter contains * the AWS CodeDeploy deployment ID.

If a task set is created for an * external deployment and is associated with a service discovery registry, the * externalId parameter contains the * ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute.

*/ inline void SetExternalId(const char* value) { m_externalIdHasBeenSet = true; m_externalId.assign(value); } /** *

The external ID associated with the task set.

If a task set is created * by an AWS CodeDeploy deployment, the externalId parameter contains * the AWS CodeDeploy deployment ID.

If a task set is created for an * external deployment and is associated with a service discovery registry, the * externalId parameter contains the * ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute.

*/ inline TaskSet& WithExternalId(const Aws::String& value) { SetExternalId(value); return *this;} /** *

The external ID associated with the task set.

If a task set is created * by an AWS CodeDeploy deployment, the externalId parameter contains * the AWS CodeDeploy deployment ID.

If a task set is created for an * external deployment and is associated with a service discovery registry, the * externalId parameter contains the * ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute.

*/ inline TaskSet& WithExternalId(Aws::String&& value) { SetExternalId(std::move(value)); return *this;} /** *

The external ID associated with the task set.

If a task set is created * by an AWS CodeDeploy deployment, the externalId parameter contains * the AWS CodeDeploy deployment ID.

If a task set is created for an * external deployment and is associated with a service discovery registry, the * externalId parameter contains the * ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute.

*/ inline TaskSet& WithExternalId(const char* value) { SetExternalId(value); return *this;} /** *

The status of the task set. The following describes each state:

*
PRIMARY

The task set is serving production traffic.

*
ACTIVE

The task set is not serving production traffic.

*
DRAINING

The tasks in the task set are being stopped and * their corresponding targets are being deregistered from their target group.

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

The status of the task set. The following describes each state:

*
PRIMARY

The task set is serving production traffic.

*
ACTIVE

The task set is not serving production traffic.

*
DRAINING

The tasks in the task set are being stopped and * their corresponding targets are being deregistered from their target group.

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

The status of the task set. The following describes each state:

*
PRIMARY

The task set is serving production traffic.

*
ACTIVE

The task set is not serving production traffic.

*
DRAINING

The tasks in the task set are being stopped and * their corresponding targets are being deregistered from their target group.

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

The status of the task set. The following describes each state:

*
PRIMARY

The task set is serving production traffic.

*
ACTIVE

The task set is not serving production traffic.

*
DRAINING

The tasks in the task set are being stopped and * their corresponding targets are being deregistered from their target group.

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

The status of the task set. The following describes each state:

*
PRIMARY

The task set is serving production traffic.

*
ACTIVE

The task set is not serving production traffic.

*
DRAINING

The tasks in the task set are being stopped and * their corresponding targets are being deregistered from their target group.

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

The status of the task set. The following describes each state:

*
PRIMARY

The task set is serving production traffic.

*
ACTIVE

The task set is not serving production traffic.

*
DRAINING

The tasks in the task set are being stopped and * their corresponding targets are being deregistered from their target group.

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

The status of the task set. The following describes each state:

*
PRIMARY

The task set is serving production traffic.

*
ACTIVE

The task set is not serving production traffic.

*
DRAINING

The tasks in the task set are being stopped and * their corresponding targets are being deregistered from their target group.

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

The status of the task set. The following describes each state:

*
PRIMARY

The task set is serving production traffic.

*
ACTIVE

The task set is not serving production traffic.

*
DRAINING

The tasks in the task set are being stopped and * their corresponding targets are being deregistered from their target group.

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

The task definition the task set is using.

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

The task definition the task set is using.

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

The task definition the task set is using.

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

The task definition the task set is using.

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

The task definition the task set is using.

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

The task definition the task set is using.

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

The task definition the task set is using.

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

The task definition the task set is using.

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

The computed desired count for the task set. This is calculated by * multiplying the service's desiredCount by the task set's * scale percentage. The result is always rounded up. For example, if * the computed desired count is 1.2, it rounds up to 2 tasks.

*/ inline int GetComputedDesiredCount() const{ return m_computedDesiredCount; } /** *

The computed desired count for the task set. This is calculated by * multiplying the service's desiredCount by the task set's * scale percentage. The result is always rounded up. For example, if * the computed desired count is 1.2, it rounds up to 2 tasks.

*/ inline bool ComputedDesiredCountHasBeenSet() const { return m_computedDesiredCountHasBeenSet; } /** *

The computed desired count for the task set. This is calculated by * multiplying the service's desiredCount by the task set's * scale percentage. The result is always rounded up. For example, if * the computed desired count is 1.2, it rounds up to 2 tasks.

*/ inline void SetComputedDesiredCount(int value) { m_computedDesiredCountHasBeenSet = true; m_computedDesiredCount = value; } /** *

The computed desired count for the task set. This is calculated by * multiplying the service's desiredCount by the task set's * scale percentage. The result is always rounded up. For example, if * the computed desired count is 1.2, it rounds up to 2 tasks.

*/ inline TaskSet& WithComputedDesiredCount(int value) { SetComputedDesiredCount(value); return *this;} /** *

The number of tasks in the task set that are in the PENDING * status during a deployment. A task in the PENDING state is * preparing to enter the RUNNING state. A task set enters the * PENDING status when it launches for the first time or when it is * restarted after being in the STOPPED state.

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

The number of tasks in the task set that are in the PENDING * status during a deployment. A task in the PENDING state is * preparing to enter the RUNNING state. A task set enters the * PENDING status when it launches for the first time or when it is * restarted after being in the STOPPED state.

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

The number of tasks in the task set that are in the PENDING * status during a deployment. A task in the PENDING state is * preparing to enter the RUNNING state. A task set enters the * PENDING status when it launches for the first time or when it is * restarted after being in the STOPPED state.

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

The number of tasks in the task set that are in the PENDING * status during a deployment. A task in the PENDING state is * preparing to enter the RUNNING state. A task set enters the * PENDING status when it launches for the first time or when it is * restarted after being in the STOPPED state.

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

The number of tasks in the task set that are in the RUNNING * status during a deployment. A task in the RUNNING state is running * and ready for use.

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

The number of tasks in the task set that are in the RUNNING * status during a deployment. A task in the RUNNING state is running * and ready for use.

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

The number of tasks in the task set that are in the RUNNING * status during a deployment. A task in the RUNNING state is running * and ready for use.

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

The number of tasks in the task set that are in the RUNNING * status during a deployment. A task in the RUNNING state is running * and ready for use.

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

The Unix timestamp for when the task set was created.

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

The Unix timestamp for when the task set was created.

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

The Unix timestamp for when the task set was created.

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

The Unix timestamp for when the task set was created.

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

The Unix timestamp for when the task set was created.

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

The Unix timestamp for when the task set was created.

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

The Unix timestamp for when the task set was last updated.

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

The Unix timestamp for when the task set was last updated.

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

The Unix timestamp for when the task set was last updated.

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

The Unix timestamp for when the task set was last updated.

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

The Unix timestamp for when the task set was last updated.

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

The Unix timestamp for when the task set was last updated.

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

The launch type the tasks in the task set 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 task set 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 task set 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 task set 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 task set are using. For more information, * see Amazon * ECS Launch Types in the Amazon Elastic Container Service Developer * Guide.

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

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

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

The capacity provider strategy associated with the task set.

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

The capacity provider strategy associated with the task set.

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

The capacity provider strategy associated with the task set.

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

The capacity provider strategy associated with the task set.

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

The capacity provider strategy associated with the task set.

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

The capacity provider strategy associated with the task set.

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

The capacity provider strategy associated with the task set.

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

The capacity provider strategy associated with the task set.

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

The platform version on which the tasks in the task set are running. A * platform version is only specified for tasks using the Fargate launch type. If * one is not specified, the LATEST platform version is used by * default. For more information, see AWS * Fargate Platform Versions in the Amazon Elastic Container Service * Developer Guide.

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

The platform version on which the tasks in the task set are running. A * platform version is only specified for tasks using the Fargate launch type. If * one is not specified, the LATEST platform version is used by * default. For more information, see AWS * Fargate Platform Versions in the Amazon Elastic Container Service * Developer Guide.

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

The platform version on which the tasks in the task set are running. A * platform version is only specified for tasks using the Fargate launch type. If * one is not specified, the LATEST platform version is used by * default. For more information, see AWS * 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 on which the tasks in the task set are running. A * platform version is only specified for tasks using the Fargate launch type. If * one is not specified, the LATEST platform version is used by * default. For more information, see AWS * 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 on which the tasks in the task set are running. A * platform version is only specified for tasks using the Fargate launch type. If * one is not specified, the LATEST platform version is used by * default. For more information, see AWS * 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 on which the tasks in the task set are running. A * platform version is only specified for tasks using the Fargate launch type. If * one is not specified, the LATEST platform version is used by * default. For more information, see AWS * Fargate Platform Versions in the Amazon Elastic Container Service * Developer Guide.

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

The platform version on which the tasks in the task set are running. A * platform version is only specified for tasks using the Fargate launch type. If * one is not specified, the LATEST platform version is used by * default. For more information, see AWS * Fargate Platform Versions in the Amazon Elastic Container Service * Developer Guide.

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

The platform version on which the tasks in the task set are running. A * platform version is only specified for tasks using the Fargate launch type. If * one is not specified, the LATEST platform version is used by * default. For more information, see AWS * Fargate Platform Versions in the Amazon Elastic Container Service * Developer Guide.

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

The network configuration for the task set.

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

The network configuration for the task set.

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

The network configuration for the task set.

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

The network configuration for the task set.

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

The network configuration for the task set.

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

The network configuration for the task set.

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

Details on a load balancer that is used with a task set.

*/ inline const Aws::Vector& GetLoadBalancers() const{ return m_loadBalancers; } /** *

Details on a load balancer that is used with a task set.

*/ inline bool LoadBalancersHasBeenSet() const { return m_loadBalancersHasBeenSet; } /** *

Details on a load balancer that is used with a task set.

*/ inline void SetLoadBalancers(const Aws::Vector& value) { m_loadBalancersHasBeenSet = true; m_loadBalancers = value; } /** *

Details on a load balancer that is used with a task set.

*/ inline void SetLoadBalancers(Aws::Vector&& value) { m_loadBalancersHasBeenSet = true; m_loadBalancers = std::move(value); } /** *

Details on a load balancer that is used with a task set.

*/ inline TaskSet& WithLoadBalancers(const Aws::Vector& value) { SetLoadBalancers(value); return *this;} /** *

Details on a load balancer that is used with a task set.

*/ inline TaskSet& WithLoadBalancers(Aws::Vector&& value) { SetLoadBalancers(std::move(value)); return *this;} /** *

Details on a load balancer that is used with a task set.

*/ inline TaskSet& AddLoadBalancers(const LoadBalancer& value) { m_loadBalancersHasBeenSet = true; m_loadBalancers.push_back(value); return *this; } /** *

Details on a load balancer that is used with a task set.

*/ inline TaskSet& AddLoadBalancers(LoadBalancer&& value) { m_loadBalancersHasBeenSet = true; m_loadBalancers.push_back(std::move(value)); return *this; } /** *

The details of the service discovery registries to assign to this task set. * For more information, see Service * Discovery.

*/ inline const Aws::Vector& GetServiceRegistries() const{ return m_serviceRegistries; } /** *

The details of the service discovery registries to assign to this task set. * For more information, see Service * Discovery.

*/ inline bool ServiceRegistriesHasBeenSet() const { return m_serviceRegistriesHasBeenSet; } /** *

The details of the service discovery registries to assign to this task set. * For more information, see Service * Discovery.

*/ inline void SetServiceRegistries(const Aws::Vector& value) { m_serviceRegistriesHasBeenSet = true; m_serviceRegistries = value; } /** *

The details of the service discovery registries to assign to this task set. * For more information, see Service * Discovery.

*/ inline void SetServiceRegistries(Aws::Vector&& value) { m_serviceRegistriesHasBeenSet = true; m_serviceRegistries = std::move(value); } /** *

The details of the service discovery registries to assign to this task set. * For more information, see Service * Discovery.

*/ inline TaskSet& WithServiceRegistries(const Aws::Vector& value) { SetServiceRegistries(value); return *this;} /** *

The details of the service discovery registries to assign to this task set. * For more information, see Service * Discovery.

*/ inline TaskSet& WithServiceRegistries(Aws::Vector&& value) { SetServiceRegistries(std::move(value)); return *this;} /** *

The details of the service discovery registries to assign to this task set. * For more information, see Service * Discovery.

*/ inline TaskSet& AddServiceRegistries(const ServiceRegistry& value) { m_serviceRegistriesHasBeenSet = true; m_serviceRegistries.push_back(value); return *this; } /** *

The details of the service discovery registries to assign to this task set. * For more information, see Service * Discovery.

*/ inline TaskSet& AddServiceRegistries(ServiceRegistry&& value) { m_serviceRegistriesHasBeenSet = true; m_serviceRegistries.push_back(std::move(value)); return *this; } /** *

A floating-point percentage of the desired number of tasks to place and keep * running in the task set.

*/ inline const Scale& GetScale() const{ return m_scale; } /** *

A floating-point percentage of the desired number of tasks to place and keep * running in the task set.

*/ inline bool ScaleHasBeenSet() const { return m_scaleHasBeenSet; } /** *

A floating-point percentage of the desired number of tasks to place and keep * running in the task set.

*/ inline void SetScale(const Scale& value) { m_scaleHasBeenSet = true; m_scale = value; } /** *

A floating-point percentage of the desired number of tasks to place and keep * running in the task set.

*/ inline void SetScale(Scale&& value) { m_scaleHasBeenSet = true; m_scale = std::move(value); } /** *

A floating-point percentage of the desired number of tasks to place and keep * running in the task set.

*/ inline TaskSet& WithScale(const Scale& value) { SetScale(value); return *this;} /** *

A floating-point percentage of the desired number of tasks to place and keep * running in the task set.

*/ inline TaskSet& WithScale(Scale&& value) { SetScale(std::move(value)); return *this;} /** *

The stability status, which indicates whether the task set has reached a * steady state. If the following conditions are met, the task set will be in * STEADY_STATE:

  • The task runningCount * is equal to the computedDesiredCount.

  • The * pendingCount is 0.

  • There are no * tasks running on container instances in the DRAINING status.

    *
  • All tasks are reporting a healthy status from the load balancers, * service discovery, and container health checks.

If any of * those conditions are not met, the stability status returns * STABILIZING.

*/ inline const StabilityStatus& GetStabilityStatus() const{ return m_stabilityStatus; } /** *

The stability status, which indicates whether the task set has reached a * steady state. If the following conditions are met, the task set will be in * STEADY_STATE:

  • The task runningCount * is equal to the computedDesiredCount.

  • The * pendingCount is 0.

  • There are no * tasks running on container instances in the DRAINING status.

    *
  • All tasks are reporting a healthy status from the load balancers, * service discovery, and container health checks.

If any of * those conditions are not met, the stability status returns * STABILIZING.

*/ inline bool StabilityStatusHasBeenSet() const { return m_stabilityStatusHasBeenSet; } /** *

The stability status, which indicates whether the task set has reached a * steady state. If the following conditions are met, the task set will be in * STEADY_STATE:

  • The task runningCount * is equal to the computedDesiredCount.

  • The * pendingCount is 0.

  • There are no * tasks running on container instances in the DRAINING status.

    *
  • All tasks are reporting a healthy status from the load balancers, * service discovery, and container health checks.

If any of * those conditions are not met, the stability status returns * STABILIZING.

*/ inline void SetStabilityStatus(const StabilityStatus& value) { m_stabilityStatusHasBeenSet = true; m_stabilityStatus = value; } /** *

The stability status, which indicates whether the task set has reached a * steady state. If the following conditions are met, the task set will be in * STEADY_STATE:

  • The task runningCount * is equal to the computedDesiredCount.

  • The * pendingCount is 0.

  • There are no * tasks running on container instances in the DRAINING status.

    *
  • All tasks are reporting a healthy status from the load balancers, * service discovery, and container health checks.

If any of * those conditions are not met, the stability status returns * STABILIZING.

*/ inline void SetStabilityStatus(StabilityStatus&& value) { m_stabilityStatusHasBeenSet = true; m_stabilityStatus = std::move(value); } /** *

The stability status, which indicates whether the task set has reached a * steady state. If the following conditions are met, the task set will be in * STEADY_STATE:

  • The task runningCount * is equal to the computedDesiredCount.

  • The * pendingCount is 0.

  • There are no * tasks running on container instances in the DRAINING status.

    *
  • All tasks are reporting a healthy status from the load balancers, * service discovery, and container health checks.

If any of * those conditions are not met, the stability status returns * STABILIZING.

*/ inline TaskSet& WithStabilityStatus(const StabilityStatus& value) { SetStabilityStatus(value); return *this;} /** *

The stability status, which indicates whether the task set has reached a * steady state. If the following conditions are met, the task set will be in * STEADY_STATE:

  • The task runningCount * is equal to the computedDesiredCount.

  • The * pendingCount is 0.

  • There are no * tasks running on container instances in the DRAINING status.

    *
  • All tasks are reporting a healthy status from the load balancers, * service discovery, and container health checks.

If any of * those conditions are not met, the stability status returns * STABILIZING.

*/ inline TaskSet& WithStabilityStatus(StabilityStatus&& value) { SetStabilityStatus(std::move(value)); return *this;} /** *

The Unix timestamp for when the task set stability status was retrieved.

*/ inline const Aws::Utils::DateTime& GetStabilityStatusAt() const{ return m_stabilityStatusAt; } /** *

The Unix timestamp for when the task set stability status was retrieved.

*/ inline bool StabilityStatusAtHasBeenSet() const { return m_stabilityStatusAtHasBeenSet; } /** *

The Unix timestamp for when the task set stability status was retrieved.

*/ inline void SetStabilityStatusAt(const Aws::Utils::DateTime& value) { m_stabilityStatusAtHasBeenSet = true; m_stabilityStatusAt = value; } /** *

The Unix timestamp for when the task set stability status was retrieved.

*/ inline void SetStabilityStatusAt(Aws::Utils::DateTime&& value) { m_stabilityStatusAtHasBeenSet = true; m_stabilityStatusAt = std::move(value); } /** *

The Unix timestamp for when the task set stability status was retrieved.

*/ inline TaskSet& WithStabilityStatusAt(const Aws::Utils::DateTime& value) { SetStabilityStatusAt(value); return *this;} /** *

The Unix timestamp for when the task set stability status was retrieved.

*/ inline TaskSet& WithStabilityStatusAt(Aws::Utils::DateTime&& value) { SetStabilityStatusAt(std::move(value)); return *this;} /** *

The metadata that you apply to the task set to help you categorize and * organize them. Each tag consists of a key and an optional value, both of which * you define.

The following basic restrictions apply to tags:

  • *

    Maximum number of tags per resource - 50

  • For each resource, * each tag key must be unique, and each tag key can have only one value.

  • *
  • Maximum key length - 128 Unicode characters in UTF-8

  • *

    Maximum value length - 256 Unicode characters in UTF-8

  • If * your tagging schema is used across multiple services and resources, remember * that other services may have restrictions on allowed characters. Generally * allowed characters are: letters, numbers, and spaces representable in UTF-8, and * the following characters: + - = . _ : / @.

  • Tag keys and values * are case-sensitive.

  • Do not use aws:, * AWS:, or any upper or lowercase combination of such as a prefix for * either keys or values as it is reserved for AWS use. You cannot edit or delete * tag keys or values with this prefix. Tags with this prefix do not count against * your tags per resource limit.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

The metadata that you apply to the task set to help you categorize and * organize them. Each tag consists of a key and an optional value, both of which * you define.

The following basic restrictions apply to tags:

  • *

    Maximum number of tags per resource - 50

  • For each resource, * each tag key must be unique, and each tag key can have only one value.

  • *
  • Maximum key length - 128 Unicode characters in UTF-8

  • *

    Maximum value length - 256 Unicode characters in UTF-8

  • If * your tagging schema is used across multiple services and resources, remember * that other services may have restrictions on allowed characters. Generally * allowed characters are: letters, numbers, and spaces representable in UTF-8, and * the following characters: + - = . _ : / @.

  • Tag keys and values * are case-sensitive.

  • Do not use aws:, * AWS:, or any upper or lowercase combination of such as a prefix for * either keys or values as it is reserved for AWS use. You cannot edit or delete * tag keys or values with this prefix. Tags with this prefix do not count against * your tags per resource limit.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The metadata that you apply to the task set to help you categorize and * organize them. Each tag consists of a key and an optional value, both of which * you define.

The following basic restrictions apply to tags:

  • *

    Maximum number of tags per resource - 50

  • For each resource, * each tag key must be unique, and each tag key can have only one value.

  • *
  • Maximum key length - 128 Unicode characters in UTF-8

  • *

    Maximum value length - 256 Unicode characters in UTF-8

  • If * your tagging schema is used across multiple services and resources, remember * that other services may have restrictions on allowed characters. Generally * allowed characters are: letters, numbers, and spaces representable in UTF-8, and * the following characters: + - = . _ : / @.

  • Tag keys and values * are case-sensitive.

  • Do not use aws:, * AWS:, or any upper or lowercase combination of such as a prefix for * either keys or values as it is reserved for AWS use. You cannot edit or delete * tag keys or values with this prefix. Tags with this prefix do not count against * your tags per resource limit.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The metadata that you apply to the task set to help you categorize and * organize them. Each tag consists of a key and an optional value, both of which * you define.

The following basic restrictions apply to tags:

  • *

    Maximum number of tags per resource - 50

  • For each resource, * each tag key must be unique, and each tag key can have only one value.

  • *
  • Maximum key length - 128 Unicode characters in UTF-8

  • *

    Maximum value length - 256 Unicode characters in UTF-8

  • If * your tagging schema is used across multiple services and resources, remember * that other services may have restrictions on allowed characters. Generally * allowed characters are: letters, numbers, and spaces representable in UTF-8, and * the following characters: + - = . _ : / @.

  • Tag keys and values * are case-sensitive.

  • Do not use aws:, * AWS:, or any upper or lowercase combination of such as a prefix for * either keys or values as it is reserved for AWS use. You cannot edit or delete * tag keys or values with this prefix. Tags with this prefix do not count against * your tags per resource limit.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The metadata that you apply to the task set to help you categorize and * organize them. Each tag consists of a key and an optional value, both of which * you define.

The following basic restrictions apply to tags:

  • *

    Maximum number of tags per resource - 50

  • For each resource, * each tag key must be unique, and each tag key can have only one value.

  • *
  • Maximum key length - 128 Unicode characters in UTF-8

  • *

    Maximum value length - 256 Unicode characters in UTF-8

  • If * your tagging schema is used across multiple services and resources, remember * that other services may have restrictions on allowed characters. Generally * allowed characters are: letters, numbers, and spaces representable in UTF-8, and * the following characters: + - = . _ : / @.

  • Tag keys and values * are case-sensitive.

  • Do not use aws:, * AWS:, or any upper or lowercase combination of such as a prefix for * either keys or values as it is reserved for AWS use. You cannot edit or delete * tag keys or values with this prefix. Tags with this prefix do not count against * your tags per resource limit.

*/ inline TaskSet& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

The metadata that you apply to the task set to help you categorize and * organize them. Each tag consists of a key and an optional value, both of which * you define.

The following basic restrictions apply to tags:

  • *

    Maximum number of tags per resource - 50

  • For each resource, * each tag key must be unique, and each tag key can have only one value.

  • *
  • Maximum key length - 128 Unicode characters in UTF-8

  • *

    Maximum value length - 256 Unicode characters in UTF-8

  • If * your tagging schema is used across multiple services and resources, remember * that other services may have restrictions on allowed characters. Generally * allowed characters are: letters, numbers, and spaces representable in UTF-8, and * the following characters: + - = . _ : / @.

  • Tag keys and values * are case-sensitive.

  • Do not use aws:, * AWS:, or any upper or lowercase combination of such as a prefix for * either keys or values as it is reserved for AWS use. You cannot edit or delete * tag keys or values with this prefix. Tags with this prefix do not count against * your tags per resource limit.

*/ inline TaskSet& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

The metadata that you apply to the task set to help you categorize and * organize them. Each tag consists of a key and an optional value, both of which * you define.

The following basic restrictions apply to tags:

  • *

    Maximum number of tags per resource - 50

  • For each resource, * each tag key must be unique, and each tag key can have only one value.

  • *
  • Maximum key length - 128 Unicode characters in UTF-8

  • *

    Maximum value length - 256 Unicode characters in UTF-8

  • If * your tagging schema is used across multiple services and resources, remember * that other services may have restrictions on allowed characters. Generally * allowed characters are: letters, numbers, and spaces representable in UTF-8, and * the following characters: + - = . _ : / @.

  • Tag keys and values * are case-sensitive.

  • Do not use aws:, * AWS:, or any upper or lowercase combination of such as a prefix for * either keys or values as it is reserved for AWS use. You cannot edit or delete * tag keys or values with this prefix. Tags with this prefix do not count against * your tags per resource limit.

*/ inline TaskSet& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

The metadata that you apply to the task set to help you categorize and * organize them. Each tag consists of a key and an optional value, both of which * you define.

The following basic restrictions apply to tags:

  • *

    Maximum number of tags per resource - 50

  • For each resource, * each tag key must be unique, and each tag key can have only one value.

  • *
  • Maximum key length - 128 Unicode characters in UTF-8

  • *

    Maximum value length - 256 Unicode characters in UTF-8

  • If * your tagging schema is used across multiple services and resources, remember * that other services may have restrictions on allowed characters. Generally * allowed characters are: letters, numbers, and spaces representable in UTF-8, and * the following characters: + - = . _ : / @.

  • Tag keys and values * are case-sensitive.

  • Do not use aws:, * AWS:, or any upper or lowercase combination of such as a prefix for * either keys or values as it is reserved for AWS use. You cannot edit or delete * tag keys or values with this prefix. Tags with this prefix do not count against * your tags per resource limit.

*/ inline TaskSet& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_id; bool m_idHasBeenSet; Aws::String m_taskSetArn; bool m_taskSetArnHasBeenSet; Aws::String m_serviceArn; bool m_serviceArnHasBeenSet; Aws::String m_clusterArn; bool m_clusterArnHasBeenSet; Aws::String m_startedBy; bool m_startedByHasBeenSet; Aws::String m_externalId; bool m_externalIdHasBeenSet; Aws::String m_status; bool m_statusHasBeenSet; Aws::String m_taskDefinition; bool m_taskDefinitionHasBeenSet; int m_computedDesiredCount; bool m_computedDesiredCountHasBeenSet; int m_pendingCount; bool m_pendingCountHasBeenSet; int m_runningCount; bool m_runningCountHasBeenSet; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet; Aws::Utils::DateTime m_updatedAt; bool m_updatedAtHasBeenSet; LaunchType m_launchType; bool m_launchTypeHasBeenSet; Aws::Vector m_capacityProviderStrategy; bool m_capacityProviderStrategyHasBeenSet; Aws::String m_platformVersion; bool m_platformVersionHasBeenSet; NetworkConfiguration m_networkConfiguration; bool m_networkConfigurationHasBeenSet; Aws::Vector m_loadBalancers; bool m_loadBalancersHasBeenSet; Aws::Vector m_serviceRegistries; bool m_serviceRegistriesHasBeenSet; Scale m_scale; bool m_scaleHasBeenSet; StabilityStatus m_stabilityStatus; bool m_stabilityStatusHasBeenSet; Aws::Utils::DateTime m_stabilityStatusAt; bool m_stabilityStatusAtHasBeenSet; Aws::Vector m_tags; bool m_tagsHasBeenSet; }; } // namespace Model } // namespace ECS } // namespace Aws