/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The details of a task definition which describes the container and volume
* definitions of an Amazon Elastic Container Service task. You can specify which
* Docker images to use, the required resources, and other configurations related
* to launching the task definition through an Amazon ECS service or
* task.See Also:
AWS
* API Reference
The full Amazon Resource Name (ARN) of the task definition.
*/ inline const Aws::String& GetTaskDefinitionArn() const{ return m_taskDefinitionArn; } /** *The full Amazon Resource Name (ARN) of the task definition.
*/ inline bool TaskDefinitionArnHasBeenSet() const { return m_taskDefinitionArnHasBeenSet; } /** *The full Amazon Resource Name (ARN) of the task definition.
*/ inline void SetTaskDefinitionArn(const Aws::String& value) { m_taskDefinitionArnHasBeenSet = true; m_taskDefinitionArn = value; } /** *The full Amazon Resource Name (ARN) of the task definition.
*/ inline void SetTaskDefinitionArn(Aws::String&& value) { m_taskDefinitionArnHasBeenSet = true; m_taskDefinitionArn = std::move(value); } /** *The full Amazon Resource Name (ARN) of the task definition.
*/ inline void SetTaskDefinitionArn(const char* value) { m_taskDefinitionArnHasBeenSet = true; m_taskDefinitionArn.assign(value); } /** *The full Amazon Resource Name (ARN) of the task definition.
*/ inline TaskDefinition& WithTaskDefinitionArn(const Aws::String& value) { SetTaskDefinitionArn(value); return *this;} /** *The full Amazon Resource Name (ARN) of the task definition.
*/ inline TaskDefinition& WithTaskDefinitionArn(Aws::String&& value) { SetTaskDefinitionArn(std::move(value)); return *this;} /** *The full Amazon Resource Name (ARN) of the task definition.
*/ inline TaskDefinition& WithTaskDefinitionArn(const char* value) { SetTaskDefinitionArn(value); return *this;} /** *A list of container definitions in JSON format that describe the different * containers that make up your task. For more information about container * definition parameters and defaults, see Amazon * ECS Task Definitions in the Amazon Elastic Container Service Developer * Guide.
*/ inline const Aws::VectorA list of container definitions in JSON format that describe the different * containers that make up your task. For more information about container * definition parameters and defaults, see Amazon * ECS Task Definitions in the Amazon Elastic Container Service Developer * Guide.
*/ inline bool ContainerDefinitionsHasBeenSet() const { return m_containerDefinitionsHasBeenSet; } /** *A list of container definitions in JSON format that describe the different * containers that make up your task. For more information about container * definition parameters and defaults, see Amazon * ECS Task Definitions in the Amazon Elastic Container Service Developer * Guide.
*/ inline void SetContainerDefinitions(const Aws::VectorA list of container definitions in JSON format that describe the different * containers that make up your task. For more information about container * definition parameters and defaults, see Amazon * ECS Task Definitions in the Amazon Elastic Container Service Developer * Guide.
*/ inline void SetContainerDefinitions(Aws::VectorA list of container definitions in JSON format that describe the different * containers that make up your task. For more information about container * definition parameters and defaults, see Amazon * ECS Task Definitions in the Amazon Elastic Container Service Developer * Guide.
*/ inline TaskDefinition& WithContainerDefinitions(const Aws::VectorA list of container definitions in JSON format that describe the different * containers that make up your task. For more information about container * definition parameters and defaults, see Amazon * ECS Task Definitions in the Amazon Elastic Container Service Developer * Guide.
*/ inline TaskDefinition& WithContainerDefinitions(Aws::VectorA list of container definitions in JSON format that describe the different * containers that make up your task. For more information about container * definition parameters and defaults, see Amazon * ECS Task Definitions in the Amazon Elastic Container Service Developer * Guide.
*/ inline TaskDefinition& AddContainerDefinitions(const ContainerDefinition& value) { m_containerDefinitionsHasBeenSet = true; m_containerDefinitions.push_back(value); return *this; } /** *A list of container definitions in JSON format that describe the different * containers that make up your task. For more information about container * definition parameters and defaults, see Amazon * ECS Task Definitions in the Amazon Elastic Container Service Developer * Guide.
*/ inline TaskDefinition& AddContainerDefinitions(ContainerDefinition&& value) { m_containerDefinitionsHasBeenSet = true; m_containerDefinitions.push_back(std::move(value)); return *this; } /** *The name of a family that this task definition is registered to. Up to 255 * characters are allowed. Letters (both uppercase and lowercase letters), numbers, * hyphens (-), and underscores (_) are allowed.
A family groups multiple * versions of a task definition. Amazon ECS gives the first task definition that * you registered to a family a revision number of 1. Amazon ECS gives sequential * revision numbers to each task definition that you add.
*/ inline const Aws::String& GetFamily() const{ return m_family; } /** *The name of a family that this task definition is registered to. Up to 255 * characters are allowed. Letters (both uppercase and lowercase letters), numbers, * hyphens (-), and underscores (_) are allowed.
A family groups multiple * versions of a task definition. Amazon ECS gives the first task definition that * you registered to a family a revision number of 1. Amazon ECS gives sequential * revision numbers to each task definition that you add.
*/ inline bool FamilyHasBeenSet() const { return m_familyHasBeenSet; } /** *The name of a family that this task definition is registered to. Up to 255 * characters are allowed. Letters (both uppercase and lowercase letters), numbers, * hyphens (-), and underscores (_) are allowed.
A family groups multiple * versions of a task definition. Amazon ECS gives the first task definition that * you registered to a family a revision number of 1. Amazon ECS gives sequential * revision numbers to each task definition that you add.
*/ 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. Up to 255 * characters are allowed. Letters (both uppercase and lowercase letters), numbers, * hyphens (-), and underscores (_) are allowed.
A family groups multiple * versions of a task definition. Amazon ECS gives the first task definition that * you registered to a family a revision number of 1. Amazon ECS gives sequential * revision numbers to each task definition that you add.
*/ 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. Up to 255 * characters are allowed. Letters (both uppercase and lowercase letters), numbers, * hyphens (-), and underscores (_) are allowed.
A family groups multiple * versions of a task definition. Amazon ECS gives the first task definition that * you registered to a family a revision number of 1. Amazon ECS gives sequential * revision numbers to each task definition that you add.
*/ 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. Up to 255 * characters are allowed. Letters (both uppercase and lowercase letters), numbers, * hyphens (-), and underscores (_) are allowed.
A family groups multiple * versions of a task definition. Amazon ECS gives the first task definition that * you registered to a family a revision number of 1. Amazon ECS gives sequential * revision numbers to each task definition that you add.
*/ inline TaskDefinition& WithFamily(const Aws::String& value) { SetFamily(value); return *this;} /** *The name of a family that this task definition is registered to. Up to 255 * characters are allowed. Letters (both uppercase and lowercase letters), numbers, * hyphens (-), and underscores (_) are allowed.
A family groups multiple * versions of a task definition. Amazon ECS gives the first task definition that * you registered to a family a revision number of 1. Amazon ECS gives sequential * revision numbers to each task definition that you add.
*/ inline TaskDefinition& WithFamily(Aws::String&& value) { SetFamily(std::move(value)); return *this;} /** *The name of a family that this task definition is registered to. Up to 255 * characters are allowed. Letters (both uppercase and lowercase letters), numbers, * hyphens (-), and underscores (_) are allowed.
A family groups multiple * versions of a task definition. Amazon ECS gives the first task definition that * you registered to a family a revision number of 1. Amazon ECS gives sequential * revision numbers to each task definition that you add.
*/ inline TaskDefinition& WithFamily(const char* value) { SetFamily(value); return *this;} /** *The short name or full Amazon Resource Name (ARN) of the Identity and Access * Management role that grants containers in the task permission to call Amazon Web * Services APIs on your behalf. For more information, see Amazon * ECS Task Role in the Amazon Elastic Container Service Developer * Guide.
IAM roles for tasks on Windows require that the
* -EnableTaskIAMRole
option is set when you launch the Amazon
* ECS-optimized Windows AMI. Your containers must also run some configuration code
* to use the feature. For more information, see Windows
* IAM roles for tasks in the Amazon Elastic Container Service Developer
* Guide.
The short name or full Amazon Resource Name (ARN) of the Identity and Access * Management role that grants containers in the task permission to call Amazon Web * Services APIs on your behalf. For more information, see Amazon * ECS Task Role in the Amazon Elastic Container Service Developer * Guide.
IAM roles for tasks on Windows require that the
* -EnableTaskIAMRole
option is set when you launch the Amazon
* ECS-optimized Windows AMI. Your containers must also run some configuration code
* to use the feature. For more information, see Windows
* IAM roles for tasks in the Amazon Elastic Container Service Developer
* Guide.
The short name or full Amazon Resource Name (ARN) of the Identity and Access * Management role that grants containers in the task permission to call Amazon Web * Services APIs on your behalf. For more information, see Amazon * ECS Task Role in the Amazon Elastic Container Service Developer * Guide.
IAM roles for tasks on Windows require that the
* -EnableTaskIAMRole
option is set when you launch the Amazon
* ECS-optimized Windows AMI. Your containers must also run some configuration code
* to use the feature. For more information, see Windows
* IAM roles for tasks in the Amazon Elastic Container Service Developer
* Guide.
The short name or full Amazon Resource Name (ARN) of the Identity and Access * Management role that grants containers in the task permission to call Amazon Web * Services APIs on your behalf. For more information, see Amazon * ECS Task Role in the Amazon Elastic Container Service Developer * Guide.
IAM roles for tasks on Windows require that the
* -EnableTaskIAMRole
option is set when you launch the Amazon
* ECS-optimized Windows AMI. Your containers must also run some configuration code
* to use the feature. For more information, see Windows
* IAM roles for tasks in the Amazon Elastic Container Service Developer
* Guide.
The short name or full Amazon Resource Name (ARN) of the Identity and Access * Management role that grants containers in the task permission to call Amazon Web * Services APIs on your behalf. For more information, see Amazon * ECS Task Role in the Amazon Elastic Container Service Developer * Guide.
IAM roles for tasks on Windows require that the
* -EnableTaskIAMRole
option is set when you launch the Amazon
* ECS-optimized Windows AMI. Your containers must also run some configuration code
* to use the feature. For more information, see Windows
* IAM roles for tasks in the Amazon Elastic Container Service Developer
* Guide.
The short name or full Amazon Resource Name (ARN) of the Identity and Access * Management role that grants containers in the task permission to call Amazon Web * Services APIs on your behalf. For more information, see Amazon * ECS Task Role in the Amazon Elastic Container Service Developer * Guide.
IAM roles for tasks on Windows require that the
* -EnableTaskIAMRole
option is set when you launch the Amazon
* ECS-optimized Windows AMI. Your containers must also run some configuration code
* to use the feature. For more information, see Windows
* IAM roles for tasks in the Amazon Elastic Container Service Developer
* Guide.
The short name or full Amazon Resource Name (ARN) of the Identity and Access * Management role that grants containers in the task permission to call Amazon Web * Services APIs on your behalf. For more information, see Amazon * ECS Task Role in the Amazon Elastic Container Service Developer * Guide.
IAM roles for tasks on Windows require that the
* -EnableTaskIAMRole
option is set when you launch the Amazon
* ECS-optimized Windows AMI. Your containers must also run some configuration code
* to use the feature. For more information, see Windows
* IAM roles for tasks in the Amazon Elastic Container Service Developer
* Guide.
The short name or full Amazon Resource Name (ARN) of the Identity and Access * Management role that grants containers in the task permission to call Amazon Web * Services APIs on your behalf. For more information, see Amazon * ECS Task Role in the Amazon Elastic Container Service Developer * Guide.
IAM roles for tasks on Windows require that the
* -EnableTaskIAMRole
option is set when you launch the Amazon
* ECS-optimized Windows AMI. Your containers must also run some configuration code
* to use the feature. For more information, see Windows
* IAM roles for tasks in the Amazon Elastic Container Service Developer
* Guide.
The Amazon Resource Name (ARN) of the task execution role that grants the * Amazon ECS container agent permission to make Amazon Web Services API calls on * your behalf. The task execution IAM role is required depending on the * requirements of your task. For more information, see Amazon * ECS task execution IAM role in the Amazon Elastic Container Service * Developer Guide.
*/ inline const Aws::String& GetExecutionRoleArn() const{ return m_executionRoleArn; } /** *The Amazon Resource Name (ARN) of the task execution role that grants the * Amazon ECS container agent permission to make Amazon Web Services API calls on * your behalf. The task execution IAM role is required depending on the * requirements of your task. For more information, see Amazon * ECS task execution IAM role in the Amazon Elastic Container Service * Developer Guide.
*/ inline bool ExecutionRoleArnHasBeenSet() const { return m_executionRoleArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the task execution role that grants the * Amazon ECS container agent permission to make Amazon Web Services API calls on * your behalf. The task execution IAM role is required depending on the * requirements of your task. For more information, see Amazon * ECS task execution IAM role in the Amazon Elastic Container Service * Developer Guide.
*/ inline void SetExecutionRoleArn(const Aws::String& value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn = value; } /** *The Amazon Resource Name (ARN) of the task execution role that grants the * Amazon ECS container agent permission to make Amazon Web Services API calls on * your behalf. The task execution IAM role is required depending on the * requirements of your task. For more information, see Amazon * ECS task execution IAM role in the Amazon Elastic Container Service * Developer Guide.
*/ inline void SetExecutionRoleArn(Aws::String&& value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the task execution role that grants the * Amazon ECS container agent permission to make Amazon Web Services API calls on * your behalf. The task execution IAM role is required depending on the * requirements of your task. For more information, see Amazon * ECS task execution IAM role in the Amazon Elastic Container Service * Developer Guide.
*/ inline void SetExecutionRoleArn(const char* value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn.assign(value); } /** *The Amazon Resource Name (ARN) of the task execution role that grants the * Amazon ECS container agent permission to make Amazon Web Services API calls on * your behalf. The task execution IAM role is required depending on the * requirements of your task. For more information, see Amazon * ECS task execution IAM role in the Amazon Elastic Container Service * Developer Guide.
*/ inline TaskDefinition& WithExecutionRoleArn(const Aws::String& value) { SetExecutionRoleArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the task execution role that grants the * Amazon ECS container agent permission to make Amazon Web Services API calls on * your behalf. The task execution IAM role is required depending on the * requirements of your task. For more information, see Amazon * ECS task execution IAM role in the Amazon Elastic Container Service * Developer Guide.
*/ inline TaskDefinition& WithExecutionRoleArn(Aws::String&& value) { SetExecutionRoleArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the task execution role that grants the * Amazon ECS container agent permission to make Amazon Web Services API calls on * your behalf. The task execution IAM role is required depending on the * requirements of your task. For more information, see Amazon * ECS task execution IAM role in the Amazon Elastic Container Service * Developer Guide.
*/ inline TaskDefinition& WithExecutionRoleArn(const char* value) { SetExecutionRoleArn(value); return *this;} /** *The Docker networking mode to use for the containers in the task. The valid
* values are none
, bridge
, awsvpc
, and
* host
. If no network mode is specified, the default is
* bridge
.
For Amazon ECS tasks on Fargate, the
* awsvpc
network mode is required. For Amazon ECS tasks on Amazon EC2
* Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon
* EC2 Windows instances, <default>
or awsvpc
can
* be used. If the network mode is set to none
, you cannot specify
* port mappings in your container definitions, and the tasks containers do not
* have external connectivity. The host
and awsvpc
* network modes offer the highest networking performance for containers because
* they use the EC2 network stack instead of the virtualized network stack provided
* by the bridge
mode.
With the host
and
* awsvpc
network modes, exposed container ports are mapped directly
* to the corresponding host port (for the host
network mode) or the
* attached elastic network interface port (for the awsvpc
network
* mode), so you cannot take advantage of dynamic host port mappings.
When using the host
network mode, you should not run
* containers using the root user (UID 0). It is considered best practice to use a
* non-root user.
If the network mode is awsvpc
,
* the task is allocated an elastic network interface, and you must specify a
* NetworkConfiguration value when you create a service or run a task with
* the task definition. For more information, see Task
* Networking in the Amazon Elastic Container Service Developer
* Guide.
If the network mode is host
, you cannot run
* multiple instantiations of the same task on a single container instance when
* port mappings are used.
For more information, see Network * settings in the Docker run reference.
*/ inline const NetworkMode& GetNetworkMode() const{ return m_networkMode; } /** *The Docker networking mode to use for the containers in the task. The valid
* values are none
, bridge
, awsvpc
, and
* host
. If no network mode is specified, the default is
* bridge
.
For Amazon ECS tasks on Fargate, the
* awsvpc
network mode is required. For Amazon ECS tasks on Amazon EC2
* Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon
* EC2 Windows instances, <default>
or awsvpc
can
* be used. If the network mode is set to none
, you cannot specify
* port mappings in your container definitions, and the tasks containers do not
* have external connectivity. The host
and awsvpc
* network modes offer the highest networking performance for containers because
* they use the EC2 network stack instead of the virtualized network stack provided
* by the bridge
mode.
With the host
and
* awsvpc
network modes, exposed container ports are mapped directly
* to the corresponding host port (for the host
network mode) or the
* attached elastic network interface port (for the awsvpc
network
* mode), so you cannot take advantage of dynamic host port mappings.
When using the host
network mode, you should not run
* containers using the root user (UID 0). It is considered best practice to use a
* non-root user.
If the network mode is awsvpc
,
* the task is allocated an elastic network interface, and you must specify a
* NetworkConfiguration value when you create a service or run a task with
* the task definition. For more information, see Task
* Networking in the Amazon Elastic Container Service Developer
* Guide.
If the network mode is host
, you cannot run
* multiple instantiations of the same task on a single container instance when
* port mappings are used.
For more information, see Network * settings in the Docker run reference.
*/ inline bool NetworkModeHasBeenSet() const { return m_networkModeHasBeenSet; } /** *The Docker networking mode to use for the containers in the task. The valid
* values are none
, bridge
, awsvpc
, and
* host
. If no network mode is specified, the default is
* bridge
.
For Amazon ECS tasks on Fargate, the
* awsvpc
network mode is required. For Amazon ECS tasks on Amazon EC2
* Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon
* EC2 Windows instances, <default>
or awsvpc
can
* be used. If the network mode is set to none
, you cannot specify
* port mappings in your container definitions, and the tasks containers do not
* have external connectivity. The host
and awsvpc
* network modes offer the highest networking performance for containers because
* they use the EC2 network stack instead of the virtualized network stack provided
* by the bridge
mode.
With the host
and
* awsvpc
network modes, exposed container ports are mapped directly
* to the corresponding host port (for the host
network mode) or the
* attached elastic network interface port (for the awsvpc
network
* mode), so you cannot take advantage of dynamic host port mappings.
When using the host
network mode, you should not run
* containers using the root user (UID 0). It is considered best practice to use a
* non-root user.
If the network mode is awsvpc
,
* the task is allocated an elastic network interface, and you must specify a
* NetworkConfiguration value when you create a service or run a task with
* the task definition. For more information, see Task
* Networking in the Amazon Elastic Container Service Developer
* Guide.
If the network mode is host
, you cannot run
* multiple instantiations of the same task on a single container instance when
* port mappings are used.
For more information, see Network * settings in the Docker run reference.
*/ inline void SetNetworkMode(const NetworkMode& value) { m_networkModeHasBeenSet = true; m_networkMode = value; } /** *The Docker networking mode to use for the containers in the task. The valid
* values are none
, bridge
, awsvpc
, and
* host
. If no network mode is specified, the default is
* bridge
.
For Amazon ECS tasks on Fargate, the
* awsvpc
network mode is required. For Amazon ECS tasks on Amazon EC2
* Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon
* EC2 Windows instances, <default>
or awsvpc
can
* be used. If the network mode is set to none
, you cannot specify
* port mappings in your container definitions, and the tasks containers do not
* have external connectivity. The host
and awsvpc
* network modes offer the highest networking performance for containers because
* they use the EC2 network stack instead of the virtualized network stack provided
* by the bridge
mode.
With the host
and
* awsvpc
network modes, exposed container ports are mapped directly
* to the corresponding host port (for the host
network mode) or the
* attached elastic network interface port (for the awsvpc
network
* mode), so you cannot take advantage of dynamic host port mappings.
When using the host
network mode, you should not run
* containers using the root user (UID 0). It is considered best practice to use a
* non-root user.
If the network mode is awsvpc
,
* the task is allocated an elastic network interface, and you must specify a
* NetworkConfiguration value when you create a service or run a task with
* the task definition. For more information, see Task
* Networking in the Amazon Elastic Container Service Developer
* Guide.
If the network mode is host
, you cannot run
* multiple instantiations of the same task on a single container instance when
* port mappings are used.
For more information, see Network * settings in the Docker run reference.
*/ inline void SetNetworkMode(NetworkMode&& value) { m_networkModeHasBeenSet = true; m_networkMode = std::move(value); } /** *The Docker networking mode to use for the containers in the task. The valid
* values are none
, bridge
, awsvpc
, and
* host
. If no network mode is specified, the default is
* bridge
.
For Amazon ECS tasks on Fargate, the
* awsvpc
network mode is required. For Amazon ECS tasks on Amazon EC2
* Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon
* EC2 Windows instances, <default>
or awsvpc
can
* be used. If the network mode is set to none
, you cannot specify
* port mappings in your container definitions, and the tasks containers do not
* have external connectivity. The host
and awsvpc
* network modes offer the highest networking performance for containers because
* they use the EC2 network stack instead of the virtualized network stack provided
* by the bridge
mode.
With the host
and
* awsvpc
network modes, exposed container ports are mapped directly
* to the corresponding host port (for the host
network mode) or the
* attached elastic network interface port (for the awsvpc
network
* mode), so you cannot take advantage of dynamic host port mappings.
When using the host
network mode, you should not run
* containers using the root user (UID 0). It is considered best practice to use a
* non-root user.
If the network mode is awsvpc
,
* the task is allocated an elastic network interface, and you must specify a
* NetworkConfiguration value when you create a service or run a task with
* the task definition. For more information, see Task
* Networking in the Amazon Elastic Container Service Developer
* Guide.
If the network mode is host
, you cannot run
* multiple instantiations of the same task on a single container instance when
* port mappings are used.
For more information, see Network * settings in the Docker run reference.
*/ inline TaskDefinition& WithNetworkMode(const NetworkMode& value) { SetNetworkMode(value); return *this;} /** *The Docker networking mode to use for the containers in the task. The valid
* values are none
, bridge
, awsvpc
, and
* host
. If no network mode is specified, the default is
* bridge
.
For Amazon ECS tasks on Fargate, the
* awsvpc
network mode is required. For Amazon ECS tasks on Amazon EC2
* Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon
* EC2 Windows instances, <default>
or awsvpc
can
* be used. If the network mode is set to none
, you cannot specify
* port mappings in your container definitions, and the tasks containers do not
* have external connectivity. The host
and awsvpc
* network modes offer the highest networking performance for containers because
* they use the EC2 network stack instead of the virtualized network stack provided
* by the bridge
mode.
With the host
and
* awsvpc
network modes, exposed container ports are mapped directly
* to the corresponding host port (for the host
network mode) or the
* attached elastic network interface port (for the awsvpc
network
* mode), so you cannot take advantage of dynamic host port mappings.
When using the host
network mode, you should not run
* containers using the root user (UID 0). It is considered best practice to use a
* non-root user.
If the network mode is awsvpc
,
* the task is allocated an elastic network interface, and you must specify a
* NetworkConfiguration value when you create a service or run a task with
* the task definition. For more information, see Task
* Networking in the Amazon Elastic Container Service Developer
* Guide.
If the network mode is host
, you cannot run
* multiple instantiations of the same task on a single container instance when
* port mappings are used.
For more information, see Network * settings in the Docker run reference.
*/ inline TaskDefinition& WithNetworkMode(NetworkMode&& value) { SetNetworkMode(std::move(value)); return *this;} /** *The revision of the task in a particular family. The revision is a version
* number of a task definition in a family. When you register a task definition for
* the first time, the revision is 1
. Each time that you register a
* new revision of a task definition in the same family, the revision value always
* increases by one. This is even if you deregistered previous revisions in this
* family.
The revision of the task in a particular family. The revision is a version
* number of a task definition in a family. When you register a task definition for
* the first time, the revision is 1
. Each time that you register a
* new revision of a task definition in the same family, the revision value always
* increases by one. This is even if you deregistered previous revisions in this
* family.
The revision of the task in a particular family. The revision is a version
* number of a task definition in a family. When you register a task definition for
* the first time, the revision is 1
. Each time that you register a
* new revision of a task definition in the same family, the revision value always
* increases by one. This is even if you deregistered previous revisions in this
* family.
The revision of the task in a particular family. The revision is a version
* number of a task definition in a family. When you register a task definition for
* the first time, the revision is 1
. Each time that you register a
* new revision of a task definition in the same family, the revision value always
* increases by one. This is even if you deregistered previous revisions in this
* family.
The list of data volume definitions for the task. For more information, see * Using * data volumes in tasks in the Amazon Elastic Container Service Developer * Guide.
The host
and sourcePath
* parameters aren't supported for tasks run on Fargate.
The list of data volume definitions for the task. For more information, see * Using * data volumes in tasks in the Amazon Elastic Container Service Developer * Guide.
The host
and sourcePath
* parameters aren't supported for tasks run on Fargate.
The list of data volume definitions for the task. For more information, see * Using * data volumes in tasks in the Amazon Elastic Container Service Developer * Guide.
The host
and sourcePath
* parameters aren't supported for tasks run on Fargate.
The list of data volume definitions for the task. For more information, see * Using * data volumes in tasks in the Amazon Elastic Container Service Developer * Guide.
The host
and sourcePath
* parameters aren't supported for tasks run on Fargate.
The list of data volume definitions for the task. For more information, see * Using * data volumes in tasks in the Amazon Elastic Container Service Developer * Guide.
The host
and sourcePath
* parameters aren't supported for tasks run on Fargate.
The list of data volume definitions for the task. For more information, see * Using * data volumes in tasks in the Amazon Elastic Container Service Developer * Guide.
The host
and sourcePath
* parameters aren't supported for tasks run on Fargate.
The list of data volume definitions for the task. For more information, see * Using * data volumes in tasks in the Amazon Elastic Container Service Developer * Guide.
The host
and sourcePath
* parameters aren't supported for tasks run on Fargate.
The list of data volume definitions for the task. For more information, see * Using * data volumes in tasks in the Amazon Elastic Container Service Developer * Guide.
The host
and sourcePath
* parameters aren't supported for tasks run on Fargate.
The status of the task definition.
*/ inline const TaskDefinitionStatus& GetStatus() const{ return m_status; } /** *The status of the task definition.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The status of the task definition.
*/ inline void SetStatus(const TaskDefinitionStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *The status of the task definition.
*/ inline void SetStatus(TaskDefinitionStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The status of the task definition.
*/ inline TaskDefinition& WithStatus(const TaskDefinitionStatus& value) { SetStatus(value); return *this;} /** *The status of the task definition.
*/ inline TaskDefinition& WithStatus(TaskDefinitionStatus&& value) { SetStatus(std::move(value)); return *this;} /** *The container instance attributes required by your task. When an Amazon EC2 * instance is registered to your cluster, the Amazon ECS container agent assigns * some standard attributes to the instance. You can apply custom attributes. These * are specified as key-value pairs using the Amazon ECS console or the * PutAttributes API. These attributes are used when determining task * placement for tasks hosted on Amazon EC2 instances. For more information, see Attributes * in the Amazon Elastic Container Service Developer Guide.
*This parameter isn't supported for tasks run on Fargate.
*/ inline const Aws::VectorThe container instance attributes required by your task. When an Amazon EC2 * instance is registered to your cluster, the Amazon ECS container agent assigns * some standard attributes to the instance. You can apply custom attributes. These * are specified as key-value pairs using the Amazon ECS console or the * PutAttributes API. These attributes are used when determining task * placement for tasks hosted on Amazon EC2 instances. For more information, see Attributes * in the Amazon Elastic Container Service Developer Guide.
*This parameter isn't supported for tasks run on Fargate.
*/ inline bool RequiresAttributesHasBeenSet() const { return m_requiresAttributesHasBeenSet; } /** *The container instance attributes required by your task. When an Amazon EC2 * instance is registered to your cluster, the Amazon ECS container agent assigns * some standard attributes to the instance. You can apply custom attributes. These * are specified as key-value pairs using the Amazon ECS console or the * PutAttributes API. These attributes are used when determining task * placement for tasks hosted on Amazon EC2 instances. For more information, see Attributes * in the Amazon Elastic Container Service Developer Guide.
*This parameter isn't supported for tasks run on Fargate.
*/ inline void SetRequiresAttributes(const Aws::VectorThe container instance attributes required by your task. When an Amazon EC2 * instance is registered to your cluster, the Amazon ECS container agent assigns * some standard attributes to the instance. You can apply custom attributes. These * are specified as key-value pairs using the Amazon ECS console or the * PutAttributes API. These attributes are used when determining task * placement for tasks hosted on Amazon EC2 instances. For more information, see Attributes * in the Amazon Elastic Container Service Developer Guide.
*This parameter isn't supported for tasks run on Fargate.
*/ inline void SetRequiresAttributes(Aws::VectorThe container instance attributes required by your task. When an Amazon EC2 * instance is registered to your cluster, the Amazon ECS container agent assigns * some standard attributes to the instance. You can apply custom attributes. These * are specified as key-value pairs using the Amazon ECS console or the * PutAttributes API. These attributes are used when determining task * placement for tasks hosted on Amazon EC2 instances. For more information, see Attributes * in the Amazon Elastic Container Service Developer Guide.
*This parameter isn't supported for tasks run on Fargate.
*/ inline TaskDefinition& WithRequiresAttributes(const Aws::VectorThe container instance attributes required by your task. When an Amazon EC2 * instance is registered to your cluster, the Amazon ECS container agent assigns * some standard attributes to the instance. You can apply custom attributes. These * are specified as key-value pairs using the Amazon ECS console or the * PutAttributes API. These attributes are used when determining task * placement for tasks hosted on Amazon EC2 instances. For more information, see Attributes * in the Amazon Elastic Container Service Developer Guide.
*This parameter isn't supported for tasks run on Fargate.
*/ inline TaskDefinition& WithRequiresAttributes(Aws::VectorThe container instance attributes required by your task. When an Amazon EC2 * instance is registered to your cluster, the Amazon ECS container agent assigns * some standard attributes to the instance. You can apply custom attributes. These * are specified as key-value pairs using the Amazon ECS console or the * PutAttributes API. These attributes are used when determining task * placement for tasks hosted on Amazon EC2 instances. For more information, see Attributes * in the Amazon Elastic Container Service Developer Guide.
*This parameter isn't supported for tasks run on Fargate.
*/ inline TaskDefinition& AddRequiresAttributes(const Attribute& value) { m_requiresAttributesHasBeenSet = true; m_requiresAttributes.push_back(value); return *this; } /** *The container instance attributes required by your task. When an Amazon EC2 * instance is registered to your cluster, the Amazon ECS container agent assigns * some standard attributes to the instance. You can apply custom attributes. These * are specified as key-value pairs using the Amazon ECS console or the * PutAttributes API. These attributes are used when determining task * placement for tasks hosted on Amazon EC2 instances. For more information, see Attributes * in the Amazon Elastic Container Service Developer Guide.
*This parameter isn't supported for tasks run on Fargate.
*/ inline TaskDefinition& AddRequiresAttributes(Attribute&& value) { m_requiresAttributesHasBeenSet = true; m_requiresAttributes.push_back(std::move(value)); return *this; } /** *An array of placement constraint objects to use for tasks.
This * parameter isn't supported for tasks run on Fargate.
*/ inline const Aws::VectorAn array of placement constraint objects to use for tasks.
This * parameter isn't supported for tasks run on Fargate.
*/ inline bool PlacementConstraintsHasBeenSet() const { return m_placementConstraintsHasBeenSet; } /** *An array of placement constraint objects to use for tasks.
This * parameter isn't supported for tasks run on Fargate.
*/ inline void SetPlacementConstraints(const Aws::VectorAn array of placement constraint objects to use for tasks.
This * parameter isn't supported for tasks run on Fargate.
*/ inline void SetPlacementConstraints(Aws::VectorAn array of placement constraint objects to use for tasks.
This * parameter isn't supported for tasks run on Fargate.
*/ inline TaskDefinition& WithPlacementConstraints(const Aws::VectorAn array of placement constraint objects to use for tasks.
This * parameter isn't supported for tasks run on Fargate.
*/ inline TaskDefinition& WithPlacementConstraints(Aws::VectorAn array of placement constraint objects to use for tasks.
This * parameter isn't supported for tasks run on Fargate.
*/ inline TaskDefinition& AddPlacementConstraints(const TaskDefinitionPlacementConstraint& value) { m_placementConstraintsHasBeenSet = true; m_placementConstraints.push_back(value); return *this; } /** *An array of placement constraint objects to use for tasks.
This * parameter isn't supported for tasks run on Fargate.
*/ inline TaskDefinition& AddPlacementConstraints(TaskDefinitionPlacementConstraint&& value) { m_placementConstraintsHasBeenSet = true; m_placementConstraints.push_back(std::move(value)); return *this; } /** *The task launch types the task definition validated against during task * definition registration. For more information, see Amazon * ECS launch types in the Amazon Elastic Container Service Developer * Guide.
*/ inline const Aws::VectorThe task launch types the task definition validated against during task * definition registration. For more information, see Amazon * ECS launch types in the Amazon Elastic Container Service Developer * Guide.
*/ inline bool CompatibilitiesHasBeenSet() const { return m_compatibilitiesHasBeenSet; } /** *The task launch types the task definition validated against during task * definition registration. For more information, see Amazon * ECS launch types in the Amazon Elastic Container Service Developer * Guide.
*/ inline void SetCompatibilities(const Aws::VectorThe task launch types the task definition validated against during task * definition registration. For more information, see Amazon * ECS launch types in the Amazon Elastic Container Service Developer * Guide.
*/ inline void SetCompatibilities(Aws::VectorThe task launch types the task definition validated against during task * definition registration. For more information, see Amazon * ECS launch types in the Amazon Elastic Container Service Developer * Guide.
*/ inline TaskDefinition& WithCompatibilities(const Aws::VectorThe task launch types the task definition validated against during task * definition registration. For more information, see Amazon * ECS launch types in the Amazon Elastic Container Service Developer * Guide.
*/ inline TaskDefinition& WithCompatibilities(Aws::VectorThe task launch types the task definition validated against during task * definition registration. For more information, see Amazon * ECS launch types in the Amazon Elastic Container Service Developer * Guide.
*/ inline TaskDefinition& AddCompatibilities(const Compatibility& value) { m_compatibilitiesHasBeenSet = true; m_compatibilities.push_back(value); return *this; } /** *The task launch types the task definition validated against during task * definition registration. For more information, see Amazon * ECS launch types in the Amazon Elastic Container Service Developer * Guide.
*/ inline TaskDefinition& AddCompatibilities(Compatibility&& value) { m_compatibilitiesHasBeenSet = true; m_compatibilities.push_back(std::move(value)); return *this; } /** *The operating system that your task definitions are running on. A platform * family is specified only for tasks using the Fargate launch type.
When
* you specify a task in a service, this value must match the
* runtimePlatform
value of the service.
The operating system that your task definitions are running on. A platform * family is specified only for tasks using the Fargate launch type.
When
* you specify a task in a service, this value must match the
* runtimePlatform
value of the service.
The operating system that your task definitions are running on. A platform * family is specified only for tasks using the Fargate launch type.
When
* you specify a task in a service, this value must match the
* runtimePlatform
value of the service.
The operating system that your task definitions are running on. A platform * family is specified only for tasks using the Fargate launch type.
When
* you specify a task in a service, this value must match the
* runtimePlatform
value of the service.
The operating system that your task definitions are running on. A platform * family is specified only for tasks using the Fargate launch type.
When
* you specify a task in a service, this value must match the
* runtimePlatform
value of the service.
The operating system that your task definitions are running on. A platform * family is specified only for tasks using the Fargate launch type.
When
* you specify a task in a service, this value must match the
* runtimePlatform
value of the service.
The task launch types the task definition was validated against. For more * information, see Amazon * ECS launch types in the Amazon Elastic Container Service Developer * Guide.
*/ inline const Aws::VectorThe task launch types the task definition was validated against. For more * information, see Amazon * ECS launch types in the Amazon Elastic Container Service Developer * Guide.
*/ inline bool RequiresCompatibilitiesHasBeenSet() const { return m_requiresCompatibilitiesHasBeenSet; } /** *The task launch types the task definition was validated against. For more * information, see Amazon * ECS launch types in the Amazon Elastic Container Service Developer * Guide.
*/ inline void SetRequiresCompatibilities(const Aws::VectorThe task launch types the task definition was validated against. For more * information, see Amazon * ECS launch types in the Amazon Elastic Container Service Developer * Guide.
*/ inline void SetRequiresCompatibilities(Aws::VectorThe task launch types the task definition was validated against. For more * information, see Amazon * ECS launch types in the Amazon Elastic Container Service Developer * Guide.
*/ inline TaskDefinition& WithRequiresCompatibilities(const Aws::VectorThe task launch types the task definition was validated against. For more * information, see Amazon * ECS launch types in the Amazon Elastic Container Service Developer * Guide.
*/ inline TaskDefinition& WithRequiresCompatibilities(Aws::VectorThe task launch types the task definition was validated against. For more * information, see Amazon * ECS launch types in the Amazon Elastic Container Service Developer * Guide.
*/ inline TaskDefinition& AddRequiresCompatibilities(const Compatibility& value) { m_requiresCompatibilitiesHasBeenSet = true; m_requiresCompatibilities.push_back(value); return *this; } /** *The task launch types the task definition was validated against. For more * information, see Amazon * ECS launch types in the Amazon Elastic Container Service Developer * Guide.
*/ inline TaskDefinition& AddRequiresCompatibilities(Compatibility&& value) { m_requiresCompatibilitiesHasBeenSet = true; m_requiresCompatibilities.push_back(std::move(value)); return *this; } /** *The number of cpu
units used by the task. If you use the EC2
* launch type, this field is optional. Any value can be used. If you use the
* Fargate launch type, this field is required. You must use one of the following
* values. The value that you choose determines your range of valid values for the
* memory
parameter.
The CPU units cannot be less than 1 vCPU * when you use Windows containers on Fargate.
256 (.25 vCPU) -
* Available memory
values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)
512 (.5 vCPU) - Available memory
values: 1024 (1 GB),
* 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)
1024 (1 vCPU) -
* Available memory
values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB),
* 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)
2048 (2
* vCPU) - Available memory
values: 4096 (4 GB) and 16384 (16 GB) in
* increments of 1024 (1 GB)
4096 (4 vCPU) - Available
* memory
values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024
* (1 GB)
8192 (8 vCPU) - Available memory
values:
* 16 GB and 60 GB in 4 GB increments
This option requires Linux platform
* 1.4.0
or later.
16384 (16vCPU) - Available
* memory
values: 32GB and 120 GB in 8 GB increments
This
* option requires Linux platform 1.4.0
or later.
The number of cpu
units used by the task. If you use the EC2
* launch type, this field is optional. Any value can be used. If you use the
* Fargate launch type, this field is required. You must use one of the following
* values. The value that you choose determines your range of valid values for the
* memory
parameter.
The CPU units cannot be less than 1 vCPU * when you use Windows containers on Fargate.
256 (.25 vCPU) -
* Available memory
values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)
512 (.5 vCPU) - Available memory
values: 1024 (1 GB),
* 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)
1024 (1 vCPU) -
* Available memory
values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB),
* 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)
2048 (2
* vCPU) - Available memory
values: 4096 (4 GB) and 16384 (16 GB) in
* increments of 1024 (1 GB)
4096 (4 vCPU) - Available
* memory
values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024
* (1 GB)
8192 (8 vCPU) - Available memory
values:
* 16 GB and 60 GB in 4 GB increments
This option requires Linux platform
* 1.4.0
or later.
16384 (16vCPU) - Available
* memory
values: 32GB and 120 GB in 8 GB increments
This
* option requires Linux platform 1.4.0
or later.
The number of cpu
units used by the task. If you use the EC2
* launch type, this field is optional. Any value can be used. If you use the
* Fargate launch type, this field is required. You must use one of the following
* values. The value that you choose determines your range of valid values for the
* memory
parameter.
The CPU units cannot be less than 1 vCPU * when you use Windows containers on Fargate.
256 (.25 vCPU) -
* Available memory
values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)
512 (.5 vCPU) - Available memory
values: 1024 (1 GB),
* 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)
1024 (1 vCPU) -
* Available memory
values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB),
* 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)
2048 (2
* vCPU) - Available memory
values: 4096 (4 GB) and 16384 (16 GB) in
* increments of 1024 (1 GB)
4096 (4 vCPU) - Available
* memory
values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024
* (1 GB)
8192 (8 vCPU) - Available memory
values:
* 16 GB and 60 GB in 4 GB increments
This option requires Linux platform
* 1.4.0
or later.
16384 (16vCPU) - Available
* memory
values: 32GB and 120 GB in 8 GB increments
This
* option requires Linux platform 1.4.0
or later.
The number of cpu
units used by the task. If you use the EC2
* launch type, this field is optional. Any value can be used. If you use the
* Fargate launch type, this field is required. You must use one of the following
* values. The value that you choose determines your range of valid values for the
* memory
parameter.
The CPU units cannot be less than 1 vCPU * when you use Windows containers on Fargate.
256 (.25 vCPU) -
* Available memory
values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)
512 (.5 vCPU) - Available memory
values: 1024 (1 GB),
* 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)
1024 (1 vCPU) -
* Available memory
values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB),
* 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)
2048 (2
* vCPU) - Available memory
values: 4096 (4 GB) and 16384 (16 GB) in
* increments of 1024 (1 GB)
4096 (4 vCPU) - Available
* memory
values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024
* (1 GB)
8192 (8 vCPU) - Available memory
values:
* 16 GB and 60 GB in 4 GB increments
This option requires Linux platform
* 1.4.0
or later.
16384 (16vCPU) - Available
* memory
values: 32GB and 120 GB in 8 GB increments
This
* option requires Linux platform 1.4.0
or later.
The number of cpu
units used by the task. If you use the EC2
* launch type, this field is optional. Any value can be used. If you use the
* Fargate launch type, this field is required. You must use one of the following
* values. The value that you choose determines your range of valid values for the
* memory
parameter.
The CPU units cannot be less than 1 vCPU * when you use Windows containers on Fargate.
256 (.25 vCPU) -
* Available memory
values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)
512 (.5 vCPU) - Available memory
values: 1024 (1 GB),
* 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)
1024 (1 vCPU) -
* Available memory
values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB),
* 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)
2048 (2
* vCPU) - Available memory
values: 4096 (4 GB) and 16384 (16 GB) in
* increments of 1024 (1 GB)
4096 (4 vCPU) - Available
* memory
values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024
* (1 GB)
8192 (8 vCPU) - Available memory
values:
* 16 GB and 60 GB in 4 GB increments
This option requires Linux platform
* 1.4.0
or later.
16384 (16vCPU) - Available
* memory
values: 32GB and 120 GB in 8 GB increments
This
* option requires Linux platform 1.4.0
or later.
The number of cpu
units used by the task. If you use the EC2
* launch type, this field is optional. Any value can be used. If you use the
* Fargate launch type, this field is required. You must use one of the following
* values. The value that you choose determines your range of valid values for the
* memory
parameter.
The CPU units cannot be less than 1 vCPU * when you use Windows containers on Fargate.
256 (.25 vCPU) -
* Available memory
values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)
512 (.5 vCPU) - Available memory
values: 1024 (1 GB),
* 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)
1024 (1 vCPU) -
* Available memory
values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB),
* 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)
2048 (2
* vCPU) - Available memory
values: 4096 (4 GB) and 16384 (16 GB) in
* increments of 1024 (1 GB)
4096 (4 vCPU) - Available
* memory
values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024
* (1 GB)
8192 (8 vCPU) - Available memory
values:
* 16 GB and 60 GB in 4 GB increments
This option requires Linux platform
* 1.4.0
or later.
16384 (16vCPU) - Available
* memory
values: 32GB and 120 GB in 8 GB increments
This
* option requires Linux platform 1.4.0
or later.
The number of cpu
units used by the task. If you use the EC2
* launch type, this field is optional. Any value can be used. If you use the
* Fargate launch type, this field is required. You must use one of the following
* values. The value that you choose determines your range of valid values for the
* memory
parameter.
The CPU units cannot be less than 1 vCPU * when you use Windows containers on Fargate.
256 (.25 vCPU) -
* Available memory
values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)
512 (.5 vCPU) - Available memory
values: 1024 (1 GB),
* 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)
1024 (1 vCPU) -
* Available memory
values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB),
* 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)
2048 (2
* vCPU) - Available memory
values: 4096 (4 GB) and 16384 (16 GB) in
* increments of 1024 (1 GB)
4096 (4 vCPU) - Available
* memory
values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024
* (1 GB)
8192 (8 vCPU) - Available memory
values:
* 16 GB and 60 GB in 4 GB increments
This option requires Linux platform
* 1.4.0
or later.
16384 (16vCPU) - Available
* memory
values: 32GB and 120 GB in 8 GB increments
This
* option requires Linux platform 1.4.0
or later.
The number of cpu
units used by the task. If you use the EC2
* launch type, this field is optional. Any value can be used. If you use the
* Fargate launch type, this field is required. You must use one of the following
* values. The value that you choose determines your range of valid values for the
* memory
parameter.
The CPU units cannot be less than 1 vCPU * when you use Windows containers on Fargate.
256 (.25 vCPU) -
* Available memory
values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)
512 (.5 vCPU) - Available memory
values: 1024 (1 GB),
* 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)
1024 (1 vCPU) -
* Available memory
values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB),
* 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)
2048 (2
* vCPU) - Available memory
values: 4096 (4 GB) and 16384 (16 GB) in
* increments of 1024 (1 GB)
4096 (4 vCPU) - Available
* memory
values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024
* (1 GB)
8192 (8 vCPU) - Available memory
values:
* 16 GB and 60 GB in 4 GB increments
This option requires Linux platform
* 1.4.0
or later.
16384 (16vCPU) - Available
* memory
values: 32GB and 120 GB in 8 GB increments
This
* option requires Linux platform 1.4.0
or later.
The amount (in MiB) of memory used by the task.
If your tasks runs on * Amazon EC2 instances, you must specify either a task-level memory value or a * container-level memory value. This field is optional and any value can be used. * If a task-level memory value is specified, the container-level memory value is * optional. For more information regarding container-level memory and memory * reservation, see ContainerDefinition.
*If your tasks runs on Fargate, this field is required. You must use one of
* the following values. The value you choose determines your range of valid values
* for the cpu
parameter.
512 (0.5 GB), 1024 (1 GB),
* 2048 (2 GB) - Available cpu
values: 256 (.25 vCPU)
1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available
* cpu
values: 512 (.5 vCPU)
2048 (2 GB), 3072 (3
* GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available
* cpu
values: 1024 (1 vCPU)
Between 4096 (4 GB) and
* 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu
values:
* 2048 (2 vCPU)
Between 8192 (8 GB) and 30720 (30 GB) in
* increments of 1024 (1 GB) - Available cpu
values: 4096 (4 vCPU)
Between 16 GB and 60 GB in 4 GB increments - Available
* cpu
values: 8192 (8 vCPU)
This option requires Linux
* platform 1.4.0
or later.
Between 32GB and 120 GB
* in 8 GB increments - Available cpu
values: 16384 (16 vCPU)
This option requires Linux platform 1.4.0
or later.
The amount (in MiB) of memory used by the task.
If your tasks runs on * Amazon EC2 instances, you must specify either a task-level memory value or a * container-level memory value. This field is optional and any value can be used. * If a task-level memory value is specified, the container-level memory value is * optional. For more information regarding container-level memory and memory * reservation, see ContainerDefinition.
*If your tasks runs on Fargate, this field is required. You must use one of
* the following values. The value you choose determines your range of valid values
* for the cpu
parameter.
512 (0.5 GB), 1024 (1 GB),
* 2048 (2 GB) - Available cpu
values: 256 (.25 vCPU)
1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available
* cpu
values: 512 (.5 vCPU)
2048 (2 GB), 3072 (3
* GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available
* cpu
values: 1024 (1 vCPU)
Between 4096 (4 GB) and
* 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu
values:
* 2048 (2 vCPU)
Between 8192 (8 GB) and 30720 (30 GB) in
* increments of 1024 (1 GB) - Available cpu
values: 4096 (4 vCPU)
Between 16 GB and 60 GB in 4 GB increments - Available
* cpu
values: 8192 (8 vCPU)
This option requires Linux
* platform 1.4.0
or later.
Between 32GB and 120 GB
* in 8 GB increments - Available cpu
values: 16384 (16 vCPU)
This option requires Linux platform 1.4.0
or later.
The amount (in MiB) of memory used by the task.
If your tasks runs on * Amazon EC2 instances, you must specify either a task-level memory value or a * container-level memory value. This field is optional and any value can be used. * If a task-level memory value is specified, the container-level memory value is * optional. For more information regarding container-level memory and memory * reservation, see ContainerDefinition.
*If your tasks runs on Fargate, this field is required. You must use one of
* the following values. The value you choose determines your range of valid values
* for the cpu
parameter.
512 (0.5 GB), 1024 (1 GB),
* 2048 (2 GB) - Available cpu
values: 256 (.25 vCPU)
1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available
* cpu
values: 512 (.5 vCPU)
2048 (2 GB), 3072 (3
* GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available
* cpu
values: 1024 (1 vCPU)
Between 4096 (4 GB) and
* 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu
values:
* 2048 (2 vCPU)
Between 8192 (8 GB) and 30720 (30 GB) in
* increments of 1024 (1 GB) - Available cpu
values: 4096 (4 vCPU)
Between 16 GB and 60 GB in 4 GB increments - Available
* cpu
values: 8192 (8 vCPU)
This option requires Linux
* platform 1.4.0
or later.
Between 32GB and 120 GB
* in 8 GB increments - Available cpu
values: 16384 (16 vCPU)
This option requires Linux platform 1.4.0
or later.
The amount (in MiB) of memory used by the task.
If your tasks runs on * Amazon EC2 instances, you must specify either a task-level memory value or a * container-level memory value. This field is optional and any value can be used. * If a task-level memory value is specified, the container-level memory value is * optional. For more information regarding container-level memory and memory * reservation, see ContainerDefinition.
*If your tasks runs on Fargate, this field is required. You must use one of
* the following values. The value you choose determines your range of valid values
* for the cpu
parameter.
512 (0.5 GB), 1024 (1 GB),
* 2048 (2 GB) - Available cpu
values: 256 (.25 vCPU)
1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available
* cpu
values: 512 (.5 vCPU)
2048 (2 GB), 3072 (3
* GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available
* cpu
values: 1024 (1 vCPU)
Between 4096 (4 GB) and
* 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu
values:
* 2048 (2 vCPU)
Between 8192 (8 GB) and 30720 (30 GB) in
* increments of 1024 (1 GB) - Available cpu
values: 4096 (4 vCPU)
Between 16 GB and 60 GB in 4 GB increments - Available
* cpu
values: 8192 (8 vCPU)
This option requires Linux
* platform 1.4.0
or later.
Between 32GB and 120 GB
* in 8 GB increments - Available cpu
values: 16384 (16 vCPU)
This option requires Linux platform 1.4.0
or later.
The amount (in MiB) of memory used by the task.
If your tasks runs on * Amazon EC2 instances, you must specify either a task-level memory value or a * container-level memory value. This field is optional and any value can be used. * If a task-level memory value is specified, the container-level memory value is * optional. For more information regarding container-level memory and memory * reservation, see ContainerDefinition.
*If your tasks runs on Fargate, this field is required. You must use one of
* the following values. The value you choose determines your range of valid values
* for the cpu
parameter.
512 (0.5 GB), 1024 (1 GB),
* 2048 (2 GB) - Available cpu
values: 256 (.25 vCPU)
1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available
* cpu
values: 512 (.5 vCPU)
2048 (2 GB), 3072 (3
* GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available
* cpu
values: 1024 (1 vCPU)
Between 4096 (4 GB) and
* 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu
values:
* 2048 (2 vCPU)
Between 8192 (8 GB) and 30720 (30 GB) in
* increments of 1024 (1 GB) - Available cpu
values: 4096 (4 vCPU)
Between 16 GB and 60 GB in 4 GB increments - Available
* cpu
values: 8192 (8 vCPU)
This option requires Linux
* platform 1.4.0
or later.
Between 32GB and 120 GB
* in 8 GB increments - Available cpu
values: 16384 (16 vCPU)
This option requires Linux platform 1.4.0
or later.
The amount (in MiB) of memory used by the task.
If your tasks runs on * Amazon EC2 instances, you must specify either a task-level memory value or a * container-level memory value. This field is optional and any value can be used. * If a task-level memory value is specified, the container-level memory value is * optional. For more information regarding container-level memory and memory * reservation, see ContainerDefinition.
*If your tasks runs on Fargate, this field is required. You must use one of
* the following values. The value you choose determines your range of valid values
* for the cpu
parameter.
512 (0.5 GB), 1024 (1 GB),
* 2048 (2 GB) - Available cpu
values: 256 (.25 vCPU)
1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available
* cpu
values: 512 (.5 vCPU)
2048 (2 GB), 3072 (3
* GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available
* cpu
values: 1024 (1 vCPU)
Between 4096 (4 GB) and
* 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu
values:
* 2048 (2 vCPU)
Between 8192 (8 GB) and 30720 (30 GB) in
* increments of 1024 (1 GB) - Available cpu
values: 4096 (4 vCPU)
Between 16 GB and 60 GB in 4 GB increments - Available
* cpu
values: 8192 (8 vCPU)
This option requires Linux
* platform 1.4.0
or later.
Between 32GB and 120 GB
* in 8 GB increments - Available cpu
values: 16384 (16 vCPU)
This option requires Linux platform 1.4.0
or later.
The amount (in MiB) of memory used by the task.
If your tasks runs on * Amazon EC2 instances, you must specify either a task-level memory value or a * container-level memory value. This field is optional and any value can be used. * If a task-level memory value is specified, the container-level memory value is * optional. For more information regarding container-level memory and memory * reservation, see ContainerDefinition.
*If your tasks runs on Fargate, this field is required. You must use one of
* the following values. The value you choose determines your range of valid values
* for the cpu
parameter.
512 (0.5 GB), 1024 (1 GB),
* 2048 (2 GB) - Available cpu
values: 256 (.25 vCPU)
1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available
* cpu
values: 512 (.5 vCPU)
2048 (2 GB), 3072 (3
* GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available
* cpu
values: 1024 (1 vCPU)
Between 4096 (4 GB) and
* 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu
values:
* 2048 (2 vCPU)
Between 8192 (8 GB) and 30720 (30 GB) in
* increments of 1024 (1 GB) - Available cpu
values: 4096 (4 vCPU)
Between 16 GB and 60 GB in 4 GB increments - Available
* cpu
values: 8192 (8 vCPU)
This option requires Linux
* platform 1.4.0
or later.
Between 32GB and 120 GB
* in 8 GB increments - Available cpu
values: 16384 (16 vCPU)
This option requires Linux platform 1.4.0
or later.
The amount (in MiB) of memory used by the task.
If your tasks runs on * Amazon EC2 instances, you must specify either a task-level memory value or a * container-level memory value. This field is optional and any value can be used. * If a task-level memory value is specified, the container-level memory value is * optional. For more information regarding container-level memory and memory * reservation, see ContainerDefinition.
*If your tasks runs on Fargate, this field is required. You must use one of
* the following values. The value you choose determines your range of valid values
* for the cpu
parameter.
512 (0.5 GB), 1024 (1 GB),
* 2048 (2 GB) - Available cpu
values: 256 (.25 vCPU)
1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available
* cpu
values: 512 (.5 vCPU)
2048 (2 GB), 3072 (3
* GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available
* cpu
values: 1024 (1 vCPU)
Between 4096 (4 GB) and
* 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu
values:
* 2048 (2 vCPU)
Between 8192 (8 GB) and 30720 (30 GB) in
* increments of 1024 (1 GB) - Available cpu
values: 4096 (4 vCPU)
Between 16 GB and 60 GB in 4 GB increments - Available
* cpu
values: 8192 (8 vCPU)
This option requires Linux
* platform 1.4.0
or later.
Between 32GB and 120 GB
* in 8 GB increments - Available cpu
values: 16384 (16 vCPU)
This option requires Linux platform 1.4.0
or later.
The Elastic Inference accelerator that's associated with the task.
*/ inline const Aws::VectorThe Elastic Inference accelerator that's associated with the task.
*/ inline bool InferenceAcceleratorsHasBeenSet() const { return m_inferenceAcceleratorsHasBeenSet; } /** *The Elastic Inference accelerator that's associated with the task.
*/ inline void SetInferenceAccelerators(const Aws::VectorThe Elastic Inference accelerator that's associated with the task.
*/ inline void SetInferenceAccelerators(Aws::VectorThe Elastic Inference accelerator that's associated with the task.
*/ inline TaskDefinition& WithInferenceAccelerators(const Aws::VectorThe Elastic Inference accelerator that's associated with the task.
*/ inline TaskDefinition& WithInferenceAccelerators(Aws::VectorThe Elastic Inference accelerator that's associated with the task.
*/ inline TaskDefinition& AddInferenceAccelerators(const InferenceAccelerator& value) { m_inferenceAcceleratorsHasBeenSet = true; m_inferenceAccelerators.push_back(value); return *this; } /** *The Elastic Inference accelerator that's associated with the task.
*/ inline TaskDefinition& AddInferenceAccelerators(InferenceAccelerator&& value) { m_inferenceAcceleratorsHasBeenSet = true; m_inferenceAccelerators.push_back(std::move(value)); return *this; } /** *The process namespace to use for the containers in the task. The valid values
* are host
or task
. If host
is specified,
* then all containers within the tasks that specified the host
PID
* mode on the same container instance share the same process namespace with the
* host Amazon EC2 instance. If task
is specified, all containers
* within the specified task share the same process namespace. If no value is
* specified, the default is a private namespace. For more information, see PID
* settings in the Docker run reference.
If the host
* PID mode is used, be aware that there is a heightened risk of undesired process
* namespace expose. For more information, see Docker
* security.
This parameter is not supported for Windows * containers or tasks run on Fargate.
*/ inline const PidMode& GetPidMode() const{ return m_pidMode; } /** *The process namespace to use for the containers in the task. The valid values
* are host
or task
. If host
is specified,
* then all containers within the tasks that specified the host
PID
* mode on the same container instance share the same process namespace with the
* host Amazon EC2 instance. If task
is specified, all containers
* within the specified task share the same process namespace. If no value is
* specified, the default is a private namespace. For more information, see PID
* settings in the Docker run reference.
If the host
* PID mode is used, be aware that there is a heightened risk of undesired process
* namespace expose. For more information, see Docker
* security.
This parameter is not supported for Windows * containers or tasks run on Fargate.
*/ inline bool PidModeHasBeenSet() const { return m_pidModeHasBeenSet; } /** *The process namespace to use for the containers in the task. The valid values
* are host
or task
. If host
is specified,
* then all containers within the tasks that specified the host
PID
* mode on the same container instance share the same process namespace with the
* host Amazon EC2 instance. If task
is specified, all containers
* within the specified task share the same process namespace. If no value is
* specified, the default is a private namespace. For more information, see PID
* settings in the Docker run reference.
If the host
* PID mode is used, be aware that there is a heightened risk of undesired process
* namespace expose. For more information, see Docker
* security.
This parameter is not supported for Windows * containers or tasks run on Fargate.
*/ inline void SetPidMode(const PidMode& value) { m_pidModeHasBeenSet = true; m_pidMode = value; } /** *The process namespace to use for the containers in the task. The valid values
* are host
or task
. If host
is specified,
* then all containers within the tasks that specified the host
PID
* mode on the same container instance share the same process namespace with the
* host Amazon EC2 instance. If task
is specified, all containers
* within the specified task share the same process namespace. If no value is
* specified, the default is a private namespace. For more information, see PID
* settings in the Docker run reference.
If the host
* PID mode is used, be aware that there is a heightened risk of undesired process
* namespace expose. For more information, see Docker
* security.
This parameter is not supported for Windows * containers or tasks run on Fargate.
*/ inline void SetPidMode(PidMode&& value) { m_pidModeHasBeenSet = true; m_pidMode = std::move(value); } /** *The process namespace to use for the containers in the task. The valid values
* are host
or task
. If host
is specified,
* then all containers within the tasks that specified the host
PID
* mode on the same container instance share the same process namespace with the
* host Amazon EC2 instance. If task
is specified, all containers
* within the specified task share the same process namespace. If no value is
* specified, the default is a private namespace. For more information, see PID
* settings in the Docker run reference.
If the host
* PID mode is used, be aware that there is a heightened risk of undesired process
* namespace expose. For more information, see Docker
* security.
This parameter is not supported for Windows * containers or tasks run on Fargate.
*/ inline TaskDefinition& WithPidMode(const PidMode& value) { SetPidMode(value); return *this;} /** *The process namespace to use for the containers in the task. The valid values
* are host
or task
. If host
is specified,
* then all containers within the tasks that specified the host
PID
* mode on the same container instance share the same process namespace with the
* host Amazon EC2 instance. If task
is specified, all containers
* within the specified task share the same process namespace. If no value is
* specified, the default is a private namespace. For more information, see PID
* settings in the Docker run reference.
If the host
* PID mode is used, be aware that there is a heightened risk of undesired process
* namespace expose. For more information, see Docker
* security.
This parameter is not supported for Windows * containers or tasks run on Fargate.
*/ inline TaskDefinition& WithPidMode(PidMode&& value) { SetPidMode(std::move(value)); return *this;} /** *The IPC resource namespace to use for the containers in the task. The valid
* values are host
, task
, or none
. If
* host
is specified, then all containers within the tasks that
* specified the host
IPC mode on the same container instance share
* the same IPC resources with the host Amazon EC2 instance. If task
* is specified, all containers within the specified task share the same IPC
* resources. If none
is specified, then IPC resources within the
* containers of a task are private and not shared with other containers in a task
* or on the container instance. If no value is specified, then the IPC resource
* namespace sharing depends on the Docker daemon setting on the container
* instance. For more information, see IPC
* settings in the Docker run reference.
If the host
* IPC mode is used, be aware that there is a heightened risk of undesired IPC
* namespace expose. For more information, see Docker
* security.
If you are setting namespaced kernel parameters using
* systemControls
for the containers in the task, the following will
* apply to your IPC resource namespace. For more information, see System
* Controls in the Amazon Elastic Container Service Developer Guide.
For tasks that use the host
IPC mode, IPC namespace
* related systemControls
are not supported.
For
* tasks that use the task
IPC mode, IPC namespace related
* systemControls
will apply to all containers within a task.
This parameter is not supported for Windows containers or * tasks run on Fargate.
*/ inline const IpcMode& GetIpcMode() const{ return m_ipcMode; } /** *The IPC resource namespace to use for the containers in the task. The valid
* values are host
, task
, or none
. If
* host
is specified, then all containers within the tasks that
* specified the host
IPC mode on the same container instance share
* the same IPC resources with the host Amazon EC2 instance. If task
* is specified, all containers within the specified task share the same IPC
* resources. If none
is specified, then IPC resources within the
* containers of a task are private and not shared with other containers in a task
* or on the container instance. If no value is specified, then the IPC resource
* namespace sharing depends on the Docker daemon setting on the container
* instance. For more information, see IPC
* settings in the Docker run reference.
If the host
* IPC mode is used, be aware that there is a heightened risk of undesired IPC
* namespace expose. For more information, see Docker
* security.
If you are setting namespaced kernel parameters using
* systemControls
for the containers in the task, the following will
* apply to your IPC resource namespace. For more information, see System
* Controls in the Amazon Elastic Container Service Developer Guide.
For tasks that use the host
IPC mode, IPC namespace
* related systemControls
are not supported.
For
* tasks that use the task
IPC mode, IPC namespace related
* systemControls
will apply to all containers within a task.
This parameter is not supported for Windows containers or * tasks run on Fargate.
*/ inline bool IpcModeHasBeenSet() const { return m_ipcModeHasBeenSet; } /** *The IPC resource namespace to use for the containers in the task. The valid
* values are host
, task
, or none
. If
* host
is specified, then all containers within the tasks that
* specified the host
IPC mode on the same container instance share
* the same IPC resources with the host Amazon EC2 instance. If task
* is specified, all containers within the specified task share the same IPC
* resources. If none
is specified, then IPC resources within the
* containers of a task are private and not shared with other containers in a task
* or on the container instance. If no value is specified, then the IPC resource
* namespace sharing depends on the Docker daemon setting on the container
* instance. For more information, see IPC
* settings in the Docker run reference.
If the host
* IPC mode is used, be aware that there is a heightened risk of undesired IPC
* namespace expose. For more information, see Docker
* security.
If you are setting namespaced kernel parameters using
* systemControls
for the containers in the task, the following will
* apply to your IPC resource namespace. For more information, see System
* Controls in the Amazon Elastic Container Service Developer Guide.
For tasks that use the host
IPC mode, IPC namespace
* related systemControls
are not supported.
For
* tasks that use the task
IPC mode, IPC namespace related
* systemControls
will apply to all containers within a task.
This parameter is not supported for Windows containers or * tasks run on Fargate.
*/ inline void SetIpcMode(const IpcMode& value) { m_ipcModeHasBeenSet = true; m_ipcMode = value; } /** *The IPC resource namespace to use for the containers in the task. The valid
* values are host
, task
, or none
. If
* host
is specified, then all containers within the tasks that
* specified the host
IPC mode on the same container instance share
* the same IPC resources with the host Amazon EC2 instance. If task
* is specified, all containers within the specified task share the same IPC
* resources. If none
is specified, then IPC resources within the
* containers of a task are private and not shared with other containers in a task
* or on the container instance. If no value is specified, then the IPC resource
* namespace sharing depends on the Docker daemon setting on the container
* instance. For more information, see IPC
* settings in the Docker run reference.
If the host
* IPC mode is used, be aware that there is a heightened risk of undesired IPC
* namespace expose. For more information, see Docker
* security.
If you are setting namespaced kernel parameters using
* systemControls
for the containers in the task, the following will
* apply to your IPC resource namespace. For more information, see System
* Controls in the Amazon Elastic Container Service Developer Guide.
For tasks that use the host
IPC mode, IPC namespace
* related systemControls
are not supported.
For
* tasks that use the task
IPC mode, IPC namespace related
* systemControls
will apply to all containers within a task.
This parameter is not supported for Windows containers or * tasks run on Fargate.
*/ inline void SetIpcMode(IpcMode&& value) { m_ipcModeHasBeenSet = true; m_ipcMode = std::move(value); } /** *The IPC resource namespace to use for the containers in the task. The valid
* values are host
, task
, or none
. If
* host
is specified, then all containers within the tasks that
* specified the host
IPC mode on the same container instance share
* the same IPC resources with the host Amazon EC2 instance. If task
* is specified, all containers within the specified task share the same IPC
* resources. If none
is specified, then IPC resources within the
* containers of a task are private and not shared with other containers in a task
* or on the container instance. If no value is specified, then the IPC resource
* namespace sharing depends on the Docker daemon setting on the container
* instance. For more information, see IPC
* settings in the Docker run reference.
If the host
* IPC mode is used, be aware that there is a heightened risk of undesired IPC
* namespace expose. For more information, see Docker
* security.
If you are setting namespaced kernel parameters using
* systemControls
for the containers in the task, the following will
* apply to your IPC resource namespace. For more information, see System
* Controls in the Amazon Elastic Container Service Developer Guide.
For tasks that use the host
IPC mode, IPC namespace
* related systemControls
are not supported.
For
* tasks that use the task
IPC mode, IPC namespace related
* systemControls
will apply to all containers within a task.
This parameter is not supported for Windows containers or * tasks run on Fargate.
*/ inline TaskDefinition& WithIpcMode(const IpcMode& value) { SetIpcMode(value); return *this;} /** *The IPC resource namespace to use for the containers in the task. The valid
* values are host
, task
, or none
. If
* host
is specified, then all containers within the tasks that
* specified the host
IPC mode on the same container instance share
* the same IPC resources with the host Amazon EC2 instance. If task
* is specified, all containers within the specified task share the same IPC
* resources. If none
is specified, then IPC resources within the
* containers of a task are private and not shared with other containers in a task
* or on the container instance. If no value is specified, then the IPC resource
* namespace sharing depends on the Docker daemon setting on the container
* instance. For more information, see IPC
* settings in the Docker run reference.
If the host
* IPC mode is used, be aware that there is a heightened risk of undesired IPC
* namespace expose. For more information, see Docker
* security.
If you are setting namespaced kernel parameters using
* systemControls
for the containers in the task, the following will
* apply to your IPC resource namespace. For more information, see System
* Controls in the Amazon Elastic Container Service Developer Guide.
For tasks that use the host
IPC mode, IPC namespace
* related systemControls
are not supported.
For
* tasks that use the task
IPC mode, IPC namespace related
* systemControls
will apply to all containers within a task.
This parameter is not supported for Windows containers or * tasks run on Fargate.
*/ inline TaskDefinition& WithIpcMode(IpcMode&& value) { SetIpcMode(std::move(value)); return *this;} /** *The configuration details for the App Mesh proxy.
Your Amazon ECS
* container instances require at least version 1.26.0 of the container agent and
* at least version 1.26.0-1 of the ecs-init
package to use a proxy
* configuration. If your container instances are launched from the Amazon ECS
* optimized AMI version 20190301
or later, they contain the required
* versions of the container agent and ecs-init
. For more information,
* see Amazon
* ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer
* Guide.
The configuration details for the App Mesh proxy.
Your Amazon ECS
* container instances require at least version 1.26.0 of the container agent and
* at least version 1.26.0-1 of the ecs-init
package to use a proxy
* configuration. If your container instances are launched from the Amazon ECS
* optimized AMI version 20190301
or later, they contain the required
* versions of the container agent and ecs-init
. For more information,
* see Amazon
* ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer
* Guide.
The configuration details for the App Mesh proxy.
Your Amazon ECS
* container instances require at least version 1.26.0 of the container agent and
* at least version 1.26.0-1 of the ecs-init
package to use a proxy
* configuration. If your container instances are launched from the Amazon ECS
* optimized AMI version 20190301
or later, they contain the required
* versions of the container agent and ecs-init
. For more information,
* see Amazon
* ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer
* Guide.
The configuration details for the App Mesh proxy.
Your Amazon ECS
* container instances require at least version 1.26.0 of the container agent and
* at least version 1.26.0-1 of the ecs-init
package to use a proxy
* configuration. If your container instances are launched from the Amazon ECS
* optimized AMI version 20190301
or later, they contain the required
* versions of the container agent and ecs-init
. For more information,
* see Amazon
* ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer
* Guide.
The configuration details for the App Mesh proxy.
Your Amazon ECS
* container instances require at least version 1.26.0 of the container agent and
* at least version 1.26.0-1 of the ecs-init
package to use a proxy
* configuration. If your container instances are launched from the Amazon ECS
* optimized AMI version 20190301
or later, they contain the required
* versions of the container agent and ecs-init
. For more information,
* see Amazon
* ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer
* Guide.
The configuration details for the App Mesh proxy.
Your Amazon ECS
* container instances require at least version 1.26.0 of the container agent and
* at least version 1.26.0-1 of the ecs-init
package to use a proxy
* configuration. If your container instances are launched from the Amazon ECS
* optimized AMI version 20190301
or later, they contain the required
* versions of the container agent and ecs-init
. For more information,
* see Amazon
* ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer
* Guide.
The Unix timestamp for the time when the task definition was registered.
*/ inline const Aws::Utils::DateTime& GetRegisteredAt() const{ return m_registeredAt; } /** *The Unix timestamp for the time when the task definition was registered.
*/ inline bool RegisteredAtHasBeenSet() const { return m_registeredAtHasBeenSet; } /** *The Unix timestamp for the time when the task definition was registered.
*/ inline void SetRegisteredAt(const Aws::Utils::DateTime& value) { m_registeredAtHasBeenSet = true; m_registeredAt = value; } /** *The Unix timestamp for the time when the task definition was registered.
*/ inline void SetRegisteredAt(Aws::Utils::DateTime&& value) { m_registeredAtHasBeenSet = true; m_registeredAt = std::move(value); } /** *The Unix timestamp for the time when the task definition was registered.
*/ inline TaskDefinition& WithRegisteredAt(const Aws::Utils::DateTime& value) { SetRegisteredAt(value); return *this;} /** *The Unix timestamp for the time when the task definition was registered.
*/ inline TaskDefinition& WithRegisteredAt(Aws::Utils::DateTime&& value) { SetRegisteredAt(std::move(value)); return *this;} /** *The Unix timestamp for the time when the task definition was * deregistered.
*/ inline const Aws::Utils::DateTime& GetDeregisteredAt() const{ return m_deregisteredAt; } /** *The Unix timestamp for the time when the task definition was * deregistered.
*/ inline bool DeregisteredAtHasBeenSet() const { return m_deregisteredAtHasBeenSet; } /** *The Unix timestamp for the time when the task definition was * deregistered.
*/ inline void SetDeregisteredAt(const Aws::Utils::DateTime& value) { m_deregisteredAtHasBeenSet = true; m_deregisteredAt = value; } /** *The Unix timestamp for the time when the task definition was * deregistered.
*/ inline void SetDeregisteredAt(Aws::Utils::DateTime&& value) { m_deregisteredAtHasBeenSet = true; m_deregisteredAt = std::move(value); } /** *The Unix timestamp for the time when the task definition was * deregistered.
*/ inline TaskDefinition& WithDeregisteredAt(const Aws::Utils::DateTime& value) { SetDeregisteredAt(value); return *this;} /** *The Unix timestamp for the time when the task definition was * deregistered.
*/ inline TaskDefinition& WithDeregisteredAt(Aws::Utils::DateTime&& value) { SetDeregisteredAt(std::move(value)); return *this;} /** *The principal that registered the task definition.
*/ inline const Aws::String& GetRegisteredBy() const{ return m_registeredBy; } /** *The principal that registered the task definition.
*/ inline bool RegisteredByHasBeenSet() const { return m_registeredByHasBeenSet; } /** *The principal that registered the task definition.
*/ inline void SetRegisteredBy(const Aws::String& value) { m_registeredByHasBeenSet = true; m_registeredBy = value; } /** *The principal that registered the task definition.
*/ inline void SetRegisteredBy(Aws::String&& value) { m_registeredByHasBeenSet = true; m_registeredBy = std::move(value); } /** *The principal that registered the task definition.
*/ inline void SetRegisteredBy(const char* value) { m_registeredByHasBeenSet = true; m_registeredBy.assign(value); } /** *The principal that registered the task definition.
*/ inline TaskDefinition& WithRegisteredBy(const Aws::String& value) { SetRegisteredBy(value); return *this;} /** *The principal that registered the task definition.
*/ inline TaskDefinition& WithRegisteredBy(Aws::String&& value) { SetRegisteredBy(std::move(value)); return *this;} /** *The principal that registered the task definition.
*/ inline TaskDefinition& WithRegisteredBy(const char* value) { SetRegisteredBy(value); return *this;} /** *The ephemeral storage settings to use for tasks run with the task * definition.
*/ inline const EphemeralStorage& GetEphemeralStorage() const{ return m_ephemeralStorage; } /** *The ephemeral storage settings to use for tasks run with the task * definition.
*/ inline bool EphemeralStorageHasBeenSet() const { return m_ephemeralStorageHasBeenSet; } /** *The ephemeral storage settings to use for tasks run with the task * definition.
*/ inline void SetEphemeralStorage(const EphemeralStorage& value) { m_ephemeralStorageHasBeenSet = true; m_ephemeralStorage = value; } /** *The ephemeral storage settings to use for tasks run with the task * definition.
*/ inline void SetEphemeralStorage(EphemeralStorage&& value) { m_ephemeralStorageHasBeenSet = true; m_ephemeralStorage = std::move(value); } /** *The ephemeral storage settings to use for tasks run with the task * definition.
*/ inline TaskDefinition& WithEphemeralStorage(const EphemeralStorage& value) { SetEphemeralStorage(value); return *this;} /** *The ephemeral storage settings to use for tasks run with the task * definition.
*/ inline TaskDefinition& WithEphemeralStorage(EphemeralStorage&& value) { SetEphemeralStorage(std::move(value)); return *this;} private: Aws::String m_taskDefinitionArn; bool m_taskDefinitionArnHasBeenSet = false; Aws::Vector