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

Details on a task in a cluster.

See Also:

AWS API * Reference

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

The Elastic Network Adapter that's associated with the task if the task uses * the awsvpc network mode.

*/ inline const Aws::Vector& GetAttachments() const{ return m_attachments; } /** *

The Elastic Network Adapter that's associated with the task if the task uses * the awsvpc network mode.

*/ inline bool AttachmentsHasBeenSet() const { return m_attachmentsHasBeenSet; } /** *

The Elastic Network Adapter that's associated with the task if the task uses * the awsvpc network mode.

*/ inline void SetAttachments(const Aws::Vector& value) { m_attachmentsHasBeenSet = true; m_attachments = value; } /** *

The Elastic Network Adapter that's associated with the task if the task uses * the awsvpc network mode.

*/ inline void SetAttachments(Aws::Vector&& value) { m_attachmentsHasBeenSet = true; m_attachments = std::move(value); } /** *

The Elastic Network Adapter that's associated with the task if the task uses * the awsvpc network mode.

*/ inline Task& WithAttachments(const Aws::Vector& value) { SetAttachments(value); return *this;} /** *

The Elastic Network Adapter that's associated with the task if the task uses * the awsvpc network mode.

*/ inline Task& WithAttachments(Aws::Vector&& value) { SetAttachments(std::move(value)); return *this;} /** *

The Elastic Network Adapter that's associated with the task if the task uses * the awsvpc network mode.

*/ inline Task& AddAttachments(const Attachment& value) { m_attachmentsHasBeenSet = true; m_attachments.push_back(value); return *this; } /** *

The Elastic Network Adapter that's associated with the task if the task uses * the awsvpc network mode.

*/ inline Task& AddAttachments(Attachment&& value) { m_attachmentsHasBeenSet = true; m_attachments.push_back(std::move(value)); return *this; } /** *

The attributes of the task

*/ inline const Aws::Vector& GetAttributes() const{ return m_attributes; } /** *

The attributes of the task

*/ inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; } /** *

The attributes of the task

*/ inline void SetAttributes(const Aws::Vector& value) { m_attributesHasBeenSet = true; m_attributes = value; } /** *

The attributes of the task

*/ inline void SetAttributes(Aws::Vector&& value) { m_attributesHasBeenSet = true; m_attributes = std::move(value); } /** *

The attributes of the task

*/ inline Task& WithAttributes(const Aws::Vector& value) { SetAttributes(value); return *this;} /** *

The attributes of the task

*/ inline Task& WithAttributes(Aws::Vector&& value) { SetAttributes(std::move(value)); return *this;} /** *

The attributes of the task

*/ inline Task& AddAttributes(const Attribute& value) { m_attributesHasBeenSet = true; m_attributes.push_back(value); return *this; } /** *

The attributes of the task

*/ inline Task& AddAttributes(Attribute&& value) { m_attributesHasBeenSet = true; m_attributes.push_back(std::move(value)); return *this; } /** *

The Availability Zone for the task.

*/ inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; } /** *

The Availability Zone for the task.

*/ inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } /** *

The Availability Zone for the task.

*/ inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; } /** *

The Availability Zone for the task.

*/ inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); } /** *

The Availability Zone for the task.

*/ inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); } /** *

The Availability Zone for the task.

*/ inline Task& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;} /** *

The Availability Zone for the task.

*/ inline Task& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;} /** *

The Availability Zone for the task.

*/ inline Task& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;} /** *

The capacity provider that's associated with the task.

*/ inline const Aws::String& GetCapacityProviderName() const{ return m_capacityProviderName; } /** *

The capacity provider that's associated with the task.

*/ inline bool CapacityProviderNameHasBeenSet() const { return m_capacityProviderNameHasBeenSet; } /** *

The capacity provider that's associated with the task.

*/ inline void SetCapacityProviderName(const Aws::String& value) { m_capacityProviderNameHasBeenSet = true; m_capacityProviderName = value; } /** *

The capacity provider that's associated with the task.

*/ inline void SetCapacityProviderName(Aws::String&& value) { m_capacityProviderNameHasBeenSet = true; m_capacityProviderName = std::move(value); } /** *

The capacity provider that's associated with the task.

*/ inline void SetCapacityProviderName(const char* value) { m_capacityProviderNameHasBeenSet = true; m_capacityProviderName.assign(value); } /** *

The capacity provider that's associated with the task.

*/ inline Task& WithCapacityProviderName(const Aws::String& value) { SetCapacityProviderName(value); return *this;} /** *

The capacity provider that's associated with the task.

*/ inline Task& WithCapacityProviderName(Aws::String&& value) { SetCapacityProviderName(std::move(value)); return *this;} /** *

The capacity provider that's associated with the task.

*/ inline Task& WithCapacityProviderName(const char* value) { SetCapacityProviderName(value); return *this;} /** *

The ARN of the cluster that hosts the task.

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

The ARN of the cluster that hosts the task.

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

The ARN of the cluster that hosts the task.

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

The ARN of the cluster that hosts the task.

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

The ARN of the cluster that hosts the task.

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

The ARN of the cluster that hosts the task.

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

The ARN of the cluster that hosts the task.

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

The ARN of the cluster that hosts the task.

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

The connectivity status of a task.

*/ inline const Connectivity& GetConnectivity() const{ return m_connectivity; } /** *

The connectivity status of a task.

*/ inline bool ConnectivityHasBeenSet() const { return m_connectivityHasBeenSet; } /** *

The connectivity status of a task.

*/ inline void SetConnectivity(const Connectivity& value) { m_connectivityHasBeenSet = true; m_connectivity = value; } /** *

The connectivity status of a task.

*/ inline void SetConnectivity(Connectivity&& value) { m_connectivityHasBeenSet = true; m_connectivity = std::move(value); } /** *

The connectivity status of a task.

*/ inline Task& WithConnectivity(const Connectivity& value) { SetConnectivity(value); return *this;} /** *

The connectivity status of a task.

*/ inline Task& WithConnectivity(Connectivity&& value) { SetConnectivity(std::move(value)); return *this;} /** *

The Unix timestamp for the time when the task last went into * CONNECTED status.

*/ inline const Aws::Utils::DateTime& GetConnectivityAt() const{ return m_connectivityAt; } /** *

The Unix timestamp for the time when the task last went into * CONNECTED status.

*/ inline bool ConnectivityAtHasBeenSet() const { return m_connectivityAtHasBeenSet; } /** *

The Unix timestamp for the time when the task last went into * CONNECTED status.

*/ inline void SetConnectivityAt(const Aws::Utils::DateTime& value) { m_connectivityAtHasBeenSet = true; m_connectivityAt = value; } /** *

The Unix timestamp for the time when the task last went into * CONNECTED status.

*/ inline void SetConnectivityAt(Aws::Utils::DateTime&& value) { m_connectivityAtHasBeenSet = true; m_connectivityAt = std::move(value); } /** *

The Unix timestamp for the time when the task last went into * CONNECTED status.

*/ inline Task& WithConnectivityAt(const Aws::Utils::DateTime& value) { SetConnectivityAt(value); return *this;} /** *

The Unix timestamp for the time when the task last went into * CONNECTED status.

*/ inline Task& WithConnectivityAt(Aws::Utils::DateTime&& value) { SetConnectivityAt(std::move(value)); return *this;} /** *

The ARN of the container instances that host the task.

*/ inline const Aws::String& GetContainerInstanceArn() const{ return m_containerInstanceArn; } /** *

The ARN of the container instances that host the task.

*/ inline bool ContainerInstanceArnHasBeenSet() const { return m_containerInstanceArnHasBeenSet; } /** *

The ARN of the container instances that host the task.

*/ inline void SetContainerInstanceArn(const Aws::String& value) { m_containerInstanceArnHasBeenSet = true; m_containerInstanceArn = value; } /** *

The ARN of the container instances that host the task.

*/ inline void SetContainerInstanceArn(Aws::String&& value) { m_containerInstanceArnHasBeenSet = true; m_containerInstanceArn = std::move(value); } /** *

The ARN of the container instances that host the task.

*/ inline void SetContainerInstanceArn(const char* value) { m_containerInstanceArnHasBeenSet = true; m_containerInstanceArn.assign(value); } /** *

The ARN of the container instances that host the task.

*/ inline Task& WithContainerInstanceArn(const Aws::String& value) { SetContainerInstanceArn(value); return *this;} /** *

The ARN of the container instances that host the task.

*/ inline Task& WithContainerInstanceArn(Aws::String&& value) { SetContainerInstanceArn(std::move(value)); return *this;} /** *

The ARN of the container instances that host the task.

*/ inline Task& WithContainerInstanceArn(const char* value) { SetContainerInstanceArn(value); return *this;} /** *

The containers that's associated with the task.

*/ inline const Aws::Vector& GetContainers() const{ return m_containers; } /** *

The containers that's associated with the task.

*/ inline bool ContainersHasBeenSet() const { return m_containersHasBeenSet; } /** *

The containers that's associated with the task.

*/ inline void SetContainers(const Aws::Vector& value) { m_containersHasBeenSet = true; m_containers = value; } /** *

The containers that's associated with the task.

*/ inline void SetContainers(Aws::Vector&& value) { m_containersHasBeenSet = true; m_containers = std::move(value); } /** *

The containers that's associated with the task.

*/ inline Task& WithContainers(const Aws::Vector& value) { SetContainers(value); return *this;} /** *

The containers that's associated with the task.

*/ inline Task& WithContainers(Aws::Vector&& value) { SetContainers(std::move(value)); return *this;} /** *

The containers that's associated with the task.

*/ inline Task& AddContainers(const Container& value) { m_containersHasBeenSet = true; m_containers.push_back(value); return *this; } /** *

The containers that's associated with the task.

*/ inline Task& AddContainers(Container&& value) { m_containersHasBeenSet = true; m_containers.push_back(std::move(value)); return *this; } /** *

The number of CPU units used by the task as expressed in a task definition. * It can be expressed as an integer using CPU units (for example, * 1024). It can also be expressed as a string using vCPUs (for * example, 1 vCPU or 1 vcpu). String values are * converted to an integer that indicates the CPU units when the task definition is * registered.

If you use the EC2 launch type, this field is optional. * Supported values are between 128 CPU units (0.125 * vCPUs) and 10240 CPU units (10 vCPUs).

If you * use the Fargate launch type, this field is required. You must use one of the * following values. These values determine the range of supported values for the * memory parameter:

The CPU units cannot be less than 1 vCPU * when you use Windows containers on Fargate.

  • 256 (.25 vCPU) - * Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

    *
  • 512 (.5 vCPU) - Available memory values: 1024 (1 GB), * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

  • 1024 (1 vCPU) - * Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), * 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

  • 2048 (2 * vCPU) - Available memory values: 4096 (4 GB) and 16384 (16 GB) in * increments of 1024 (1 GB)

  • 4096 (4 vCPU) - Available * memory values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 * (1 GB)

  • 8192 (8 vCPU) - Available memory values: * 16 GB and 60 GB in 4 GB increments

    This option requires Linux platform * 1.4.0 or later.

  • 16384 (16vCPU) - Available * memory values: 32GB and 120 GB in 8 GB increments

    This * option requires Linux platform 1.4.0 or later.

*/ inline const Aws::String& GetCpu() const{ return m_cpu; } /** *

The number of CPU units used by the task as expressed in a task definition. * It can be expressed as an integer using CPU units (for example, * 1024). It can also be expressed as a string using vCPUs (for * example, 1 vCPU or 1 vcpu). String values are * converted to an integer that indicates the CPU units when the task definition is * registered.

If you use the EC2 launch type, this field is optional. * Supported values are between 128 CPU units (0.125 * vCPUs) and 10240 CPU units (10 vCPUs).

If you * use the Fargate launch type, this field is required. You must use one of the * following values. These values determine the range of supported values for the * memory parameter:

The CPU units cannot be less than 1 vCPU * when you use Windows containers on Fargate.

  • 256 (.25 vCPU) - * Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

    *
  • 512 (.5 vCPU) - Available memory values: 1024 (1 GB), * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

  • 1024 (1 vCPU) - * Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), * 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

  • 2048 (2 * vCPU) - Available memory values: 4096 (4 GB) and 16384 (16 GB) in * increments of 1024 (1 GB)

  • 4096 (4 vCPU) - Available * memory values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 * (1 GB)

  • 8192 (8 vCPU) - Available memory values: * 16 GB and 60 GB in 4 GB increments

    This option requires Linux platform * 1.4.0 or later.

  • 16384 (16vCPU) - Available * memory values: 32GB and 120 GB in 8 GB increments

    This * option requires Linux platform 1.4.0 or later.

*/ inline bool CpuHasBeenSet() const { return m_cpuHasBeenSet; } /** *

The number of CPU units used by the task as expressed in a task definition. * It can be expressed as an integer using CPU units (for example, * 1024). It can also be expressed as a string using vCPUs (for * example, 1 vCPU or 1 vcpu). String values are * converted to an integer that indicates the CPU units when the task definition is * registered.

If you use the EC2 launch type, this field is optional. * Supported values are between 128 CPU units (0.125 * vCPUs) and 10240 CPU units (10 vCPUs).

If you * use the Fargate launch type, this field is required. You must use one of the * following values. These values determine the range of supported values for the * memory parameter:

The CPU units cannot be less than 1 vCPU * when you use Windows containers on Fargate.

  • 256 (.25 vCPU) - * Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

    *
  • 512 (.5 vCPU) - Available memory values: 1024 (1 GB), * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

  • 1024 (1 vCPU) - * Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), * 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

  • 2048 (2 * vCPU) - Available memory values: 4096 (4 GB) and 16384 (16 GB) in * increments of 1024 (1 GB)

  • 4096 (4 vCPU) - Available * memory values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 * (1 GB)

  • 8192 (8 vCPU) - Available memory values: * 16 GB and 60 GB in 4 GB increments

    This option requires Linux platform * 1.4.0 or later.

  • 16384 (16vCPU) - Available * memory values: 32GB and 120 GB in 8 GB increments

    This * option requires Linux platform 1.4.0 or later.

*/ inline void SetCpu(const Aws::String& value) { m_cpuHasBeenSet = true; m_cpu = value; } /** *

The number of CPU units used by the task as expressed in a task definition. * It can be expressed as an integer using CPU units (for example, * 1024). It can also be expressed as a string using vCPUs (for * example, 1 vCPU or 1 vcpu). String values are * converted to an integer that indicates the CPU units when the task definition is * registered.

If you use the EC2 launch type, this field is optional. * Supported values are between 128 CPU units (0.125 * vCPUs) and 10240 CPU units (10 vCPUs).

If you * use the Fargate launch type, this field is required. You must use one of the * following values. These values determine the range of supported values for the * memory parameter:

The CPU units cannot be less than 1 vCPU * when you use Windows containers on Fargate.

  • 256 (.25 vCPU) - * Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

    *
  • 512 (.5 vCPU) - Available memory values: 1024 (1 GB), * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

  • 1024 (1 vCPU) - * Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), * 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

  • 2048 (2 * vCPU) - Available memory values: 4096 (4 GB) and 16384 (16 GB) in * increments of 1024 (1 GB)

  • 4096 (4 vCPU) - Available * memory values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 * (1 GB)

  • 8192 (8 vCPU) - Available memory values: * 16 GB and 60 GB in 4 GB increments

    This option requires Linux platform * 1.4.0 or later.

  • 16384 (16vCPU) - Available * memory values: 32GB and 120 GB in 8 GB increments

    This * option requires Linux platform 1.4.0 or later.

*/ inline void SetCpu(Aws::String&& value) { m_cpuHasBeenSet = true; m_cpu = std::move(value); } /** *

The number of CPU units used by the task as expressed in a task definition. * It can be expressed as an integer using CPU units (for example, * 1024). It can also be expressed as a string using vCPUs (for * example, 1 vCPU or 1 vcpu). String values are * converted to an integer that indicates the CPU units when the task definition is * registered.

If you use the EC2 launch type, this field is optional. * Supported values are between 128 CPU units (0.125 * vCPUs) and 10240 CPU units (10 vCPUs).

If you * use the Fargate launch type, this field is required. You must use one of the * following values. These values determine the range of supported values for the * memory parameter:

The CPU units cannot be less than 1 vCPU * when you use Windows containers on Fargate.

  • 256 (.25 vCPU) - * Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

    *
  • 512 (.5 vCPU) - Available memory values: 1024 (1 GB), * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

  • 1024 (1 vCPU) - * Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), * 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

  • 2048 (2 * vCPU) - Available memory values: 4096 (4 GB) and 16384 (16 GB) in * increments of 1024 (1 GB)

  • 4096 (4 vCPU) - Available * memory values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 * (1 GB)

  • 8192 (8 vCPU) - Available memory values: * 16 GB and 60 GB in 4 GB increments

    This option requires Linux platform * 1.4.0 or later.

  • 16384 (16vCPU) - Available * memory values: 32GB and 120 GB in 8 GB increments

    This * option requires Linux platform 1.4.0 or later.

*/ inline void SetCpu(const char* value) { m_cpuHasBeenSet = true; m_cpu.assign(value); } /** *

The number of CPU units used by the task as expressed in a task definition. * It can be expressed as an integer using CPU units (for example, * 1024). It can also be expressed as a string using vCPUs (for * example, 1 vCPU or 1 vcpu). String values are * converted to an integer that indicates the CPU units when the task definition is * registered.

If you use the EC2 launch type, this field is optional. * Supported values are between 128 CPU units (0.125 * vCPUs) and 10240 CPU units (10 vCPUs).

If you * use the Fargate launch type, this field is required. You must use one of the * following values. These values determine the range of supported values for the * memory parameter:

The CPU units cannot be less than 1 vCPU * when you use Windows containers on Fargate.

  • 256 (.25 vCPU) - * Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

    *
  • 512 (.5 vCPU) - Available memory values: 1024 (1 GB), * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

  • 1024 (1 vCPU) - * Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), * 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

  • 2048 (2 * vCPU) - Available memory values: 4096 (4 GB) and 16384 (16 GB) in * increments of 1024 (1 GB)

  • 4096 (4 vCPU) - Available * memory values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 * (1 GB)

  • 8192 (8 vCPU) - Available memory values: * 16 GB and 60 GB in 4 GB increments

    This option requires Linux platform * 1.4.0 or later.

  • 16384 (16vCPU) - Available * memory values: 32GB and 120 GB in 8 GB increments

    This * option requires Linux platform 1.4.0 or later.

*/ inline Task& WithCpu(const Aws::String& value) { SetCpu(value); return *this;} /** *

The number of CPU units used by the task as expressed in a task definition. * It can be expressed as an integer using CPU units (for example, * 1024). It can also be expressed as a string using vCPUs (for * example, 1 vCPU or 1 vcpu). String values are * converted to an integer that indicates the CPU units when the task definition is * registered.

If you use the EC2 launch type, this field is optional. * Supported values are between 128 CPU units (0.125 * vCPUs) and 10240 CPU units (10 vCPUs).

If you * use the Fargate launch type, this field is required. You must use one of the * following values. These values determine the range of supported values for the * memory parameter:

The CPU units cannot be less than 1 vCPU * when you use Windows containers on Fargate.

  • 256 (.25 vCPU) - * Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

    *
  • 512 (.5 vCPU) - Available memory values: 1024 (1 GB), * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

  • 1024 (1 vCPU) - * Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), * 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

  • 2048 (2 * vCPU) - Available memory values: 4096 (4 GB) and 16384 (16 GB) in * increments of 1024 (1 GB)

  • 4096 (4 vCPU) - Available * memory values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 * (1 GB)

  • 8192 (8 vCPU) - Available memory values: * 16 GB and 60 GB in 4 GB increments

    This option requires Linux platform * 1.4.0 or later.

  • 16384 (16vCPU) - Available * memory values: 32GB and 120 GB in 8 GB increments

    This * option requires Linux platform 1.4.0 or later.

*/ inline Task& WithCpu(Aws::String&& value) { SetCpu(std::move(value)); return *this;} /** *

The number of CPU units used by the task as expressed in a task definition. * It can be expressed as an integer using CPU units (for example, * 1024). It can also be expressed as a string using vCPUs (for * example, 1 vCPU or 1 vcpu). String values are * converted to an integer that indicates the CPU units when the task definition is * registered.

If you use the EC2 launch type, this field is optional. * Supported values are between 128 CPU units (0.125 * vCPUs) and 10240 CPU units (10 vCPUs).

If you * use the Fargate launch type, this field is required. You must use one of the * following values. These values determine the range of supported values for the * memory parameter:

The CPU units cannot be less than 1 vCPU * when you use Windows containers on Fargate.

  • 256 (.25 vCPU) - * Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

    *
  • 512 (.5 vCPU) - Available memory values: 1024 (1 GB), * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

  • 1024 (1 vCPU) - * Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), * 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

  • 2048 (2 * vCPU) - Available memory values: 4096 (4 GB) and 16384 (16 GB) in * increments of 1024 (1 GB)

  • 4096 (4 vCPU) - Available * memory values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 * (1 GB)

  • 8192 (8 vCPU) - Available memory values: * 16 GB and 60 GB in 4 GB increments

    This option requires Linux platform * 1.4.0 or later.

  • 16384 (16vCPU) - Available * memory values: 32GB and 120 GB in 8 GB increments

    This * option requires Linux platform 1.4.0 or later.

*/ inline Task& WithCpu(const char* value) { SetCpu(value); return *this;} /** *

The Unix timestamp for the time when the task was created. More specifically, * it's for the time when the task entered the PENDING state.

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

The Unix timestamp for the time when the task was created. More specifically, * it's for the time when the task entered the PENDING state.

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

The Unix timestamp for the time when the task was created. More specifically, * it's for the time when the task entered the PENDING state.

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

The Unix timestamp for the time when the task was created. More specifically, * it's for the time when the task entered the PENDING state.

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

The Unix timestamp for the time when the task was created. More specifically, * it's for the time when the task entered the PENDING state.

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

The Unix timestamp for the time when the task was created. More specifically, * it's for the time when the task entered the PENDING state.

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

The desired status of the task. For more information, see Task * Lifecycle.

*/ inline const Aws::String& GetDesiredStatus() const{ return m_desiredStatus; } /** *

The desired status of the task. For more information, see Task * Lifecycle.

*/ inline bool DesiredStatusHasBeenSet() const { return m_desiredStatusHasBeenSet; } /** *

The desired status of the task. For more information, see Task * Lifecycle.

*/ inline void SetDesiredStatus(const Aws::String& value) { m_desiredStatusHasBeenSet = true; m_desiredStatus = value; } /** *

The desired status of the task. For more information, see Task * Lifecycle.

*/ inline void SetDesiredStatus(Aws::String&& value) { m_desiredStatusHasBeenSet = true; m_desiredStatus = std::move(value); } /** *

The desired status of the task. For more information, see Task * Lifecycle.

*/ inline void SetDesiredStatus(const char* value) { m_desiredStatusHasBeenSet = true; m_desiredStatus.assign(value); } /** *

The desired status of the task. For more information, see Task * Lifecycle.

*/ inline Task& WithDesiredStatus(const Aws::String& value) { SetDesiredStatus(value); return *this;} /** *

The desired status of the task. For more information, see Task * Lifecycle.

*/ inline Task& WithDesiredStatus(Aws::String&& value) { SetDesiredStatus(std::move(value)); return *this;} /** *

The desired status of the task. For more information, see Task * Lifecycle.

*/ inline Task& WithDesiredStatus(const char* value) { SetDesiredStatus(value); return *this;} /** *

Determines whether execute command functionality is turned on for this task. * If true, execute command functionality is turned on all the * containers in the task.

*/ inline bool GetEnableExecuteCommand() const{ return m_enableExecuteCommand; } /** *

Determines whether execute command functionality is turned on for this task. * If true, execute command functionality is turned on all the * containers in the task.

*/ inline bool EnableExecuteCommandHasBeenSet() const { return m_enableExecuteCommandHasBeenSet; } /** *

Determines whether execute command functionality is turned on for this task. * If true, execute command functionality is turned on all the * containers in the task.

*/ inline void SetEnableExecuteCommand(bool value) { m_enableExecuteCommandHasBeenSet = true; m_enableExecuteCommand = value; } /** *

Determines whether execute command functionality is turned on for this task. * If true, execute command functionality is turned on all the * containers in the task.

*/ inline Task& WithEnableExecuteCommand(bool value) { SetEnableExecuteCommand(value); return *this;} /** *

The Unix timestamp for the time when the task execution stopped.

*/ inline const Aws::Utils::DateTime& GetExecutionStoppedAt() const{ return m_executionStoppedAt; } /** *

The Unix timestamp for the time when the task execution stopped.

*/ inline bool ExecutionStoppedAtHasBeenSet() const { return m_executionStoppedAtHasBeenSet; } /** *

The Unix timestamp for the time when the task execution stopped.

*/ inline void SetExecutionStoppedAt(const Aws::Utils::DateTime& value) { m_executionStoppedAtHasBeenSet = true; m_executionStoppedAt = value; } /** *

The Unix timestamp for the time when the task execution stopped.

*/ inline void SetExecutionStoppedAt(Aws::Utils::DateTime&& value) { m_executionStoppedAtHasBeenSet = true; m_executionStoppedAt = std::move(value); } /** *

The Unix timestamp for the time when the task execution stopped.

*/ inline Task& WithExecutionStoppedAt(const Aws::Utils::DateTime& value) { SetExecutionStoppedAt(value); return *this;} /** *

The Unix timestamp for the time when the task execution stopped.

*/ inline Task& WithExecutionStoppedAt(Aws::Utils::DateTime&& value) { SetExecutionStoppedAt(std::move(value)); return *this;} /** *

The name of the task group that's associated with the task.

*/ inline const Aws::String& GetGroup() const{ return m_group; } /** *

The name of the task group that's associated with the task.

*/ inline bool GroupHasBeenSet() const { return m_groupHasBeenSet; } /** *

The name of the task group that's associated with the task.

*/ inline void SetGroup(const Aws::String& value) { m_groupHasBeenSet = true; m_group = value; } /** *

The name of the task group that's associated with the task.

*/ inline void SetGroup(Aws::String&& value) { m_groupHasBeenSet = true; m_group = std::move(value); } /** *

The name of the task group that's associated with the task.

*/ inline void SetGroup(const char* value) { m_groupHasBeenSet = true; m_group.assign(value); } /** *

The name of the task group that's associated with the task.

*/ inline Task& WithGroup(const Aws::String& value) { SetGroup(value); return *this;} /** *

The name of the task group that's associated with the task.

*/ inline Task& WithGroup(Aws::String&& value) { SetGroup(std::move(value)); return *this;} /** *

The name of the task group that's associated with the task.

*/ inline Task& WithGroup(const char* value) { SetGroup(value); return *this;} /** *

The health status for the task. It's determined by the health of the * essential containers in the task. If all essential containers in the task are * reporting as HEALTHY, the task status also reports as * HEALTHY. If any essential containers in the task are reporting as * UNHEALTHY or UNKNOWN, the task status also reports as * UNHEALTHY or UNKNOWN.

The Amazon ECS * container agent doesn't monitor or report on Docker health checks that are * embedded in a container image and not specified in the container definition. For * example, this includes those specified in a parent image or from the image's * Dockerfile. Health check parameters that are specified in a container definition * override any Docker health checks that are found in the container image.

* */ inline const HealthStatus& GetHealthStatus() const{ return m_healthStatus; } /** *

The health status for the task. It's determined by the health of the * essential containers in the task. If all essential containers in the task are * reporting as HEALTHY, the task status also reports as * HEALTHY. If any essential containers in the task are reporting as * UNHEALTHY or UNKNOWN, the task status also reports as * UNHEALTHY or UNKNOWN.

The Amazon ECS * container agent doesn't monitor or report on Docker health checks that are * embedded in a container image and not specified in the container definition. For * example, this includes those specified in a parent image or from the image's * Dockerfile. Health check parameters that are specified in a container definition * override any Docker health checks that are found in the container image.

* */ inline bool HealthStatusHasBeenSet() const { return m_healthStatusHasBeenSet; } /** *

The health status for the task. It's determined by the health of the * essential containers in the task. If all essential containers in the task are * reporting as HEALTHY, the task status also reports as * HEALTHY. If any essential containers in the task are reporting as * UNHEALTHY or UNKNOWN, the task status also reports as * UNHEALTHY or UNKNOWN.

The Amazon ECS * container agent doesn't monitor or report on Docker health checks that are * embedded in a container image and not specified in the container definition. For * example, this includes those specified in a parent image or from the image's * Dockerfile. Health check parameters that are specified in a container definition * override any Docker health checks that are found in the container image.

* */ inline void SetHealthStatus(const HealthStatus& value) { m_healthStatusHasBeenSet = true; m_healthStatus = value; } /** *

The health status for the task. It's determined by the health of the * essential containers in the task. If all essential containers in the task are * reporting as HEALTHY, the task status also reports as * HEALTHY. If any essential containers in the task are reporting as * UNHEALTHY or UNKNOWN, the task status also reports as * UNHEALTHY or UNKNOWN.

The Amazon ECS * container agent doesn't monitor or report on Docker health checks that are * embedded in a container image and not specified in the container definition. For * example, this includes those specified in a parent image or from the image's * Dockerfile. Health check parameters that are specified in a container definition * override any Docker health checks that are found in the container image.

* */ inline void SetHealthStatus(HealthStatus&& value) { m_healthStatusHasBeenSet = true; m_healthStatus = std::move(value); } /** *

The health status for the task. It's determined by the health of the * essential containers in the task. If all essential containers in the task are * reporting as HEALTHY, the task status also reports as * HEALTHY. If any essential containers in the task are reporting as * UNHEALTHY or UNKNOWN, the task status also reports as * UNHEALTHY or UNKNOWN.

The Amazon ECS * container agent doesn't monitor or report on Docker health checks that are * embedded in a container image and not specified in the container definition. For * example, this includes those specified in a parent image or from the image's * Dockerfile. Health check parameters that are specified in a container definition * override any Docker health checks that are found in the container image.

* */ inline Task& WithHealthStatus(const HealthStatus& value) { SetHealthStatus(value); return *this;} /** *

The health status for the task. It's determined by the health of the * essential containers in the task. If all essential containers in the task are * reporting as HEALTHY, the task status also reports as * HEALTHY. If any essential containers in the task are reporting as * UNHEALTHY or UNKNOWN, the task status also reports as * UNHEALTHY or UNKNOWN.

The Amazon ECS * container agent doesn't monitor or report on Docker health checks that are * embedded in a container image and not specified in the container definition. For * example, this includes those specified in a parent image or from the image's * Dockerfile. Health check parameters that are specified in a container definition * override any Docker health checks that are found in the container image.

* */ inline Task& WithHealthStatus(HealthStatus&& value) { SetHealthStatus(std::move(value)); return *this;} /** *

The Elastic Inference accelerator that's associated with the task.

*/ inline const Aws::Vector& GetInferenceAccelerators() const{ return m_inferenceAccelerators; } /** *

The Elastic Inference accelerator that's associated with the task.

*/ inline bool InferenceAcceleratorsHasBeenSet() const { return m_inferenceAcceleratorsHasBeenSet; } /** *

The Elastic Inference accelerator that's associated with the task.

*/ inline void SetInferenceAccelerators(const Aws::Vector& value) { m_inferenceAcceleratorsHasBeenSet = true; m_inferenceAccelerators = value; } /** *

The Elastic Inference accelerator that's associated with the task.

*/ inline void SetInferenceAccelerators(Aws::Vector&& value) { m_inferenceAcceleratorsHasBeenSet = true; m_inferenceAccelerators = std::move(value); } /** *

The Elastic Inference accelerator that's associated with the task.

*/ inline Task& WithInferenceAccelerators(const Aws::Vector& value) { SetInferenceAccelerators(value); return *this;} /** *

The Elastic Inference accelerator that's associated with the task.

*/ inline Task& WithInferenceAccelerators(Aws::Vector&& value) { SetInferenceAccelerators(std::move(value)); return *this;} /** *

The Elastic Inference accelerator that's associated with the task.

*/ inline Task& AddInferenceAccelerators(const InferenceAccelerator& value) { m_inferenceAcceleratorsHasBeenSet = true; m_inferenceAccelerators.push_back(value); return *this; } /** *

The Elastic Inference accelerator that's associated with the task.

*/ inline Task& AddInferenceAccelerators(InferenceAccelerator&& value) { m_inferenceAcceleratorsHasBeenSet = true; m_inferenceAccelerators.push_back(std::move(value)); return *this; } /** *

The last known status for the task. For more information, see Task * Lifecycle.

*/ inline const Aws::String& GetLastStatus() const{ return m_lastStatus; } /** *

The last known status for the task. For more information, see Task * Lifecycle.

*/ inline bool LastStatusHasBeenSet() const { return m_lastStatusHasBeenSet; } /** *

The last known status for the task. For more information, see Task * Lifecycle.

*/ inline void SetLastStatus(const Aws::String& value) { m_lastStatusHasBeenSet = true; m_lastStatus = value; } /** *

The last known status for the task. For more information, see Task * Lifecycle.

*/ inline void SetLastStatus(Aws::String&& value) { m_lastStatusHasBeenSet = true; m_lastStatus = std::move(value); } /** *

The last known status for the task. For more information, see Task * Lifecycle.

*/ inline void SetLastStatus(const char* value) { m_lastStatusHasBeenSet = true; m_lastStatus.assign(value); } /** *

The last known status for the task. For more information, see Task * Lifecycle.

*/ inline Task& WithLastStatus(const Aws::String& value) { SetLastStatus(value); return *this;} /** *

The last known status for the task. For more information, see Task * Lifecycle.

*/ inline Task& WithLastStatus(Aws::String&& value) { SetLastStatus(std::move(value)); return *this;} /** *

The last known status for the task. For more information, see Task * Lifecycle.

*/ inline Task& WithLastStatus(const char* value) { SetLastStatus(value); return *this;} /** *

The infrastructure where your task runs on. 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 infrastructure where your task runs on. For more information, see Amazon * ECS launch types in the Amazon Elastic Container Service Developer * Guide.

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

The infrastructure where your task runs on. 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 infrastructure where your task runs on. 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 infrastructure where your task runs on. For more information, see Amazon * ECS launch types in the Amazon Elastic Container Service Developer * Guide.

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

The infrastructure where your task runs on. For more information, see Amazon * ECS launch types in the Amazon Elastic Container Service Developer * Guide.

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

The amount of memory (in MiB) that the task uses as expressed in a task * definition. It can be expressed as an integer using MiB (for example, * 1024). If it's expressed as a string using GB (for example, * 1GB or 1 GB), it's converted to an integer indicating * the MiB when the task definition is registered.

If you use the EC2 launch * type, this field is optional.

If you use the Fargate launch type, this * field is required. You must use one of the following values. The value that you * choose determines the range of supported values for the cpu * parameter.

  • 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available * cpu values: 256 (.25 vCPU)

  • 1024 (1 GB), 2048 (2 * GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 * vCPU)

  • 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 * (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 * vCPU)

  • Between 4096 (4 GB) and 16384 (16 GB) in increments of * 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

  • *

    Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - * Available cpu values: 4096 (4 vCPU)

  • Between 16 GB * and 60 GB in 4 GB increments - Available cpu values: 8192 (8 * vCPU)

    This option requires Linux platform 1.4.0 or * later.

  • Between 32GB and 120 GB in 8 GB increments - Available * cpu values: 16384 (16 vCPU)

    This option requires Linux * platform 1.4.0 or later.

*/ inline const Aws::String& GetMemory() const{ return m_memory; } /** *

The amount of memory (in MiB) that the task uses as expressed in a task * definition. It can be expressed as an integer using MiB (for example, * 1024). If it's expressed as a string using GB (for example, * 1GB or 1 GB), it's converted to an integer indicating * the MiB when the task definition is registered.

If you use the EC2 launch * type, this field is optional.

If you use the Fargate launch type, this * field is required. You must use one of the following values. The value that you * choose determines the range of supported values for the cpu * parameter.

  • 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available * cpu values: 256 (.25 vCPU)

  • 1024 (1 GB), 2048 (2 * GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 * vCPU)

  • 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 * (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 * vCPU)

  • Between 4096 (4 GB) and 16384 (16 GB) in increments of * 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

  • *

    Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - * Available cpu values: 4096 (4 vCPU)

  • Between 16 GB * and 60 GB in 4 GB increments - Available cpu values: 8192 (8 * vCPU)

    This option requires Linux platform 1.4.0 or * later.

  • Between 32GB and 120 GB in 8 GB increments - Available * cpu values: 16384 (16 vCPU)

    This option requires Linux * platform 1.4.0 or later.

*/ inline bool MemoryHasBeenSet() const { return m_memoryHasBeenSet; } /** *

The amount of memory (in MiB) that the task uses as expressed in a task * definition. It can be expressed as an integer using MiB (for example, * 1024). If it's expressed as a string using GB (for example, * 1GB or 1 GB), it's converted to an integer indicating * the MiB when the task definition is registered.

If you use the EC2 launch * type, this field is optional.

If you use the Fargate launch type, this * field is required. You must use one of the following values. The value that you * choose determines the range of supported values for the cpu * parameter.

  • 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available * cpu values: 256 (.25 vCPU)

  • 1024 (1 GB), 2048 (2 * GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 * vCPU)

  • 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 * (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 * vCPU)

  • Between 4096 (4 GB) and 16384 (16 GB) in increments of * 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

  • *

    Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - * Available cpu values: 4096 (4 vCPU)

  • Between 16 GB * and 60 GB in 4 GB increments - Available cpu values: 8192 (8 * vCPU)

    This option requires Linux platform 1.4.0 or * later.

  • Between 32GB and 120 GB in 8 GB increments - Available * cpu values: 16384 (16 vCPU)

    This option requires Linux * platform 1.4.0 or later.

*/ inline void SetMemory(const Aws::String& value) { m_memoryHasBeenSet = true; m_memory = value; } /** *

The amount of memory (in MiB) that the task uses as expressed in a task * definition. It can be expressed as an integer using MiB (for example, * 1024). If it's expressed as a string using GB (for example, * 1GB or 1 GB), it's converted to an integer indicating * the MiB when the task definition is registered.

If you use the EC2 launch * type, this field is optional.

If you use the Fargate launch type, this * field is required. You must use one of the following values. The value that you * choose determines the range of supported values for the cpu * parameter.

  • 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available * cpu values: 256 (.25 vCPU)

  • 1024 (1 GB), 2048 (2 * GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 * vCPU)

  • 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 * (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 * vCPU)

  • Between 4096 (4 GB) and 16384 (16 GB) in increments of * 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

  • *

    Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - * Available cpu values: 4096 (4 vCPU)

  • Between 16 GB * and 60 GB in 4 GB increments - Available cpu values: 8192 (8 * vCPU)

    This option requires Linux platform 1.4.0 or * later.

  • Between 32GB and 120 GB in 8 GB increments - Available * cpu values: 16384 (16 vCPU)

    This option requires Linux * platform 1.4.0 or later.

*/ inline void SetMemory(Aws::String&& value) { m_memoryHasBeenSet = true; m_memory = std::move(value); } /** *

The amount of memory (in MiB) that the task uses as expressed in a task * definition. It can be expressed as an integer using MiB (for example, * 1024). If it's expressed as a string using GB (for example, * 1GB or 1 GB), it's converted to an integer indicating * the MiB when the task definition is registered.

If you use the EC2 launch * type, this field is optional.

If you use the Fargate launch type, this * field is required. You must use one of the following values. The value that you * choose determines the range of supported values for the cpu * parameter.

  • 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available * cpu values: 256 (.25 vCPU)

  • 1024 (1 GB), 2048 (2 * GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 * vCPU)

  • 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 * (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 * vCPU)

  • Between 4096 (4 GB) and 16384 (16 GB) in increments of * 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

  • *

    Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - * Available cpu values: 4096 (4 vCPU)

  • Between 16 GB * and 60 GB in 4 GB increments - Available cpu values: 8192 (8 * vCPU)

    This option requires Linux platform 1.4.0 or * later.

  • Between 32GB and 120 GB in 8 GB increments - Available * cpu values: 16384 (16 vCPU)

    This option requires Linux * platform 1.4.0 or later.

*/ inline void SetMemory(const char* value) { m_memoryHasBeenSet = true; m_memory.assign(value); } /** *

The amount of memory (in MiB) that the task uses as expressed in a task * definition. It can be expressed as an integer using MiB (for example, * 1024). If it's expressed as a string using GB (for example, * 1GB or 1 GB), it's converted to an integer indicating * the MiB when the task definition is registered.

If you use the EC2 launch * type, this field is optional.

If you use the Fargate launch type, this * field is required. You must use one of the following values. The value that you * choose determines the range of supported values for the cpu * parameter.

  • 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available * cpu values: 256 (.25 vCPU)

  • 1024 (1 GB), 2048 (2 * GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 * vCPU)

  • 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 * (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 * vCPU)

  • Between 4096 (4 GB) and 16384 (16 GB) in increments of * 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

  • *

    Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - * Available cpu values: 4096 (4 vCPU)

  • Between 16 GB * and 60 GB in 4 GB increments - Available cpu values: 8192 (8 * vCPU)

    This option requires Linux platform 1.4.0 or * later.

  • Between 32GB and 120 GB in 8 GB increments - Available * cpu values: 16384 (16 vCPU)

    This option requires Linux * platform 1.4.0 or later.

*/ inline Task& WithMemory(const Aws::String& value) { SetMemory(value); return *this;} /** *

The amount of memory (in MiB) that the task uses as expressed in a task * definition. It can be expressed as an integer using MiB (for example, * 1024). If it's expressed as a string using GB (for example, * 1GB or 1 GB), it's converted to an integer indicating * the MiB when the task definition is registered.

If you use the EC2 launch * type, this field is optional.

If you use the Fargate launch type, this * field is required. You must use one of the following values. The value that you * choose determines the range of supported values for the cpu * parameter.

  • 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available * cpu values: 256 (.25 vCPU)

  • 1024 (1 GB), 2048 (2 * GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 * vCPU)

  • 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 * (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 * vCPU)

  • Between 4096 (4 GB) and 16384 (16 GB) in increments of * 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

  • *

    Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - * Available cpu values: 4096 (4 vCPU)

  • Between 16 GB * and 60 GB in 4 GB increments - Available cpu values: 8192 (8 * vCPU)

    This option requires Linux platform 1.4.0 or * later.

  • Between 32GB and 120 GB in 8 GB increments - Available * cpu values: 16384 (16 vCPU)

    This option requires Linux * platform 1.4.0 or later.

*/ inline Task& WithMemory(Aws::String&& value) { SetMemory(std::move(value)); return *this;} /** *

The amount of memory (in MiB) that the task uses as expressed in a task * definition. It can be expressed as an integer using MiB (for example, * 1024). If it's expressed as a string using GB (for example, * 1GB or 1 GB), it's converted to an integer indicating * the MiB when the task definition is registered.

If you use the EC2 launch * type, this field is optional.

If you use the Fargate launch type, this * field is required. You must use one of the following values. The value that you * choose determines the range of supported values for the cpu * parameter.

  • 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available * cpu values: 256 (.25 vCPU)

  • 1024 (1 GB), 2048 (2 * GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 * vCPU)

  • 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 * (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 * vCPU)

  • Between 4096 (4 GB) and 16384 (16 GB) in increments of * 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

  • *

    Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - * Available cpu values: 4096 (4 vCPU)

  • Between 16 GB * and 60 GB in 4 GB increments - Available cpu values: 8192 (8 * vCPU)

    This option requires Linux platform 1.4.0 or * later.

  • Between 32GB and 120 GB in 8 GB increments - Available * cpu values: 16384 (16 vCPU)

    This option requires Linux * platform 1.4.0 or later.

*/ inline Task& WithMemory(const char* value) { SetMemory(value); return *this;} /** *

One or more container overrides.

*/ inline const TaskOverride& GetOverrides() const{ return m_overrides; } /** *

One or more container overrides.

*/ inline bool OverridesHasBeenSet() const { return m_overridesHasBeenSet; } /** *

One or more container overrides.

*/ inline void SetOverrides(const TaskOverride& value) { m_overridesHasBeenSet = true; m_overrides = value; } /** *

One or more container overrides.

*/ inline void SetOverrides(TaskOverride&& value) { m_overridesHasBeenSet = true; m_overrides = std::move(value); } /** *

One or more container overrides.

*/ inline Task& WithOverrides(const TaskOverride& value) { SetOverrides(value); return *this;} /** *

One or more container overrides.

*/ inline Task& WithOverrides(TaskOverride&& value) { SetOverrides(std::move(value)); return *this;} /** *

The platform version where your task runs on. A platform version is only * specified for tasks that use the Fargate launch type. If you didn't specify one, * 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 where your task runs on. A platform version is only * specified for tasks that use the Fargate launch type. If you didn't specify one, * 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 where your task runs on. A platform version is only * specified for tasks that use the Fargate launch type. If you didn't specify one, * 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 where your task runs on. A platform version is only * specified for tasks that use the Fargate launch type. If you didn't specify one, * 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 where your task runs on. A platform version is only * specified for tasks that use the Fargate launch type. If you didn't specify one, * 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 where your task runs on. A platform version is only * specified for tasks that use the Fargate launch type. If you didn't specify one, * the LATEST platform version is used. For more information, see Fargate * Platform Versions in the Amazon Elastic Container Service Developer * Guide.

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

The platform version where your task runs on. A platform version is only * specified for tasks that use the Fargate launch type. If you didn't specify one, * the LATEST platform version is used. For more information, see Fargate * Platform Versions in the Amazon Elastic Container Service Developer * Guide.

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

The platform version where your task runs on. A platform version is only * specified for tasks that use the Fargate launch type. If you didn't specify one, * the LATEST platform version is used. For more information, see Fargate * Platform Versions in the Amazon Elastic Container Service Developer * Guide.

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

The operating system that your tasks are running on. A platform family is * specified only for tasks that use 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 are running on. A platform family is * specified only for tasks that use 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 are running on. A platform family is * specified only for tasks that use 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 are running on. A platform family is * specified only for tasks that use 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 are running on. A platform family is * specified only for tasks that use 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 are running on. A platform family is * specified only for tasks that use 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 Task& WithPlatformFamily(const Aws::String& value) { SetPlatformFamily(value); return *this;} /** *

The operating system that your tasks are running on. A platform family is * specified only for tasks that use 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 Task& WithPlatformFamily(Aws::String&& value) { SetPlatformFamily(std::move(value)); return *this;} /** *

The operating system that your tasks are running on. A platform family is * specified only for tasks that use 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 Task& WithPlatformFamily(const char* value) { SetPlatformFamily(value); return *this;} /** *

The Unix timestamp for the time when the container image pull began.

*/ inline const Aws::Utils::DateTime& GetPullStartedAt() const{ return m_pullStartedAt; } /** *

The Unix timestamp for the time when the container image pull began.

*/ inline bool PullStartedAtHasBeenSet() const { return m_pullStartedAtHasBeenSet; } /** *

The Unix timestamp for the time when the container image pull began.

*/ inline void SetPullStartedAt(const Aws::Utils::DateTime& value) { m_pullStartedAtHasBeenSet = true; m_pullStartedAt = value; } /** *

The Unix timestamp for the time when the container image pull began.

*/ inline void SetPullStartedAt(Aws::Utils::DateTime&& value) { m_pullStartedAtHasBeenSet = true; m_pullStartedAt = std::move(value); } /** *

The Unix timestamp for the time when the container image pull began.

*/ inline Task& WithPullStartedAt(const Aws::Utils::DateTime& value) { SetPullStartedAt(value); return *this;} /** *

The Unix timestamp for the time when the container image pull began.

*/ inline Task& WithPullStartedAt(Aws::Utils::DateTime&& value) { SetPullStartedAt(std::move(value)); return *this;} /** *

The Unix timestamp for the time when the container image pull completed.

*/ inline const Aws::Utils::DateTime& GetPullStoppedAt() const{ return m_pullStoppedAt; } /** *

The Unix timestamp for the time when the container image pull completed.

*/ inline bool PullStoppedAtHasBeenSet() const { return m_pullStoppedAtHasBeenSet; } /** *

The Unix timestamp for the time when the container image pull completed.

*/ inline void SetPullStoppedAt(const Aws::Utils::DateTime& value) { m_pullStoppedAtHasBeenSet = true; m_pullStoppedAt = value; } /** *

The Unix timestamp for the time when the container image pull completed.

*/ inline void SetPullStoppedAt(Aws::Utils::DateTime&& value) { m_pullStoppedAtHasBeenSet = true; m_pullStoppedAt = std::move(value); } /** *

The Unix timestamp for the time when the container image pull completed.

*/ inline Task& WithPullStoppedAt(const Aws::Utils::DateTime& value) { SetPullStoppedAt(value); return *this;} /** *

The Unix timestamp for the time when the container image pull completed.

*/ inline Task& WithPullStoppedAt(Aws::Utils::DateTime&& value) { SetPullStoppedAt(std::move(value)); return *this;} /** *

The Unix timestamp for the time when the task started. More specifically, * it's for the time when the task transitioned from the PENDING state * to the RUNNING state.

*/ inline const Aws::Utils::DateTime& GetStartedAt() const{ return m_startedAt; } /** *

The Unix timestamp for the time when the task started. More specifically, * it's for the time when the task transitioned from the PENDING state * to the RUNNING state.

*/ inline bool StartedAtHasBeenSet() const { return m_startedAtHasBeenSet; } /** *

The Unix timestamp for the time when the task started. More specifically, * it's for the time when the task transitioned from the PENDING state * to the RUNNING state.

*/ inline void SetStartedAt(const Aws::Utils::DateTime& value) { m_startedAtHasBeenSet = true; m_startedAt = value; } /** *

The Unix timestamp for the time when the task started. More specifically, * it's for the time when the task transitioned from the PENDING state * to the RUNNING state.

*/ inline void SetStartedAt(Aws::Utils::DateTime&& value) { m_startedAtHasBeenSet = true; m_startedAt = std::move(value); } /** *

The Unix timestamp for the time when the task started. More specifically, * it's for the time when the task transitioned from the PENDING state * to the RUNNING state.

*/ inline Task& WithStartedAt(const Aws::Utils::DateTime& value) { SetStartedAt(value); return *this;} /** *

The Unix timestamp for the time when the task started. More specifically, * it's for the time when the task transitioned from the PENDING state * to the RUNNING state.

*/ inline Task& WithStartedAt(Aws::Utils::DateTime&& value) { SetStartedAt(std::move(value)); return *this;} /** *

The tag specified when a task is started. If an Amazon ECS service started * the task, the startedBy parameter contains the deployment ID of * that service.

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

The tag specified when a task is started. If an Amazon ECS service started * the task, the startedBy parameter contains the deployment ID of * that service.

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

The tag specified when a task is started. If an Amazon ECS service started * the task, the startedBy parameter contains the deployment ID of * that service.

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

The tag specified when a task is started. If an Amazon ECS service started * the task, the startedBy parameter contains the deployment ID of * that service.

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

The tag specified when a task is started. If an Amazon ECS service started * the task, the startedBy parameter contains the deployment ID of * that service.

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

The tag specified when a task is started. If an Amazon ECS service started * the task, the startedBy parameter contains the deployment ID of * that service.

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

The tag specified when a task is started. If an Amazon ECS service started * the task, the startedBy parameter contains the deployment ID of * that service.

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

The tag specified when a task is started. If an Amazon ECS service started * the task, the startedBy parameter contains the deployment ID of * that service.

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

The stop code indicating why a task was stopped. The * stoppedReason might contain additional details.

The * following are valid values:

  • TaskFailedToStart *

  • EssentialContainerExited

  • * UserInitiated

  • TerminationNotice *

  • ServiceSchedulerInitiated

  • * SpotInterruption

*/ inline const TaskStopCode& GetStopCode() const{ return m_stopCode; } /** *

The stop code indicating why a task was stopped. The * stoppedReason might contain additional details.

The * following are valid values:

  • TaskFailedToStart *

  • EssentialContainerExited

  • * UserInitiated

  • TerminationNotice *

  • ServiceSchedulerInitiated

  • * SpotInterruption

*/ inline bool StopCodeHasBeenSet() const { return m_stopCodeHasBeenSet; } /** *

The stop code indicating why a task was stopped. The * stoppedReason might contain additional details.

The * following are valid values:

  • TaskFailedToStart *

  • EssentialContainerExited

  • * UserInitiated

  • TerminationNotice *

  • ServiceSchedulerInitiated

  • * SpotInterruption

*/ inline void SetStopCode(const TaskStopCode& value) { m_stopCodeHasBeenSet = true; m_stopCode = value; } /** *

The stop code indicating why a task was stopped. The * stoppedReason might contain additional details.

The * following are valid values:

  • TaskFailedToStart *

  • EssentialContainerExited

  • * UserInitiated

  • TerminationNotice *

  • ServiceSchedulerInitiated

  • * SpotInterruption

*/ inline void SetStopCode(TaskStopCode&& value) { m_stopCodeHasBeenSet = true; m_stopCode = std::move(value); } /** *

The stop code indicating why a task was stopped. The * stoppedReason might contain additional details.

The * following are valid values:

  • TaskFailedToStart *

  • EssentialContainerExited

  • * UserInitiated

  • TerminationNotice *

  • ServiceSchedulerInitiated

  • * SpotInterruption

*/ inline Task& WithStopCode(const TaskStopCode& value) { SetStopCode(value); return *this;} /** *

The stop code indicating why a task was stopped. The * stoppedReason might contain additional details.

The * following are valid values:

  • TaskFailedToStart *

  • EssentialContainerExited

  • * UserInitiated

  • TerminationNotice *

  • ServiceSchedulerInitiated

  • * SpotInterruption

*/ inline Task& WithStopCode(TaskStopCode&& value) { SetStopCode(std::move(value)); return *this;} /** *

The Unix timestamp for the time when the task was stopped. More specifically, * it's for the time when the task transitioned from the RUNNING state * to the STOPPED state.

*/ inline const Aws::Utils::DateTime& GetStoppedAt() const{ return m_stoppedAt; } /** *

The Unix timestamp for the time when the task was stopped. More specifically, * it's for the time when the task transitioned from the RUNNING state * to the STOPPED state.

*/ inline bool StoppedAtHasBeenSet() const { return m_stoppedAtHasBeenSet; } /** *

The Unix timestamp for the time when the task was stopped. More specifically, * it's for the time when the task transitioned from the RUNNING state * to the STOPPED state.

*/ inline void SetStoppedAt(const Aws::Utils::DateTime& value) { m_stoppedAtHasBeenSet = true; m_stoppedAt = value; } /** *

The Unix timestamp for the time when the task was stopped. More specifically, * it's for the time when the task transitioned from the RUNNING state * to the STOPPED state.

*/ inline void SetStoppedAt(Aws::Utils::DateTime&& value) { m_stoppedAtHasBeenSet = true; m_stoppedAt = std::move(value); } /** *

The Unix timestamp for the time when the task was stopped. More specifically, * it's for the time when the task transitioned from the RUNNING state * to the STOPPED state.

*/ inline Task& WithStoppedAt(const Aws::Utils::DateTime& value) { SetStoppedAt(value); return *this;} /** *

The Unix timestamp for the time when the task was stopped. More specifically, * it's for the time when the task transitioned from the RUNNING state * to the STOPPED state.

*/ inline Task& WithStoppedAt(Aws::Utils::DateTime&& value) { SetStoppedAt(std::move(value)); return *this;} /** *

The reason that the task was stopped.

*/ inline const Aws::String& GetStoppedReason() const{ return m_stoppedReason; } /** *

The reason that the task was stopped.

*/ inline bool StoppedReasonHasBeenSet() const { return m_stoppedReasonHasBeenSet; } /** *

The reason that the task was stopped.

*/ inline void SetStoppedReason(const Aws::String& value) { m_stoppedReasonHasBeenSet = true; m_stoppedReason = value; } /** *

The reason that the task was stopped.

*/ inline void SetStoppedReason(Aws::String&& value) { m_stoppedReasonHasBeenSet = true; m_stoppedReason = std::move(value); } /** *

The reason that the task was stopped.

*/ inline void SetStoppedReason(const char* value) { m_stoppedReasonHasBeenSet = true; m_stoppedReason.assign(value); } /** *

The reason that the task was stopped.

*/ inline Task& WithStoppedReason(const Aws::String& value) { SetStoppedReason(value); return *this;} /** *

The reason that the task was stopped.

*/ inline Task& WithStoppedReason(Aws::String&& value) { SetStoppedReason(std::move(value)); return *this;} /** *

The reason that the task was stopped.

*/ inline Task& WithStoppedReason(const char* value) { SetStoppedReason(value); return *this;} /** *

The Unix timestamp for the time when the task stops. More specifically, it's * for the time when the task transitions from the RUNNING state to * STOPPED.

*/ inline const Aws::Utils::DateTime& GetStoppingAt() const{ return m_stoppingAt; } /** *

The Unix timestamp for the time when the task stops. More specifically, it's * for the time when the task transitions from the RUNNING state to * STOPPED.

*/ inline bool StoppingAtHasBeenSet() const { return m_stoppingAtHasBeenSet; } /** *

The Unix timestamp for the time when the task stops. More specifically, it's * for the time when the task transitions from the RUNNING state to * STOPPED.

*/ inline void SetStoppingAt(const Aws::Utils::DateTime& value) { m_stoppingAtHasBeenSet = true; m_stoppingAt = value; } /** *

The Unix timestamp for the time when the task stops. More specifically, it's * for the time when the task transitions from the RUNNING state to * STOPPED.

*/ inline void SetStoppingAt(Aws::Utils::DateTime&& value) { m_stoppingAtHasBeenSet = true; m_stoppingAt = std::move(value); } /** *

The Unix timestamp for the time when the task stops. More specifically, it's * for the time when the task transitions from the RUNNING state to * STOPPED.

*/ inline Task& WithStoppingAt(const Aws::Utils::DateTime& value) { SetStoppingAt(value); return *this;} /** *

The Unix timestamp for the time when the task stops. More specifically, it's * for the time when the task transitions from the RUNNING state to * STOPPED.

*/ inline Task& WithStoppingAt(Aws::Utils::DateTime&& value) { SetStoppingAt(std::move(value)); return *this;} /** *

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

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 Amazon Web * Services 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 to help you categorize and organize * the task. Each tag consists of a key and an optional value. You define both the * key and value.

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 Amazon Web * Services 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 to help you categorize and organize * the task. Each tag consists of a key and an optional value. You define both the * key and value.

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 Amazon Web * Services 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 to help you categorize and organize * the task. Each tag consists of a key and an optional value. You define both the * key and value.

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 Amazon Web * Services 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 to help you categorize and organize * the task. Each tag consists of a key and an optional value. You define both the * key and value.

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 Amazon Web * Services 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 Task& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

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

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 Amazon Web * Services 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 Task& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

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

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 Amazon Web * Services 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 Task& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

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

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 Amazon Web * Services 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 Task& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

The Amazon Resource Name (ARN) of the task.

*/ inline const Aws::String& GetTaskArn() const{ return m_taskArn; } /** *

The Amazon Resource Name (ARN) of the task.

*/ inline bool TaskArnHasBeenSet() const { return m_taskArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the task.

*/ inline void SetTaskArn(const Aws::String& value) { m_taskArnHasBeenSet = true; m_taskArn = value; } /** *

The Amazon Resource Name (ARN) of the task.

*/ inline void SetTaskArn(Aws::String&& value) { m_taskArnHasBeenSet = true; m_taskArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the task.

*/ inline void SetTaskArn(const char* value) { m_taskArnHasBeenSet = true; m_taskArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the task.

*/ inline Task& WithTaskArn(const Aws::String& value) { SetTaskArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the task.

*/ inline Task& WithTaskArn(Aws::String&& value) { SetTaskArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the task.

*/ inline Task& WithTaskArn(const char* value) { SetTaskArn(value); return *this;} /** *

The ARN of the task definition that creates the task.

*/ inline const Aws::String& GetTaskDefinitionArn() const{ return m_taskDefinitionArn; } /** *

The ARN of the task definition that creates the task.

*/ inline bool TaskDefinitionArnHasBeenSet() const { return m_taskDefinitionArnHasBeenSet; } /** *

The ARN of the task definition that creates the task.

*/ inline void SetTaskDefinitionArn(const Aws::String& value) { m_taskDefinitionArnHasBeenSet = true; m_taskDefinitionArn = value; } /** *

The ARN of the task definition that creates the task.

*/ inline void SetTaskDefinitionArn(Aws::String&& value) { m_taskDefinitionArnHasBeenSet = true; m_taskDefinitionArn = std::move(value); } /** *

The ARN of the task definition that creates the task.

*/ inline void SetTaskDefinitionArn(const char* value) { m_taskDefinitionArnHasBeenSet = true; m_taskDefinitionArn.assign(value); } /** *

The ARN of the task definition that creates the task.

*/ inline Task& WithTaskDefinitionArn(const Aws::String& value) { SetTaskDefinitionArn(value); return *this;} /** *

The ARN of the task definition that creates the task.

*/ inline Task& WithTaskDefinitionArn(Aws::String&& value) { SetTaskDefinitionArn(std::move(value)); return *this;} /** *

The ARN of the task definition that creates the task.

*/ inline Task& WithTaskDefinitionArn(const char* value) { SetTaskDefinitionArn(value); return *this;} /** *

The version counter for the task. Every time a task experiences a change that * starts a CloudWatch event, the version counter is incremented. If you replicate * your Amazon ECS task state with CloudWatch Events, you can compare the version * of a task reported by the Amazon ECS API actions with the version reported in * CloudWatch Events for the task (inside the detail object) to verify * that the version in your event stream is current.

*/ inline long long GetVersion() const{ return m_version; } /** *

The version counter for the task. Every time a task experiences a change that * starts a CloudWatch event, the version counter is incremented. If you replicate * your Amazon ECS task state with CloudWatch Events, you can compare the version * of a task reported by the Amazon ECS API actions with the version reported in * CloudWatch Events for the task (inside the detail object) to verify * that the version in your event stream is current.

*/ inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } /** *

The version counter for the task. Every time a task experiences a change that * starts a CloudWatch event, the version counter is incremented. If you replicate * your Amazon ECS task state with CloudWatch Events, you can compare the version * of a task reported by the Amazon ECS API actions with the version reported in * CloudWatch Events for the task (inside the detail object) to verify * that the version in your event stream is current.

*/ inline void SetVersion(long long value) { m_versionHasBeenSet = true; m_version = value; } /** *

The version counter for the task. Every time a task experiences a change that * starts a CloudWatch event, the version counter is incremented. If you replicate * your Amazon ECS task state with CloudWatch Events, you can compare the version * of a task reported by the Amazon ECS API actions with the version reported in * CloudWatch Events for the task (inside the detail object) to verify * that the version in your event stream is current.

*/ inline Task& WithVersion(long long value) { SetVersion(value); return *this;} /** *

The ephemeral storage settings for the task.

*/ inline const EphemeralStorage& GetEphemeralStorage() const{ return m_ephemeralStorage; } /** *

The ephemeral storage settings for the task.

*/ inline bool EphemeralStorageHasBeenSet() const { return m_ephemeralStorageHasBeenSet; } /** *

The ephemeral storage settings for the task.

*/ inline void SetEphemeralStorage(const EphemeralStorage& value) { m_ephemeralStorageHasBeenSet = true; m_ephemeralStorage = value; } /** *

The ephemeral storage settings for the task.

*/ inline void SetEphemeralStorage(EphemeralStorage&& value) { m_ephemeralStorageHasBeenSet = true; m_ephemeralStorage = std::move(value); } /** *

The ephemeral storage settings for the task.

*/ inline Task& WithEphemeralStorage(const EphemeralStorage& value) { SetEphemeralStorage(value); return *this;} /** *

The ephemeral storage settings for the task.

*/ inline Task& WithEphemeralStorage(EphemeralStorage&& value) { SetEphemeralStorage(std::move(value)); return *this;} private: Aws::Vector m_attachments; bool m_attachmentsHasBeenSet = false; Aws::Vector m_attributes; bool m_attributesHasBeenSet = false; Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet = false; Aws::String m_capacityProviderName; bool m_capacityProviderNameHasBeenSet = false; Aws::String m_clusterArn; bool m_clusterArnHasBeenSet = false; Connectivity m_connectivity; bool m_connectivityHasBeenSet = false; Aws::Utils::DateTime m_connectivityAt; bool m_connectivityAtHasBeenSet = false; Aws::String m_containerInstanceArn; bool m_containerInstanceArnHasBeenSet = false; Aws::Vector m_containers; bool m_containersHasBeenSet = false; Aws::String m_cpu; bool m_cpuHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; Aws::String m_desiredStatus; bool m_desiredStatusHasBeenSet = false; bool m_enableExecuteCommand; bool m_enableExecuteCommandHasBeenSet = false; Aws::Utils::DateTime m_executionStoppedAt; bool m_executionStoppedAtHasBeenSet = false; Aws::String m_group; bool m_groupHasBeenSet = false; HealthStatus m_healthStatus; bool m_healthStatusHasBeenSet = false; Aws::Vector m_inferenceAccelerators; bool m_inferenceAcceleratorsHasBeenSet = false; Aws::String m_lastStatus; bool m_lastStatusHasBeenSet = false; LaunchType m_launchType; bool m_launchTypeHasBeenSet = false; Aws::String m_memory; bool m_memoryHasBeenSet = false; TaskOverride m_overrides; bool m_overridesHasBeenSet = false; Aws::String m_platformVersion; bool m_platformVersionHasBeenSet = false; Aws::String m_platformFamily; bool m_platformFamilyHasBeenSet = false; Aws::Utils::DateTime m_pullStartedAt; bool m_pullStartedAtHasBeenSet = false; Aws::Utils::DateTime m_pullStoppedAt; bool m_pullStoppedAtHasBeenSet = false; Aws::Utils::DateTime m_startedAt; bool m_startedAtHasBeenSet = false; Aws::String m_startedBy; bool m_startedByHasBeenSet = false; TaskStopCode m_stopCode; bool m_stopCodeHasBeenSet = false; Aws::Utils::DateTime m_stoppedAt; bool m_stoppedAtHasBeenSet = false; Aws::String m_stoppedReason; bool m_stoppedReasonHasBeenSet = false; Aws::Utils::DateTime m_stoppingAt; bool m_stoppingAtHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::String m_taskArn; bool m_taskArnHasBeenSet = false; Aws::String m_taskDefinitionArn; bool m_taskDefinitionArnHasBeenSet = false; long long m_version; bool m_versionHasBeenSet = false; EphemeralStorage m_ephemeralStorage; bool m_ephemeralStorageHasBeenSet = false; }; } // namespace Model } // namespace ECS } // namespace Aws