/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Details about a task definition. A task definition describes the container
* and volume definitions of an Amazon Elastic Container Service
* task.See Also:
AWS
* API Reference
The container definitions that describe the containers that make up the * task.
*/ inline const Aws::VectorThe container definitions that describe the containers that make up the * task.
*/ inline bool ContainerDefinitionsHasBeenSet() const { return m_containerDefinitionsHasBeenSet; } /** *The container definitions that describe the containers that make up the * task.
*/ inline void SetContainerDefinitions(const Aws::VectorThe container definitions that describe the containers that make up the * task.
*/ inline void SetContainerDefinitions(Aws::VectorThe container definitions that describe the containers that make up the * task.
*/ inline AwsEcsTaskDefinitionDetails& WithContainerDefinitions(const Aws::VectorThe container definitions that describe the containers that make up the * task.
*/ inline AwsEcsTaskDefinitionDetails& WithContainerDefinitions(Aws::VectorThe container definitions that describe the containers that make up the * task.
*/ inline AwsEcsTaskDefinitionDetails& AddContainerDefinitions(const AwsEcsTaskDefinitionContainerDefinitionsDetails& value) { m_containerDefinitionsHasBeenSet = true; m_containerDefinitions.push_back(value); return *this; } /** *The container definitions that describe the containers that make up the * task.
*/ inline AwsEcsTaskDefinitionDetails& AddContainerDefinitions(AwsEcsTaskDefinitionContainerDefinitionsDetails&& value) { m_containerDefinitionsHasBeenSet = true; m_containerDefinitions.push_back(std::move(value)); return *this; } /** *The number of CPU units used by the task.Valid values are as follows:
* 256 (.25 vCPU)
512 (.5
* vCPU)
1024 (1 vCPU)
* 2048 (2 vCPU)
4096 (4 vCPU)
The number of CPU units used by the task.Valid values are as follows:
* 256 (.25 vCPU)
512 (.5
* vCPU)
1024 (1 vCPU)
* 2048 (2 vCPU)
4096 (4 vCPU)
The number of CPU units used by the task.Valid values are as follows:
* 256 (.25 vCPU)
512 (.5
* vCPU)
1024 (1 vCPU)
* 2048 (2 vCPU)
4096 (4 vCPU)
The number of CPU units used by the task.Valid values are as follows:
* 256 (.25 vCPU)
512 (.5
* vCPU)
1024 (1 vCPU)
* 2048 (2 vCPU)
4096 (4 vCPU)
The number of CPU units used by the task.Valid values are as follows:
* 256 (.25 vCPU)
512 (.5
* vCPU)
1024 (1 vCPU)
* 2048 (2 vCPU)
4096 (4 vCPU)
The number of CPU units used by the task.Valid values are as follows:
* 256 (.25 vCPU)
512 (.5
* vCPU)
1024 (1 vCPU)
* 2048 (2 vCPU)
4096 (4 vCPU)
The number of CPU units used by the task.Valid values are as follows:
* 256 (.25 vCPU)
512 (.5
* vCPU)
1024 (1 vCPU)
* 2048 (2 vCPU)
4096 (4 vCPU)
The number of CPU units used by the task.Valid values are as follows:
* 256 (.25 vCPU)
512 (.5
* vCPU)
1024 (1 vCPU)
* 2048 (2 vCPU)
4096 (4 vCPU)
The ARN of the task execution role that grants the container agent permission * to make API calls on behalf of the container user.
*/ inline const Aws::String& GetExecutionRoleArn() const{ return m_executionRoleArn; } /** *The ARN of the task execution role that grants the container agent permission * to make API calls on behalf of the container user.
*/ inline bool ExecutionRoleArnHasBeenSet() const { return m_executionRoleArnHasBeenSet; } /** *The ARN of the task execution role that grants the container agent permission * to make API calls on behalf of the container user.
*/ inline void SetExecutionRoleArn(const Aws::String& value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn = value; } /** *The ARN of the task execution role that grants the container agent permission * to make API calls on behalf of the container user.
*/ inline void SetExecutionRoleArn(Aws::String&& value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn = std::move(value); } /** *The ARN of the task execution role that grants the container agent permission * to make API calls on behalf of the container user.
*/ inline void SetExecutionRoleArn(const char* value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn.assign(value); } /** *The ARN of the task execution role that grants the container agent permission * to make API calls on behalf of the container user.
*/ inline AwsEcsTaskDefinitionDetails& WithExecutionRoleArn(const Aws::String& value) { SetExecutionRoleArn(value); return *this;} /** *The ARN of the task execution role that grants the container agent permission * to make API calls on behalf of the container user.
*/ inline AwsEcsTaskDefinitionDetails& WithExecutionRoleArn(Aws::String&& value) { SetExecutionRoleArn(std::move(value)); return *this;} /** *The ARN of the task execution role that grants the container agent permission * to make API calls on behalf of the container user.
*/ inline AwsEcsTaskDefinitionDetails& WithExecutionRoleArn(const char* value) { SetExecutionRoleArn(value); return *this;} /** *The name of a family that this task definition is registered to.
*/ inline const Aws::String& GetFamily() const{ return m_family; } /** *The name of a family that this task definition is registered to.
*/ inline bool FamilyHasBeenSet() const { return m_familyHasBeenSet; } /** *The name of a family that this task definition is registered to.
*/ inline void SetFamily(const Aws::String& value) { m_familyHasBeenSet = true; m_family = value; } /** *The name of a family that this task definition is registered to.
*/ inline void SetFamily(Aws::String&& value) { m_familyHasBeenSet = true; m_family = std::move(value); } /** *The name of a family that this task definition is registered to.
*/ inline void SetFamily(const char* value) { m_familyHasBeenSet = true; m_family.assign(value); } /** *The name of a family that this task definition is registered to.
*/ inline AwsEcsTaskDefinitionDetails& WithFamily(const Aws::String& value) { SetFamily(value); return *this;} /** *The name of a family that this task definition is registered to.
*/ inline AwsEcsTaskDefinitionDetails& WithFamily(Aws::String&& value) { SetFamily(std::move(value)); return *this;} /** *The name of a family that this task definition is registered to.
*/ inline AwsEcsTaskDefinitionDetails& WithFamily(const char* value) { SetFamily(value); return *this;} /** *The Elastic Inference accelerators to use for the containers in the task.
*/ inline const Aws::VectorThe Elastic Inference accelerators to use for the containers in the task.
*/ inline bool InferenceAcceleratorsHasBeenSet() const { return m_inferenceAcceleratorsHasBeenSet; } /** *The Elastic Inference accelerators to use for the containers in the task.
*/ inline void SetInferenceAccelerators(const Aws::VectorThe Elastic Inference accelerators to use for the containers in the task.
*/ inline void SetInferenceAccelerators(Aws::VectorThe Elastic Inference accelerators to use for the containers in the task.
*/ inline AwsEcsTaskDefinitionDetails& WithInferenceAccelerators(const Aws::VectorThe Elastic Inference accelerators to use for the containers in the task.
*/ inline AwsEcsTaskDefinitionDetails& WithInferenceAccelerators(Aws::VectorThe Elastic Inference accelerators to use for the containers in the task.
*/ inline AwsEcsTaskDefinitionDetails& AddInferenceAccelerators(const AwsEcsTaskDefinitionInferenceAcceleratorsDetails& value) { m_inferenceAcceleratorsHasBeenSet = true; m_inferenceAccelerators.push_back(value); return *this; } /** *The Elastic Inference accelerators to use for the containers in the task.
*/ inline AwsEcsTaskDefinitionDetails& AddInferenceAccelerators(AwsEcsTaskDefinitionInferenceAcceleratorsDetails&& value) { m_inferenceAcceleratorsHasBeenSet = true; m_inferenceAccelerators.push_back(std::move(value)); return *this; } /** *The inter-process communication (IPC) resource namespace to use for the * containers in the task. Valid values are as follows:
* host
none
* task
The inter-process communication (IPC) resource namespace to use for the * containers in the task. Valid values are as follows:
* host
none
* task
The inter-process communication (IPC) resource namespace to use for the * containers in the task. Valid values are as follows:
* host
none
* task
The inter-process communication (IPC) resource namespace to use for the * containers in the task. Valid values are as follows:
* host
none
* task
The inter-process communication (IPC) resource namespace to use for the * containers in the task. Valid values are as follows:
* host
none
* task
The inter-process communication (IPC) resource namespace to use for the * containers in the task. Valid values are as follows:
* host
none
* task
The inter-process communication (IPC) resource namespace to use for the * containers in the task. Valid values are as follows:
* host
none
* task
The inter-process communication (IPC) resource namespace to use for the * containers in the task. Valid values are as follows:
* host
none
* task
The amount (in MiB) of memory used by the task.
For tasks that are
* hosted on Amazon EC2, you can provide a task-level memory value or a
* container-level memory value. For tasks that are hosted on Fargate, you must use
* one of the specified
* values in the Amazon Elastic Container Service Developer Guide
* , which determines your range of supported values for the Cpu
* and Memory
parameters.
The amount (in MiB) of memory used by the task.
For tasks that are
* hosted on Amazon EC2, you can provide a task-level memory value or a
* container-level memory value. For tasks that are hosted on Fargate, you must use
* one of the specified
* values in the Amazon Elastic Container Service Developer Guide
* , which determines your range of supported values for the Cpu
* and Memory
parameters.
The amount (in MiB) of memory used by the task.
For tasks that are
* hosted on Amazon EC2, you can provide a task-level memory value or a
* container-level memory value. For tasks that are hosted on Fargate, you must use
* one of the specified
* values in the Amazon Elastic Container Service Developer Guide
* , which determines your range of supported values for the Cpu
* and Memory
parameters.
The amount (in MiB) of memory used by the task.
For tasks that are
* hosted on Amazon EC2, you can provide a task-level memory value or a
* container-level memory value. For tasks that are hosted on Fargate, you must use
* one of the specified
* values in the Amazon Elastic Container Service Developer Guide
* , which determines your range of supported values for the Cpu
* and Memory
parameters.
The amount (in MiB) of memory used by the task.
For tasks that are
* hosted on Amazon EC2, you can provide a task-level memory value or a
* container-level memory value. For tasks that are hosted on Fargate, you must use
* one of the specified
* values in the Amazon Elastic Container Service Developer Guide
* , which determines your range of supported values for the Cpu
* and Memory
parameters.
The amount (in MiB) of memory used by the task.
For tasks that are
* hosted on Amazon EC2, you can provide a task-level memory value or a
* container-level memory value. For tasks that are hosted on Fargate, you must use
* one of the specified
* values in the Amazon Elastic Container Service Developer Guide
* , which determines your range of supported values for the Cpu
* and Memory
parameters.
The amount (in MiB) of memory used by the task.
For tasks that are
* hosted on Amazon EC2, you can provide a task-level memory value or a
* container-level memory value. For tasks that are hosted on Fargate, you must use
* one of the specified
* values in the Amazon Elastic Container Service Developer Guide
* , which determines your range of supported values for the Cpu
* and Memory
parameters.
The amount (in MiB) of memory used by the task.
For tasks that are
* hosted on Amazon EC2, you can provide a task-level memory value or a
* container-level memory value. For tasks that are hosted on Fargate, you must use
* one of the specified
* values in the Amazon Elastic Container Service Developer Guide
* , which determines your range of supported values for the Cpu
* and Memory
parameters.
The Docker networking mode to use for the containers in the task. Valid * values are as follows:
awsvpc
* bridge
host
* none
The Docker networking mode to use for the containers in the task. Valid * values are as follows:
awsvpc
* bridge
host
* none
The Docker networking mode to use for the containers in the task. Valid * values are as follows:
awsvpc
* bridge
host
* none
The Docker networking mode to use for the containers in the task. Valid * values are as follows:
awsvpc
* bridge
host
* none
The Docker networking mode to use for the containers in the task. Valid * values are as follows:
awsvpc
* bridge
host
* none
The Docker networking mode to use for the containers in the task. Valid * values are as follows:
awsvpc
* bridge
host
* none
The Docker networking mode to use for the containers in the task. Valid * values are as follows:
awsvpc
* bridge
host
* none
The Docker networking mode to use for the containers in the task. Valid * values are as follows:
awsvpc
* bridge
host
* none
The process namespace to use for the containers in the task. Valid values are
* host
or task
.
The process namespace to use for the containers in the task. Valid values are
* host
or task
.
The process namespace to use for the containers in the task. Valid values are
* host
or task
.
The process namespace to use for the containers in the task. Valid values are
* host
or task
.
The process namespace to use for the containers in the task. Valid values are
* host
or task
.
The process namespace to use for the containers in the task. Valid values are
* host
or task
.
The process namespace to use for the containers in the task. Valid values are
* host
or task
.
The process namespace to use for the containers in the task. Valid values are
* host
or task
.
The placement constraint objects to use for tasks.
*/ inline const Aws::VectorThe placement constraint objects to use for tasks.
*/ inline bool PlacementConstraintsHasBeenSet() const { return m_placementConstraintsHasBeenSet; } /** *The placement constraint objects to use for tasks.
*/ inline void SetPlacementConstraints(const Aws::VectorThe placement constraint objects to use for tasks.
*/ inline void SetPlacementConstraints(Aws::VectorThe placement constraint objects to use for tasks.
*/ inline AwsEcsTaskDefinitionDetails& WithPlacementConstraints(const Aws::VectorThe placement constraint objects to use for tasks.
*/ inline AwsEcsTaskDefinitionDetails& WithPlacementConstraints(Aws::VectorThe placement constraint objects to use for tasks.
*/ inline AwsEcsTaskDefinitionDetails& AddPlacementConstraints(const AwsEcsTaskDefinitionPlacementConstraintsDetails& value) { m_placementConstraintsHasBeenSet = true; m_placementConstraints.push_back(value); return *this; } /** *The placement constraint objects to use for tasks.
*/ inline AwsEcsTaskDefinitionDetails& AddPlacementConstraints(AwsEcsTaskDefinitionPlacementConstraintsDetails&& value) { m_placementConstraintsHasBeenSet = true; m_placementConstraints.push_back(std::move(value)); return *this; } /** *The configuration details for the App Mesh proxy.
*/ inline const AwsEcsTaskDefinitionProxyConfigurationDetails& GetProxyConfiguration() const{ return m_proxyConfiguration; } /** *The configuration details for the App Mesh proxy.
*/ inline bool ProxyConfigurationHasBeenSet() const { return m_proxyConfigurationHasBeenSet; } /** *The configuration details for the App Mesh proxy.
*/ inline void SetProxyConfiguration(const AwsEcsTaskDefinitionProxyConfigurationDetails& value) { m_proxyConfigurationHasBeenSet = true; m_proxyConfiguration = value; } /** *The configuration details for the App Mesh proxy.
*/ inline void SetProxyConfiguration(AwsEcsTaskDefinitionProxyConfigurationDetails&& value) { m_proxyConfigurationHasBeenSet = true; m_proxyConfiguration = std::move(value); } /** *The configuration details for the App Mesh proxy.
*/ inline AwsEcsTaskDefinitionDetails& WithProxyConfiguration(const AwsEcsTaskDefinitionProxyConfigurationDetails& value) { SetProxyConfiguration(value); return *this;} /** *The configuration details for the App Mesh proxy.
*/ inline AwsEcsTaskDefinitionDetails& WithProxyConfiguration(AwsEcsTaskDefinitionProxyConfigurationDetails&& value) { SetProxyConfiguration(std::move(value)); return *this;} /** *The task launch types that the task definition was validated against.
*/ inline const Aws::VectorThe task launch types that the task definition was validated against.
*/ inline bool RequiresCompatibilitiesHasBeenSet() const { return m_requiresCompatibilitiesHasBeenSet; } /** *The task launch types that the task definition was validated against.
*/ inline void SetRequiresCompatibilities(const Aws::VectorThe task launch types that the task definition was validated against.
*/ inline void SetRequiresCompatibilities(Aws::VectorThe task launch types that the task definition was validated against.
*/ inline AwsEcsTaskDefinitionDetails& WithRequiresCompatibilities(const Aws::VectorThe task launch types that the task definition was validated against.
*/ inline AwsEcsTaskDefinitionDetails& WithRequiresCompatibilities(Aws::VectorThe task launch types that the task definition was validated against.
*/ inline AwsEcsTaskDefinitionDetails& AddRequiresCompatibilities(const Aws::String& value) { m_requiresCompatibilitiesHasBeenSet = true; m_requiresCompatibilities.push_back(value); return *this; } /** *The task launch types that the task definition was validated against.
*/ inline AwsEcsTaskDefinitionDetails& AddRequiresCompatibilities(Aws::String&& value) { m_requiresCompatibilitiesHasBeenSet = true; m_requiresCompatibilities.push_back(std::move(value)); return *this; } /** *The task launch types that the task definition was validated against.
*/ inline AwsEcsTaskDefinitionDetails& AddRequiresCompatibilities(const char* value) { m_requiresCompatibilitiesHasBeenSet = true; m_requiresCompatibilities.push_back(value); return *this; } /** *The short name or ARN of the IAM role that grants containers in the task * permission to call Amazon Web Services API operations on your behalf.
*/ inline const Aws::String& GetTaskRoleArn() const{ return m_taskRoleArn; } /** *The short name or ARN of the IAM role that grants containers in the task * permission to call Amazon Web Services API operations on your behalf.
*/ inline bool TaskRoleArnHasBeenSet() const { return m_taskRoleArnHasBeenSet; } /** *The short name or ARN of the IAM role that grants containers in the task * permission to call Amazon Web Services API operations on your behalf.
*/ inline void SetTaskRoleArn(const Aws::String& value) { m_taskRoleArnHasBeenSet = true; m_taskRoleArn = value; } /** *The short name or ARN of the IAM role that grants containers in the task * permission to call Amazon Web Services API operations on your behalf.
*/ inline void SetTaskRoleArn(Aws::String&& value) { m_taskRoleArnHasBeenSet = true; m_taskRoleArn = std::move(value); } /** *The short name or ARN of the IAM role that grants containers in the task * permission to call Amazon Web Services API operations on your behalf.
*/ inline void SetTaskRoleArn(const char* value) { m_taskRoleArnHasBeenSet = true; m_taskRoleArn.assign(value); } /** *The short name or ARN of the IAM role that grants containers in the task * permission to call Amazon Web Services API operations on your behalf.
*/ inline AwsEcsTaskDefinitionDetails& WithTaskRoleArn(const Aws::String& value) { SetTaskRoleArn(value); return *this;} /** *The short name or ARN of the IAM role that grants containers in the task * permission to call Amazon Web Services API operations on your behalf.
*/ inline AwsEcsTaskDefinitionDetails& WithTaskRoleArn(Aws::String&& value) { SetTaskRoleArn(std::move(value)); return *this;} /** *The short name or ARN of the IAM role that grants containers in the task * permission to call Amazon Web Services API operations on your behalf.
*/ inline AwsEcsTaskDefinitionDetails& WithTaskRoleArn(const char* value) { SetTaskRoleArn(value); return *this;} /** *The data volume definitions for the task.
*/ inline const Aws::VectorThe data volume definitions for the task.
*/ inline bool VolumesHasBeenSet() const { return m_volumesHasBeenSet; } /** *The data volume definitions for the task.
*/ inline void SetVolumes(const Aws::VectorThe data volume definitions for the task.
*/ inline void SetVolumes(Aws::VectorThe data volume definitions for the task.
*/ inline AwsEcsTaskDefinitionDetails& WithVolumes(const Aws::VectorThe data volume definitions for the task.
*/ inline AwsEcsTaskDefinitionDetails& WithVolumes(Aws::VectorThe data volume definitions for the task.
*/ inline AwsEcsTaskDefinitionDetails& AddVolumes(const AwsEcsTaskDefinitionVolumesDetails& value) { m_volumesHasBeenSet = true; m_volumes.push_back(value); return *this; } /** *The data volume definitions for the task.
*/ inline AwsEcsTaskDefinitionDetails& AddVolumes(AwsEcsTaskDefinitionVolumesDetails&& value) { m_volumesHasBeenSet = true; m_volumes.push_back(std::move(value)); return *this; } private: Aws::Vector