/** * 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 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 AWS_ECS_API Task { public: Task(); Task(Aws::Utils::Json::JsonView jsonValue); Task& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; /** *

The Elastic Network Adapter 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 associated with the task if the task uses the * awsvpc network mode.

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

The Elastic Network Adapter 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 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 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 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 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 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 of the task.

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

The availability zone of the task.

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

The availability zone of the task.

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

The availability zone of the task.

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

The availability zone of the task.

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

The availability zone of the task.

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

The availability zone of the task.

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

The availability zone of the task.

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

The capacity provider associated with the task.

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

The capacity provider associated with the task.

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

The capacity provider associated with the task.

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

The capacity provider associated with the task.

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

The capacity provider associated with the task.

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

The capacity provider associated with the task.

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

The capacity provider associated with the task.

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

The capacity provider 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 when the task last went into CONNECTED * status.

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

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

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

The Unix timestamp for 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 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 when the task last went into CONNECTED * status.

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

The Unix timestamp for 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 associated with the task.

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

The containers associated with the task.

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

The containers associated with the task.

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

The containers associated with the task.

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

The containers associated with the task.

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

The containers associated with the task.

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

The containers associated with the task.

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

The containers 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 indicating the CPU units when the task definition is registered.

*

If you are using 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 are using * the Fargate launch type, this field is required and you must use one of the * following values, which determines your range of supported values for the * memory parameter:

  • 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: Between 4096 (4 GB) and 16384 (16 GB) in * increments of 1024 (1 GB)

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

*/ 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 indicating the CPU units when the task definition is registered.

*

If you are using 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 are using * the Fargate launch type, this field is required and you must use one of the * following values, which determines your range of supported values for the * memory parameter:

  • 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: Between 4096 (4 GB) and 16384 (16 GB) in * increments of 1024 (1 GB)

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

*/ 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 indicating the CPU units when the task definition is registered.

*

If you are using 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 are using * the Fargate launch type, this field is required and you must use one of the * following values, which determines your range of supported values for the * memory parameter:

  • 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: Between 4096 (4 GB) and 16384 (16 GB) in * increments of 1024 (1 GB)

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

*/ 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 indicating the CPU units when the task definition is registered.

*

If you are using 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 are using * the Fargate launch type, this field is required and you must use one of the * following values, which determines your range of supported values for the * memory parameter:

  • 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: Between 4096 (4 GB) and 16384 (16 GB) in * increments of 1024 (1 GB)

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

*/ 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 indicating the CPU units when the task definition is registered.

*

If you are using 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 are using * the Fargate launch type, this field is required and you must use one of the * following values, which determines your range of supported values for the * memory parameter:

  • 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: Between 4096 (4 GB) and 16384 (16 GB) in * increments of 1024 (1 GB)

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

*/ 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 indicating the CPU units when the task definition is registered.

*

If you are using 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 are using * the Fargate launch type, this field is required and you must use one of the * following values, which determines your range of supported values for the * memory parameter:

  • 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: Between 4096 (4 GB) and 16384 (16 GB) in * increments of 1024 (1 GB)

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

*/ 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 indicating the CPU units when the task definition is registered.

*

If you are using 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 are using * the Fargate launch type, this field is required and you must use one of the * following values, which determines your range of supported values for the * memory parameter:

  • 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: Between 4096 (4 GB) and 16384 (16 GB) in * increments of 1024 (1 GB)

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

*/ 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 indicating the CPU units when the task definition is registered.

*

If you are using 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 are using * the Fargate launch type, this field is required and you must use one of the * following values, which determines your range of supported values for the * memory parameter:

  • 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: Between 4096 (4 GB) and 16384 (16 GB) in * increments of 1024 (1 GB)

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

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

The Unix timestamp for when the task was created (the task entered the * PENDING state).

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

The Unix timestamp for when the task was created (the task entered the * PENDING state).

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

The Unix timestamp for when the task was created (the task entered the * PENDING state).

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

The Unix timestamp for when the task was created (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 when the task was created (the task entered the * PENDING state).

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

The Unix timestamp for when the task was created (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;} /** *

The Unix timestamp for when the task execution stopped.

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

The Unix timestamp for when the task execution stopped.

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

The Unix timestamp for when the task execution stopped.

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

The Unix timestamp for when the task execution stopped.

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

The Unix timestamp for when the task execution stopped.

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

The Unix timestamp for when the task execution stopped.

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

The name of the task group associated with the task.

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

The name of the task group associated with the task.

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

The name of the task group associated with the task.

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

The name of the task group associated with the task.

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

The name of the task group associated with the task.

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

The name of the task group associated with the task.

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

The name of the task group associated with the task.

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

The name of the task group associated with the task.

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

The health status for the task, which is determined by the health of the * essential containers in the task. If all essential containers in the task are * reporting as HEALTHY, then the task status also reports as * HEALTHY. If any essential containers in the task are reporting as * UNHEALTHY or UNKNOWN, then the task status also * reports as UNHEALTHY or UNKNOWN, accordingly.

*

The Amazon ECS container agent does not monitor or report on Docker * health checks that are embedded in a container image (such as those specified in * a parent image or from the image's Dockerfile) and not specified in the * container definition. Health check parameters that are specified in a container * definition override any Docker health checks that exist in the container * image.

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

The health status for the task, which is determined by the health of the * essential containers in the task. If all essential containers in the task are * reporting as HEALTHY, then the task status also reports as * HEALTHY. If any essential containers in the task are reporting as * UNHEALTHY or UNKNOWN, then the task status also * reports as UNHEALTHY or UNKNOWN, accordingly.

*

The Amazon ECS container agent does not monitor or report on Docker * health checks that are embedded in a container image (such as those specified in * a parent image or from the image's Dockerfile) and not specified in the * container definition. Health check parameters that are specified in a container * definition override any Docker health checks that exist in the container * image.

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

The health status for the task, which is determined by the health of the * essential containers in the task. If all essential containers in the task are * reporting as HEALTHY, then the task status also reports as * HEALTHY. If any essential containers in the task are reporting as * UNHEALTHY or UNKNOWN, then the task status also * reports as UNHEALTHY or UNKNOWN, accordingly.

*

The Amazon ECS container agent does not monitor or report on Docker * health checks that are embedded in a container image (such as those specified in * a parent image or from the image's Dockerfile) and not specified in the * container definition. Health check parameters that are specified in a container * definition override any Docker health checks that exist in the container * image.

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

The health status for the task, which is determined by the health of the * essential containers in the task. If all essential containers in the task are * reporting as HEALTHY, then the task status also reports as * HEALTHY. If any essential containers in the task are reporting as * UNHEALTHY or UNKNOWN, then the task status also * reports as UNHEALTHY or UNKNOWN, accordingly.

*

The Amazon ECS container agent does not monitor or report on Docker * health checks that are embedded in a container image (such as those specified in * a parent image or from the image's Dockerfile) and not specified in the * container definition. Health check parameters that are specified in a container * definition override any Docker health checks that exist in the container * image.

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

The health status for the task, which is determined by the health of the * essential containers in the task. If all essential containers in the task are * reporting as HEALTHY, then the task status also reports as * HEALTHY. If any essential containers in the task are reporting as * UNHEALTHY or UNKNOWN, then the task status also * reports as UNHEALTHY or UNKNOWN, accordingly.

*

The Amazon ECS container agent does not monitor or report on Docker * health checks that are embedded in a container image (such as those specified in * a parent image or from the image's Dockerfile) and not specified in the * container definition. Health check parameters that are specified in a container * definition override any Docker health checks that exist in the container * image.

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

The health status for the task, which is determined by the health of the * essential containers in the task. If all essential containers in the task are * reporting as HEALTHY, then the task status also reports as * HEALTHY. If any essential containers in the task are reporting as * UNHEALTHY or UNKNOWN, then the task status also * reports as UNHEALTHY or UNKNOWN, accordingly.

*

The Amazon ECS container agent does not monitor or report on Docker * health checks that are embedded in a container image (such as those specified in * a parent image or from the image's Dockerfile) and not specified in the * container definition. Health check parameters that are specified in a container * definition override any Docker health checks that exist in the container * image.

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

The Elastic Inference accelerator associated with the task.

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

The Elastic Inference accelerator associated with the task.

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

The Elastic Inference accelerator associated with the task.

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

The Elastic Inference accelerator associated with the task.

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

The Elastic Inference accelerator associated with the task.

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

The Elastic Inference accelerator associated with the task.

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

The Elastic Inference accelerator associated with the task.

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

The Elastic Inference accelerator 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 of the task. For more information, see Task * Lifecycle.

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

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

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

The last known status of 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 of 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 of 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 of the task. For more information, see Task * Lifecycle.

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

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

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

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

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

The launch type on which your task is running. For more information, see Amazon * ECS Launch Types in the Amazon Elastic Container Service Developer * Guide.

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

The launch type on which your task is running. For more information, see Amazon * ECS Launch Types in the Amazon Elastic Container Service Developer * Guide.

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

The launch type on which your task is running. For more information, see Amazon * ECS Launch Types in the Amazon Elastic Container Service Developer * Guide.

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

The launch type on which your task is running. For more information, see Amazon * ECS Launch Types in the Amazon Elastic Container Service Developer * Guide.

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

The launch type on which your task is running. 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 launch type on which your task is running. 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) used by the task as expressed in a task * definition. It can be expressed as an integer using MiB, for example * 1024. It can also be expressed as a string using GB, for example * 1GB or 1 GB. String values are converted to an integer * indicating the MiB when the task definition is registered.

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

If you are using the * Fargate launch type, this field is required and you must use one of the * following values, which determines your 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)

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

The amount of memory (in MiB) used by the task as expressed in a task * definition. It can be expressed as an integer using MiB, for example * 1024. It can also be expressed as a string using GB, for example * 1GB or 1 GB. String values are converted to an integer * indicating the MiB when the task definition is registered.

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

If you are using the * Fargate launch type, this field is required and you must use one of the * following values, which determines your 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)

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

The amount of memory (in MiB) used by the task as expressed in a task * definition. It can be expressed as an integer using MiB, for example * 1024. It can also be expressed as a string using GB, for example * 1GB or 1 GB. String values are converted to an integer * indicating the MiB when the task definition is registered.

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

If you are using the * Fargate launch type, this field is required and you must use one of the * following values, which determines your 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)

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

The amount of memory (in MiB) used by the task as expressed in a task * definition. It can be expressed as an integer using MiB, for example * 1024. It can also be expressed as a string using GB, for example * 1GB or 1 GB. String values are converted to an integer * indicating the MiB when the task definition is registered.

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

If you are using the * Fargate launch type, this field is required and you must use one of the * following values, which determines your 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)

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

The amount of memory (in MiB) used by the task as expressed in a task * definition. It can be expressed as an integer using MiB, for example * 1024. It can also be expressed as a string using GB, for example * 1GB or 1 GB. String values are converted to an integer * indicating the MiB when the task definition is registered.

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

If you are using the * Fargate launch type, this field is required and you must use one of the * following values, which determines your 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)

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

The amount of memory (in MiB) used by the task as expressed in a task * definition. It can be expressed as an integer using MiB, for example * 1024. It can also be expressed as a string using GB, for example * 1GB or 1 GB. String values are converted to an integer * indicating the MiB when the task definition is registered.

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

If you are using the * Fargate launch type, this field is required and you must use one of the * following values, which determines your 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)

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

The amount of memory (in MiB) used by the task as expressed in a task * definition. It can be expressed as an integer using MiB, for example * 1024. It can also be expressed as a string using GB, for example * 1GB or 1 GB. String values are converted to an integer * indicating the MiB when the task definition is registered.

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

If you are using the * Fargate launch type, this field is required and you must use one of the * following values, which determines your 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)

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

The amount of memory (in MiB) used by the task as expressed in a task * definition. It can be expressed as an integer using MiB, for example * 1024. It can also be expressed as a string using GB, for example * 1GB or 1 GB. String values are converted to an integer * indicating the MiB when the task definition is registered.

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

If you are using the * Fargate launch type, this field is required and you must use one of the * following values, which determines your 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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The Unix timestamp for when the container image pull began.

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

The Unix timestamp for when the container image pull began.

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

The Unix timestamp for when the container image pull began.

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

The Unix timestamp for 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 when the container image pull began.

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

The Unix timestamp for when the container image pull began.

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

The Unix timestamp for when the container image pull completed.

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

The Unix timestamp for when the container image pull completed.

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

The Unix timestamp for when the container image pull completed.

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

The Unix timestamp for 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 when the container image pull completed.

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

The Unix timestamp for when the container image pull completed.

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

The Unix timestamp for when the task started (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 when the task started (the task transitioned from the * PENDING state to the RUNNING state).

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

The Unix timestamp for when the task started (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 when the task started (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 when the task started (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 when the task started (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 the task is started by an Amazon * ECS service, then the startedBy parameter contains the deployment * ID of the service that starts it.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The Unix timestamp for when the task was stopped (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 when the task was stopped (the task transitioned from * the RUNNING state to the STOPPED state).

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

The Unix timestamp for when the task was stopped (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 when the task was stopped (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 when the task was stopped (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 when the task was stopped (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 when the task stops (transitions from the * RUNNING state to STOPPED).

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

The Unix timestamp for when the task stops (transitions from the * RUNNING state to STOPPED).

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

The Unix timestamp for when the task stops (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 when the task stops (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 when the task stops (transitions from the * RUNNING state to STOPPED).

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

The Unix timestamp for when the task stops (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 * them. Each tag consists of a key and an optional value, both of which you * define.

The following basic restrictions apply to tags:

  • *

    Maximum number of tags per resource - 50

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

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

  • *

    Maximum value length - 256 Unicode characters in UTF-8

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

  • Tag keys and values * are case-sensitive.

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

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

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

The following basic restrictions apply to tags:

  • *

    Maximum number of tags per resource - 50

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

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

  • *

    Maximum value length - 256 Unicode characters in UTF-8

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

  • Tag keys and values * are case-sensitive.

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

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

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

The following basic restrictions apply to tags:

  • *

    Maximum number of tags per resource - 50

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

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

  • *

    Maximum value length - 256 Unicode characters in UTF-8

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

  • Tag keys and values * are case-sensitive.

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

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

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

The following basic restrictions apply to tags:

  • *

    Maximum number of tags per resource - 50

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

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

  • *

    Maximum value length - 256 Unicode characters in UTF-8

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

  • Tag keys and values * are case-sensitive.

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

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

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

The following basic restrictions apply to tags:

  • *

    Maximum number of tags per resource - 50

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

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

  • *

    Maximum value length - 256 Unicode characters in UTF-8

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

  • Tag keys and values * are case-sensitive.

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

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

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

The following basic restrictions apply to tags:

  • *

    Maximum number of tags per resource - 50

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

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

  • *

    Maximum value length - 256 Unicode characters in UTF-8

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

  • Tag keys and values * are case-sensitive.

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

*/ inline 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 * them. Each tag consists of a key and an optional value, both of which you * define.

The following basic restrictions apply to tags:

  • *

    Maximum number of tags per resource - 50

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

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

  • *

    Maximum value length - 256 Unicode characters in UTF-8

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

  • Tag keys and values * are case-sensitive.

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

*/ inline 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 * them. Each tag consists of a key and an optional value, both of which you * define.

The following basic restrictions apply to tags:

  • *

    Maximum number of tags per resource - 50

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

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

  • *

    Maximum value length - 256 Unicode characters in UTF-8

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

  • Tag keys and values * are case-sensitive.

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

*/ inline 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 * triggers a CloudWatch event, the version counter is incremented. If you are * replicating 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 * triggers a CloudWatch event, the version counter is incremented. If you are * replicating 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 * triggers a CloudWatch event, the version counter is incremented. If you are * replicating 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 * triggers a CloudWatch event, the version counter is incremented. If you are * replicating 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;} private: Aws::Vector m_attachments; bool m_attachmentsHasBeenSet; Aws::Vector m_attributes; bool m_attributesHasBeenSet; Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet; Aws::String m_capacityProviderName; bool m_capacityProviderNameHasBeenSet; Aws::String m_clusterArn; bool m_clusterArnHasBeenSet; Connectivity m_connectivity; bool m_connectivityHasBeenSet; Aws::Utils::DateTime m_connectivityAt; bool m_connectivityAtHasBeenSet; Aws::String m_containerInstanceArn; bool m_containerInstanceArnHasBeenSet; Aws::Vector m_containers; bool m_containersHasBeenSet; Aws::String m_cpu; bool m_cpuHasBeenSet; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet; Aws::String m_desiredStatus; bool m_desiredStatusHasBeenSet; Aws::Utils::DateTime m_executionStoppedAt; bool m_executionStoppedAtHasBeenSet; Aws::String m_group; bool m_groupHasBeenSet; HealthStatus m_healthStatus; bool m_healthStatusHasBeenSet; Aws::Vector m_inferenceAccelerators; bool m_inferenceAcceleratorsHasBeenSet; Aws::String m_lastStatus; bool m_lastStatusHasBeenSet; LaunchType m_launchType; bool m_launchTypeHasBeenSet; Aws::String m_memory; bool m_memoryHasBeenSet; TaskOverride m_overrides; bool m_overridesHasBeenSet; Aws::String m_platformVersion; bool m_platformVersionHasBeenSet; Aws::Utils::DateTime m_pullStartedAt; bool m_pullStartedAtHasBeenSet; Aws::Utils::DateTime m_pullStoppedAt; bool m_pullStoppedAtHasBeenSet; Aws::Utils::DateTime m_startedAt; bool m_startedAtHasBeenSet; Aws::String m_startedBy; bool m_startedByHasBeenSet; TaskStopCode m_stopCode; bool m_stopCodeHasBeenSet; Aws::Utils::DateTime m_stoppedAt; bool m_stoppedAtHasBeenSet; Aws::String m_stoppedReason; bool m_stoppedReasonHasBeenSet; Aws::Utils::DateTime m_stoppingAt; bool m_stoppingAtHasBeenSet; Aws::Vector m_tags; bool m_tagsHasBeenSet; Aws::String m_taskArn; bool m_taskArnHasBeenSet; Aws::String m_taskDefinitionArn; bool m_taskDefinitionArnHasBeenSet; long long m_version; bool m_versionHasBeenSet; }; } // namespace Model } // namespace ECS } // namespace Aws