/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Container properties are used for Amazon ECS based job definitions. These
* properties to describe the container that's launched as part of a
* job.See Also:
AWS
* API Reference
The image used to start a container. This string is passed directly to the
* Docker daemon. Images in the Docker Hub registry are available by default. Other
* repositories are specified with
* repository-url/image:tag
. It can be 255 characters
* long. It can contain uppercase and lowercase letters, numbers, hyphens (-),
* underscores (_), colons (:), periods (.), forward slashes (/), and number signs
* (#). This parameter maps to Image
in the Create a
* container section of the Docker Remote API and the
* IMAGE
parameter of docker run.
Docker image architecture must match the processor architecture of the * compute resources that they're scheduled on. For example, ARM-based Docker * images can only run on ARM-based compute resources.
Images in Amazon ECR Public repositories use the full
* registry/repository[:tag]
or
* registry/repository[@digest]
naming conventions. For example,
* public.ecr.aws/registry_alias/my-web-app:latest
*
.
Images in Amazon ECR repositories use the full
* registry and repository URI (for example,
* 123456789012.dkr.ecr.<region-name>.amazonaws.com/<repository-name>
).
Images in official repositories on Docker Hub use a single name
* (for example, ubuntu
or mongo
).
Images in other repositories on Docker Hub are qualified with an organization
* name (for example, amazon/amazon-ecs-agent
).
Images in other online repositories are qualified further by a domain name
* (for example, quay.io/assemblyline/ubuntu
).
The image used to start a container. This string is passed directly to the
* Docker daemon. Images in the Docker Hub registry are available by default. Other
* repositories are specified with
* repository-url/image:tag
. It can be 255 characters
* long. It can contain uppercase and lowercase letters, numbers, hyphens (-),
* underscores (_), colons (:), periods (.), forward slashes (/), and number signs
* (#). This parameter maps to Image
in the Create a
* container section of the Docker Remote API and the
* IMAGE
parameter of docker run.
Docker image architecture must match the processor architecture of the * compute resources that they're scheduled on. For example, ARM-based Docker * images can only run on ARM-based compute resources.
Images in Amazon ECR Public repositories use the full
* registry/repository[:tag]
or
* registry/repository[@digest]
naming conventions. For example,
* public.ecr.aws/registry_alias/my-web-app:latest
*
.
Images in Amazon ECR repositories use the full
* registry and repository URI (for example,
* 123456789012.dkr.ecr.<region-name>.amazonaws.com/<repository-name>
).
Images in official repositories on Docker Hub use a single name
* (for example, ubuntu
or mongo
).
Images in other repositories on Docker Hub are qualified with an organization
* name (for example, amazon/amazon-ecs-agent
).
Images in other online repositories are qualified further by a domain name
* (for example, quay.io/assemblyline/ubuntu
).
The image used to start a container. This string is passed directly to the
* Docker daemon. Images in the Docker Hub registry are available by default. Other
* repositories are specified with
* repository-url/image:tag
. It can be 255 characters
* long. It can contain uppercase and lowercase letters, numbers, hyphens (-),
* underscores (_), colons (:), periods (.), forward slashes (/), and number signs
* (#). This parameter maps to Image
in the Create a
* container section of the Docker Remote API and the
* IMAGE
parameter of docker run.
Docker image architecture must match the processor architecture of the * compute resources that they're scheduled on. For example, ARM-based Docker * images can only run on ARM-based compute resources.
Images in Amazon ECR Public repositories use the full
* registry/repository[:tag]
or
* registry/repository[@digest]
naming conventions. For example,
* public.ecr.aws/registry_alias/my-web-app:latest
*
.
Images in Amazon ECR repositories use the full
* registry and repository URI (for example,
* 123456789012.dkr.ecr.<region-name>.amazonaws.com/<repository-name>
).
Images in official repositories on Docker Hub use a single name
* (for example, ubuntu
or mongo
).
Images in other repositories on Docker Hub are qualified with an organization
* name (for example, amazon/amazon-ecs-agent
).
Images in other online repositories are qualified further by a domain name
* (for example, quay.io/assemblyline/ubuntu
).
The image used to start a container. This string is passed directly to the
* Docker daemon. Images in the Docker Hub registry are available by default. Other
* repositories are specified with
* repository-url/image:tag
. It can be 255 characters
* long. It can contain uppercase and lowercase letters, numbers, hyphens (-),
* underscores (_), colons (:), periods (.), forward slashes (/), and number signs
* (#). This parameter maps to Image
in the Create a
* container section of the Docker Remote API and the
* IMAGE
parameter of docker run.
Docker image architecture must match the processor architecture of the * compute resources that they're scheduled on. For example, ARM-based Docker * images can only run on ARM-based compute resources.
Images in Amazon ECR Public repositories use the full
* registry/repository[:tag]
or
* registry/repository[@digest]
naming conventions. For example,
* public.ecr.aws/registry_alias/my-web-app:latest
*
.
Images in Amazon ECR repositories use the full
* registry and repository URI (for example,
* 123456789012.dkr.ecr.<region-name>.amazonaws.com/<repository-name>
).
Images in official repositories on Docker Hub use a single name
* (for example, ubuntu
or mongo
).
Images in other repositories on Docker Hub are qualified with an organization
* name (for example, amazon/amazon-ecs-agent
).
Images in other online repositories are qualified further by a domain name
* (for example, quay.io/assemblyline/ubuntu
).
The image used to start a container. This string is passed directly to the
* Docker daemon. Images in the Docker Hub registry are available by default. Other
* repositories are specified with
* repository-url/image:tag
. It can be 255 characters
* long. It can contain uppercase and lowercase letters, numbers, hyphens (-),
* underscores (_), colons (:), periods (.), forward slashes (/), and number signs
* (#). This parameter maps to Image
in the Create a
* container section of the Docker Remote API and the
* IMAGE
parameter of docker run.
Docker image architecture must match the processor architecture of the * compute resources that they're scheduled on. For example, ARM-based Docker * images can only run on ARM-based compute resources.
Images in Amazon ECR Public repositories use the full
* registry/repository[:tag]
or
* registry/repository[@digest]
naming conventions. For example,
* public.ecr.aws/registry_alias/my-web-app:latest
*
.
Images in Amazon ECR repositories use the full
* registry and repository URI (for example,
* 123456789012.dkr.ecr.<region-name>.amazonaws.com/<repository-name>
).
Images in official repositories on Docker Hub use a single name
* (for example, ubuntu
or mongo
).
Images in other repositories on Docker Hub are qualified with an organization
* name (for example, amazon/amazon-ecs-agent
).
Images in other online repositories are qualified further by a domain name
* (for example, quay.io/assemblyline/ubuntu
).
The image used to start a container. This string is passed directly to the
* Docker daemon. Images in the Docker Hub registry are available by default. Other
* repositories are specified with
* repository-url/image:tag
. It can be 255 characters
* long. It can contain uppercase and lowercase letters, numbers, hyphens (-),
* underscores (_), colons (:), periods (.), forward slashes (/), and number signs
* (#). This parameter maps to Image
in the Create a
* container section of the Docker Remote API and the
* IMAGE
parameter of docker run.
Docker image architecture must match the processor architecture of the * compute resources that they're scheduled on. For example, ARM-based Docker * images can only run on ARM-based compute resources.
Images in Amazon ECR Public repositories use the full
* registry/repository[:tag]
or
* registry/repository[@digest]
naming conventions. For example,
* public.ecr.aws/registry_alias/my-web-app:latest
*
.
Images in Amazon ECR repositories use the full
* registry and repository URI (for example,
* 123456789012.dkr.ecr.<region-name>.amazonaws.com/<repository-name>
).
Images in official repositories on Docker Hub use a single name
* (for example, ubuntu
or mongo
).
Images in other repositories on Docker Hub are qualified with an organization
* name (for example, amazon/amazon-ecs-agent
).
Images in other online repositories are qualified further by a domain name
* (for example, quay.io/assemblyline/ubuntu
).
The image used to start a container. This string is passed directly to the
* Docker daemon. Images in the Docker Hub registry are available by default. Other
* repositories are specified with
* repository-url/image:tag
. It can be 255 characters
* long. It can contain uppercase and lowercase letters, numbers, hyphens (-),
* underscores (_), colons (:), periods (.), forward slashes (/), and number signs
* (#). This parameter maps to Image
in the Create a
* container section of the Docker Remote API and the
* IMAGE
parameter of docker run.
Docker image architecture must match the processor architecture of the * compute resources that they're scheduled on. For example, ARM-based Docker * images can only run on ARM-based compute resources.
Images in Amazon ECR Public repositories use the full
* registry/repository[:tag]
or
* registry/repository[@digest]
naming conventions. For example,
* public.ecr.aws/registry_alias/my-web-app:latest
*
.
Images in Amazon ECR repositories use the full
* registry and repository URI (for example,
* 123456789012.dkr.ecr.<region-name>.amazonaws.com/<repository-name>
).
Images in official repositories on Docker Hub use a single name
* (for example, ubuntu
or mongo
).
Images in other repositories on Docker Hub are qualified with an organization
* name (for example, amazon/amazon-ecs-agent
).
Images in other online repositories are qualified further by a domain name
* (for example, quay.io/assemblyline/ubuntu
).
The image used to start a container. This string is passed directly to the
* Docker daemon. Images in the Docker Hub registry are available by default. Other
* repositories are specified with
* repository-url/image:tag
. It can be 255 characters
* long. It can contain uppercase and lowercase letters, numbers, hyphens (-),
* underscores (_), colons (:), periods (.), forward slashes (/), and number signs
* (#). This parameter maps to Image
in the Create a
* container section of the Docker Remote API and the
* IMAGE
parameter of docker run.
Docker image architecture must match the processor architecture of the * compute resources that they're scheduled on. For example, ARM-based Docker * images can only run on ARM-based compute resources.
Images in Amazon ECR Public repositories use the full
* registry/repository[:tag]
or
* registry/repository[@digest]
naming conventions. For example,
* public.ecr.aws/registry_alias/my-web-app:latest
*
.
Images in Amazon ECR repositories use the full
* registry and repository URI (for example,
* 123456789012.dkr.ecr.<region-name>.amazonaws.com/<repository-name>
).
Images in official repositories on Docker Hub use a single name
* (for example, ubuntu
or mongo
).
Images in other repositories on Docker Hub are qualified with an organization
* name (for example, amazon/amazon-ecs-agent
).
Images in other online repositories are qualified further by a domain name
* (for example, quay.io/assemblyline/ubuntu
).
The command that's passed to the container. This parameter maps to
* Cmd
in the Create a
* container section of the Docker Remote API and the
* COMMAND
parameter to docker run. For more
* information, see https://docs.docker.com/engine/reference/builder/#cmd.
The command that's passed to the container. This parameter maps to
* Cmd
in the Create a
* container section of the Docker Remote API and the
* COMMAND
parameter to docker run. For more
* information, see https://docs.docker.com/engine/reference/builder/#cmd.
The command that's passed to the container. This parameter maps to
* Cmd
in the Create a
* container section of the Docker Remote API and the
* COMMAND
parameter to docker run. For more
* information, see https://docs.docker.com/engine/reference/builder/#cmd.
The command that's passed to the container. This parameter maps to
* Cmd
in the Create a
* container section of the Docker Remote API and the
* COMMAND
parameter to docker run. For more
* information, see https://docs.docker.com/engine/reference/builder/#cmd.
The command that's passed to the container. This parameter maps to
* Cmd
in the Create a
* container section of the Docker Remote API and the
* COMMAND
parameter to docker run. For more
* information, see https://docs.docker.com/engine/reference/builder/#cmd.
The command that's passed to the container. This parameter maps to
* Cmd
in the Create a
* container section of the Docker Remote API and the
* COMMAND
parameter to docker run. For more
* information, see https://docs.docker.com/engine/reference/builder/#cmd.
The command that's passed to the container. This parameter maps to
* Cmd
in the Create a
* container section of the Docker Remote API and the
* COMMAND
parameter to docker run. For more
* information, see https://docs.docker.com/engine/reference/builder/#cmd.
The command that's passed to the container. This parameter maps to
* Cmd
in the Create a
* container section of the Docker Remote API and the
* COMMAND
parameter to docker run. For more
* information, see https://docs.docker.com/engine/reference/builder/#cmd.
The command that's passed to the container. This parameter maps to
* Cmd
in the Create a
* container section of the Docker Remote API and the
* COMMAND
parameter to docker run. For more
* information, see https://docs.docker.com/engine/reference/builder/#cmd.
The Amazon Resource Name (ARN) of the IAM role that the container can assume * for Amazon Web Services permissions. For more information, see IAM * roles for tasks in the Amazon Elastic Container Service Developer * Guide.
*/ inline const Aws::String& GetJobRoleArn() const{ return m_jobRoleArn; } /** *The Amazon Resource Name (ARN) of the IAM role that the container can assume * for Amazon Web Services permissions. For more information, see IAM * roles for tasks in the Amazon Elastic Container Service Developer * Guide.
*/ inline bool JobRoleArnHasBeenSet() const { return m_jobRoleArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the IAM role that the container can assume * for Amazon Web Services permissions. For more information, see IAM * roles for tasks in the Amazon Elastic Container Service Developer * Guide.
*/ inline void SetJobRoleArn(const Aws::String& value) { m_jobRoleArnHasBeenSet = true; m_jobRoleArn = value; } /** *The Amazon Resource Name (ARN) of the IAM role that the container can assume * for Amazon Web Services permissions. For more information, see IAM * roles for tasks in the Amazon Elastic Container Service Developer * Guide.
*/ inline void SetJobRoleArn(Aws::String&& value) { m_jobRoleArnHasBeenSet = true; m_jobRoleArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the IAM role that the container can assume * for Amazon Web Services permissions. For more information, see IAM * roles for tasks in the Amazon Elastic Container Service Developer * Guide.
*/ inline void SetJobRoleArn(const char* value) { m_jobRoleArnHasBeenSet = true; m_jobRoleArn.assign(value); } /** *The Amazon Resource Name (ARN) of the IAM role that the container can assume * for Amazon Web Services permissions. For more information, see IAM * roles for tasks in the Amazon Elastic Container Service Developer * Guide.
*/ inline ContainerProperties& WithJobRoleArn(const Aws::String& value) { SetJobRoleArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the IAM role that the container can assume * for Amazon Web Services permissions. For more information, see IAM * roles for tasks in the Amazon Elastic Container Service Developer * Guide.
*/ inline ContainerProperties& WithJobRoleArn(Aws::String&& value) { SetJobRoleArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the IAM role that the container can assume * for Amazon Web Services permissions. For more information, see IAM * roles for tasks in the Amazon Elastic Container Service Developer * Guide.
*/ inline ContainerProperties& WithJobRoleArn(const char* value) { SetJobRoleArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the execution role that Batch can assume. * For jobs that run on Fargate resources, you must provide an execution role. For * more information, see Batch * execution IAM role in the Batch User Guide.
*/ inline const Aws::String& GetExecutionRoleArn() const{ return m_executionRoleArn; } /** *The Amazon Resource Name (ARN) of the execution role that Batch can assume. * For jobs that run on Fargate resources, you must provide an execution role. For * more information, see Batch * execution IAM role in the Batch User Guide.
*/ inline bool ExecutionRoleArnHasBeenSet() const { return m_executionRoleArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the execution role that Batch can assume. * For jobs that run on Fargate resources, you must provide an execution role. For * more information, see Batch * execution IAM role in the Batch User Guide.
*/ inline void SetExecutionRoleArn(const Aws::String& value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn = value; } /** *The Amazon Resource Name (ARN) of the execution role that Batch can assume. * For jobs that run on Fargate resources, you must provide an execution role. For * more information, see Batch * execution IAM role in the Batch User Guide.
*/ inline void SetExecutionRoleArn(Aws::String&& value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the execution role that Batch can assume. * For jobs that run on Fargate resources, you must provide an execution role. For * more information, see Batch * execution IAM role in the Batch User Guide.
*/ inline void SetExecutionRoleArn(const char* value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn.assign(value); } /** *The Amazon Resource Name (ARN) of the execution role that Batch can assume. * For jobs that run on Fargate resources, you must provide an execution role. For * more information, see Batch * execution IAM role in the Batch User Guide.
*/ inline ContainerProperties& WithExecutionRoleArn(const Aws::String& value) { SetExecutionRoleArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the execution role that Batch can assume. * For jobs that run on Fargate resources, you must provide an execution role. For * more information, see Batch * execution IAM role in the Batch User Guide.
*/ inline ContainerProperties& WithExecutionRoleArn(Aws::String&& value) { SetExecutionRoleArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the execution role that Batch can assume. * For jobs that run on Fargate resources, you must provide an execution role. For * more information, see Batch * execution IAM role in the Batch User Guide.
*/ inline ContainerProperties& WithExecutionRoleArn(const char* value) { SetExecutionRoleArn(value); return *this;} /** *A list of data volumes used in a job.
*/ inline const Aws::VectorA list of data volumes used in a job.
*/ inline bool VolumesHasBeenSet() const { return m_volumesHasBeenSet; } /** *A list of data volumes used in a job.
*/ inline void SetVolumes(const Aws::VectorA list of data volumes used in a job.
*/ inline void SetVolumes(Aws::VectorA list of data volumes used in a job.
*/ inline ContainerProperties& WithVolumes(const Aws::VectorA list of data volumes used in a job.
*/ inline ContainerProperties& WithVolumes(Aws::VectorA list of data volumes used in a job.
*/ inline ContainerProperties& AddVolumes(const Volume& value) { m_volumesHasBeenSet = true; m_volumes.push_back(value); return *this; } /** *A list of data volumes used in a job.
*/ inline ContainerProperties& AddVolumes(Volume&& value) { m_volumesHasBeenSet = true; m_volumes.push_back(std::move(value)); return *this; } /** *The environment variables to pass to a container. This parameter maps to
* Env
in the Create a
* container section of the Docker Remote API and the
* --env
option to docker run.
We don't recommend using plaintext environment variables for * sensitive information, such as credential data.
*Environment variables cannot start with "AWS_BATCH
". This naming
* convention is reserved for variables that Batch sets.
The environment variables to pass to a container. This parameter maps to
* Env
in the Create a
* container section of the Docker Remote API and the
* --env
option to docker run.
We don't recommend using plaintext environment variables for * sensitive information, such as credential data.
*Environment variables cannot start with "AWS_BATCH
". This naming
* convention is reserved for variables that Batch sets.
The environment variables to pass to a container. This parameter maps to
* Env
in the Create a
* container section of the Docker Remote API and the
* --env
option to docker run.
We don't recommend using plaintext environment variables for * sensitive information, such as credential data.
*Environment variables cannot start with "AWS_BATCH
". This naming
* convention is reserved for variables that Batch sets.
The environment variables to pass to a container. This parameter maps to
* Env
in the Create a
* container section of the Docker Remote API and the
* --env
option to docker run.
We don't recommend using plaintext environment variables for * sensitive information, such as credential data.
*Environment variables cannot start with "AWS_BATCH
". This naming
* convention is reserved for variables that Batch sets.
The environment variables to pass to a container. This parameter maps to
* Env
in the Create a
* container section of the Docker Remote API and the
* --env
option to docker run.
We don't recommend using plaintext environment variables for * sensitive information, such as credential data.
*Environment variables cannot start with "AWS_BATCH
". This naming
* convention is reserved for variables that Batch sets.
The environment variables to pass to a container. This parameter maps to
* Env
in the Create a
* container section of the Docker Remote API and the
* --env
option to docker run.
We don't recommend using plaintext environment variables for * sensitive information, such as credential data.
*Environment variables cannot start with "AWS_BATCH
". This naming
* convention is reserved for variables that Batch sets.
The environment variables to pass to a container. This parameter maps to
* Env
in the Create a
* container section of the Docker Remote API and the
* --env
option to docker run.
We don't recommend using plaintext environment variables for * sensitive information, such as credential data.
*Environment variables cannot start with "AWS_BATCH
". This naming
* convention is reserved for variables that Batch sets.
The environment variables to pass to a container. This parameter maps to
* Env
in the Create a
* container section of the Docker Remote API and the
* --env
option to docker run.
We don't recommend using plaintext environment variables for * sensitive information, such as credential data.
*Environment variables cannot start with "AWS_BATCH
". This naming
* convention is reserved for variables that Batch sets.
The mount points for data volumes in your container. This parameter maps to
* Volumes
in the Create a
* container section of the Docker Remote API and the
* --volume
option to docker run.
The mount points for data volumes in your container. This parameter maps to
* Volumes
in the Create a
* container section of the Docker Remote API and the
* --volume
option to docker run.
The mount points for data volumes in your container. This parameter maps to
* Volumes
in the Create a
* container section of the Docker Remote API and the
* --volume
option to docker run.
The mount points for data volumes in your container. This parameter maps to
* Volumes
in the Create a
* container section of the Docker Remote API and the
* --volume
option to docker run.
The mount points for data volumes in your container. This parameter maps to
* Volumes
in the Create a
* container section of the Docker Remote API and the
* --volume
option to docker run.
The mount points for data volumes in your container. This parameter maps to
* Volumes
in the Create a
* container section of the Docker Remote API and the
* --volume
option to docker run.
The mount points for data volumes in your container. This parameter maps to
* Volumes
in the Create a
* container section of the Docker Remote API and the
* --volume
option to docker run.
The mount points for data volumes in your container. This parameter maps to
* Volumes
in the Create a
* container section of the Docker Remote API and the
* --volume
option to docker run.
When this parameter is true, the container is given read-only access to its
* root file system. This parameter maps to ReadonlyRootfs
in the Create a
* container section of the Docker Remote API and the
* --read-only
option to docker run
.
When this parameter is true, the container is given read-only access to its
* root file system. This parameter maps to ReadonlyRootfs
in the Create a
* container section of the Docker Remote API and the
* --read-only
option to docker run
.
When this parameter is true, the container is given read-only access to its
* root file system. This parameter maps to ReadonlyRootfs
in the Create a
* container section of the Docker Remote API and the
* --read-only
option to docker run
.
When this parameter is true, the container is given read-only access to its
* root file system. This parameter maps to ReadonlyRootfs
in the Create a
* container section of the Docker Remote API and the
* --read-only
option to docker run
.
When this parameter is true, the container is given elevated permissions on
* the host container instance (similar to the root
user). This
* parameter maps to Privileged
in the Create a
* container section of the Docker Remote API and the
* --privileged
option to docker run. The default
* value is false.
This parameter isn't applicable to jobs that are * running on Fargate resources and shouldn't be provided, or specified as * false.
*/ inline bool GetPrivileged() const{ return m_privileged; } /** *When this parameter is true, the container is given elevated permissions on
* the host container instance (similar to the root
user). This
* parameter maps to Privileged
in the Create a
* container section of the Docker Remote API and the
* --privileged
option to docker run. The default
* value is false.
This parameter isn't applicable to jobs that are * running on Fargate resources and shouldn't be provided, or specified as * false.
*/ inline bool PrivilegedHasBeenSet() const { return m_privilegedHasBeenSet; } /** *When this parameter is true, the container is given elevated permissions on
* the host container instance (similar to the root
user). This
* parameter maps to Privileged
in the Create a
* container section of the Docker Remote API and the
* --privileged
option to docker run. The default
* value is false.
This parameter isn't applicable to jobs that are * running on Fargate resources and shouldn't be provided, or specified as * false.
*/ inline void SetPrivileged(bool value) { m_privilegedHasBeenSet = true; m_privileged = value; } /** *When this parameter is true, the container is given elevated permissions on
* the host container instance (similar to the root
user). This
* parameter maps to Privileged
in the Create a
* container section of the Docker Remote API and the
* --privileged
option to docker run. The default
* value is false.
This parameter isn't applicable to jobs that are * running on Fargate resources and shouldn't be provided, or specified as * false.
*/ inline ContainerProperties& WithPrivileged(bool value) { SetPrivileged(value); return *this;} /** *A list of ulimits
to set in the container. This parameter maps
* to Ulimits
in the Create a
* container section of the Docker Remote API and the
* --ulimit
option to docker run.
This parameter isn't applicable to jobs that are running on Fargate resources * and shouldn't be provided.
*/ inline const Aws::VectorA list of ulimits
to set in the container. This parameter maps
* to Ulimits
in the Create a
* container section of the Docker Remote API and the
* --ulimit
option to docker run.
This parameter isn't applicable to jobs that are running on Fargate resources * and shouldn't be provided.
*/ inline bool UlimitsHasBeenSet() const { return m_ulimitsHasBeenSet; } /** *A list of ulimits
to set in the container. This parameter maps
* to Ulimits
in the Create a
* container section of the Docker Remote API and the
* --ulimit
option to docker run.
This parameter isn't applicable to jobs that are running on Fargate resources * and shouldn't be provided.
*/ inline void SetUlimits(const Aws::VectorA list of ulimits
to set in the container. This parameter maps
* to Ulimits
in the Create a
* container section of the Docker Remote API and the
* --ulimit
option to docker run.
This parameter isn't applicable to jobs that are running on Fargate resources * and shouldn't be provided.
*/ inline void SetUlimits(Aws::VectorA list of ulimits
to set in the container. This parameter maps
* to Ulimits
in the Create a
* container section of the Docker Remote API and the
* --ulimit
option to docker run.
This parameter isn't applicable to jobs that are running on Fargate resources * and shouldn't be provided.
*/ inline ContainerProperties& WithUlimits(const Aws::VectorA list of ulimits
to set in the container. This parameter maps
* to Ulimits
in the Create a
* container section of the Docker Remote API and the
* --ulimit
option to docker run.
This parameter isn't applicable to jobs that are running on Fargate resources * and shouldn't be provided.
*/ inline ContainerProperties& WithUlimits(Aws::VectorA list of ulimits
to set in the container. This parameter maps
* to Ulimits
in the Create a
* container section of the Docker Remote API and the
* --ulimit
option to docker run.
This parameter isn't applicable to jobs that are running on Fargate resources * and shouldn't be provided.
*/ inline ContainerProperties& AddUlimits(const Ulimit& value) { m_ulimitsHasBeenSet = true; m_ulimits.push_back(value); return *this; } /** *A list of ulimits
to set in the container. This parameter maps
* to Ulimits
in the Create a
* container section of the Docker Remote API and the
* --ulimit
option to docker run.
This parameter isn't applicable to jobs that are running on Fargate resources * and shouldn't be provided.
*/ inline ContainerProperties& AddUlimits(Ulimit&& value) { m_ulimitsHasBeenSet = true; m_ulimits.push_back(std::move(value)); return *this; } /** *The user name to use inside the container. This parameter maps to
* User
in the Create a
* container section of the Docker Remote API and the
* --user
option to docker run.
The user name to use inside the container. This parameter maps to
* User
in the Create a
* container section of the Docker Remote API and the
* --user
option to docker run.
The user name to use inside the container. This parameter maps to
* User
in the Create a
* container section of the Docker Remote API and the
* --user
option to docker run.
The user name to use inside the container. This parameter maps to
* User
in the Create a
* container section of the Docker Remote API and the
* --user
option to docker run.
The user name to use inside the container. This parameter maps to
* User
in the Create a
* container section of the Docker Remote API and the
* --user
option to docker run.
The user name to use inside the container. This parameter maps to
* User
in the Create a
* container section of the Docker Remote API and the
* --user
option to docker run.
The user name to use inside the container. This parameter maps to
* User
in the Create a
* container section of the Docker Remote API and the
* --user
option to docker run.
The user name to use inside the container. This parameter maps to
* User
in the Create a
* container section of the Docker Remote API and the
* --user
option to docker run.
The instance type to use for a multi-node parallel job. All node groups in a * multi-node parallel job must use the same instance type.
This * parameter isn't applicable to single-node container jobs or jobs that run on * Fargate resources, and shouldn't be provided.
*/ inline const Aws::String& GetInstanceType() const{ return m_instanceType; } /** *The instance type to use for a multi-node parallel job. All node groups in a * multi-node parallel job must use the same instance type.
This * parameter isn't applicable to single-node container jobs or jobs that run on * Fargate resources, and shouldn't be provided.
*/ inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } /** *The instance type to use for a multi-node parallel job. All node groups in a * multi-node parallel job must use the same instance type.
This * parameter isn't applicable to single-node container jobs or jobs that run on * Fargate resources, and shouldn't be provided.
*/ inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } /** *The instance type to use for a multi-node parallel job. All node groups in a * multi-node parallel job must use the same instance type.
This * parameter isn't applicable to single-node container jobs or jobs that run on * Fargate resources, and shouldn't be provided.
*/ inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } /** *The instance type to use for a multi-node parallel job. All node groups in a * multi-node parallel job must use the same instance type.
This * parameter isn't applicable to single-node container jobs or jobs that run on * Fargate resources, and shouldn't be provided.
*/ inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); } /** *The instance type to use for a multi-node parallel job. All node groups in a * multi-node parallel job must use the same instance type.
This * parameter isn't applicable to single-node container jobs or jobs that run on * Fargate resources, and shouldn't be provided.
*/ inline ContainerProperties& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;} /** *The instance type to use for a multi-node parallel job. All node groups in a * multi-node parallel job must use the same instance type.
This * parameter isn't applicable to single-node container jobs or jobs that run on * Fargate resources, and shouldn't be provided.
*/ inline ContainerProperties& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;} /** *The instance type to use for a multi-node parallel job. All node groups in a * multi-node parallel job must use the same instance type.
This * parameter isn't applicable to single-node container jobs or jobs that run on * Fargate resources, and shouldn't be provided.
*/ inline ContainerProperties& WithInstanceType(const char* value) { SetInstanceType(value); return *this;} /** *The type and amount of resources to assign to a container. The supported
* resources include GPU
, MEMORY
, and
* VCPU
.
The type and amount of resources to assign to a container. The supported
* resources include GPU
, MEMORY
, and
* VCPU
.
The type and amount of resources to assign to a container. The supported
* resources include GPU
, MEMORY
, and
* VCPU
.
The type and amount of resources to assign to a container. The supported
* resources include GPU
, MEMORY
, and
* VCPU
.
The type and amount of resources to assign to a container. The supported
* resources include GPU
, MEMORY
, and
* VCPU
.
The type and amount of resources to assign to a container. The supported
* resources include GPU
, MEMORY
, and
* VCPU
.
The type and amount of resources to assign to a container. The supported
* resources include GPU
, MEMORY
, and
* VCPU
.
The type and amount of resources to assign to a container. The supported
* resources include GPU
, MEMORY
, and
* VCPU
.
Linux-specific modifications that are applied to the container, such as * details for device mappings.
*/ inline const LinuxParameters& GetLinuxParameters() const{ return m_linuxParameters; } /** *Linux-specific modifications that are applied to the container, such as * details for device mappings.
*/ inline bool LinuxParametersHasBeenSet() const { return m_linuxParametersHasBeenSet; } /** *Linux-specific modifications that are applied to the container, such as * details for device mappings.
*/ inline void SetLinuxParameters(const LinuxParameters& value) { m_linuxParametersHasBeenSet = true; m_linuxParameters = value; } /** *Linux-specific modifications that are applied to the container, such as * details for device mappings.
*/ inline void SetLinuxParameters(LinuxParameters&& value) { m_linuxParametersHasBeenSet = true; m_linuxParameters = std::move(value); } /** *Linux-specific modifications that are applied to the container, such as * details for device mappings.
*/ inline ContainerProperties& WithLinuxParameters(const LinuxParameters& value) { SetLinuxParameters(value); return *this;} /** *Linux-specific modifications that are applied to the container, such as * details for device mappings.
*/ inline ContainerProperties& WithLinuxParameters(LinuxParameters&& value) { SetLinuxParameters(std::move(value)); return *this;} /** *The log configuration specification for the container.
This parameter
* maps to LogConfig
in the Create a
* container section of the Docker Remote API and the
* --log-driver
option to docker run. By default,
* containers use the same logging driver that the Docker daemon uses. However the
* container might use a different logging driver than the Docker daemon by
* specifying a log driver with this parameter in the container definition. To use
* a different logging driver for a container, the log system must be configured
* properly on the container instance (or on a different log server for remote
* logging options). For more information on the options for different supported
* log drivers, see Configure logging
* drivers in the Docker documentation.
Batch currently supports * a subset of the logging drivers available to the Docker daemon (shown in the * LogConfiguration data type).
This parameter requires
* version 1.18 of the Docker Remote API or greater on your container instance. To
* check the Docker Remote API version on your container instance, log in to your
* container instance and run the following command: sudo docker version |
* grep "Server API version"
The Amazon ECS container agent
* running on a container instance must register the logging drivers available on
* that instance with the ECS_AVAILABLE_LOGGING_DRIVERS
environment
* variable before containers placed on that instance can use these log
* configuration options. For more information, see Amazon
* ECS container agent configuration in the Amazon Elastic Container Service
* Developer Guide.
The log configuration specification for the container.
This parameter
* maps to LogConfig
in the Create a
* container section of the Docker Remote API and the
* --log-driver
option to docker run. By default,
* containers use the same logging driver that the Docker daemon uses. However the
* container might use a different logging driver than the Docker daemon by
* specifying a log driver with this parameter in the container definition. To use
* a different logging driver for a container, the log system must be configured
* properly on the container instance (or on a different log server for remote
* logging options). For more information on the options for different supported
* log drivers, see Configure logging
* drivers in the Docker documentation.
Batch currently supports * a subset of the logging drivers available to the Docker daemon (shown in the * LogConfiguration data type).
This parameter requires
* version 1.18 of the Docker Remote API or greater on your container instance. To
* check the Docker Remote API version on your container instance, log in to your
* container instance and run the following command: sudo docker version |
* grep "Server API version"
The Amazon ECS container agent
* running on a container instance must register the logging drivers available on
* that instance with the ECS_AVAILABLE_LOGGING_DRIVERS
environment
* variable before containers placed on that instance can use these log
* configuration options. For more information, see Amazon
* ECS container agent configuration in the Amazon Elastic Container Service
* Developer Guide.
The log configuration specification for the container.
This parameter
* maps to LogConfig
in the Create a
* container section of the Docker Remote API and the
* --log-driver
option to docker run. By default,
* containers use the same logging driver that the Docker daemon uses. However the
* container might use a different logging driver than the Docker daemon by
* specifying a log driver with this parameter in the container definition. To use
* a different logging driver for a container, the log system must be configured
* properly on the container instance (or on a different log server for remote
* logging options). For more information on the options for different supported
* log drivers, see Configure logging
* drivers in the Docker documentation.
Batch currently supports * a subset of the logging drivers available to the Docker daemon (shown in the * LogConfiguration data type).
This parameter requires
* version 1.18 of the Docker Remote API or greater on your container instance. To
* check the Docker Remote API version on your container instance, log in to your
* container instance and run the following command: sudo docker version |
* grep "Server API version"
The Amazon ECS container agent
* running on a container instance must register the logging drivers available on
* that instance with the ECS_AVAILABLE_LOGGING_DRIVERS
environment
* variable before containers placed on that instance can use these log
* configuration options. For more information, see Amazon
* ECS container agent configuration in the Amazon Elastic Container Service
* Developer Guide.
The log configuration specification for the container.
This parameter
* maps to LogConfig
in the Create a
* container section of the Docker Remote API and the
* --log-driver
option to docker run. By default,
* containers use the same logging driver that the Docker daemon uses. However the
* container might use a different logging driver than the Docker daemon by
* specifying a log driver with this parameter in the container definition. To use
* a different logging driver for a container, the log system must be configured
* properly on the container instance (or on a different log server for remote
* logging options). For more information on the options for different supported
* log drivers, see Configure logging
* drivers in the Docker documentation.
Batch currently supports * a subset of the logging drivers available to the Docker daemon (shown in the * LogConfiguration data type).
This parameter requires
* version 1.18 of the Docker Remote API or greater on your container instance. To
* check the Docker Remote API version on your container instance, log in to your
* container instance and run the following command: sudo docker version |
* grep "Server API version"
The Amazon ECS container agent
* running on a container instance must register the logging drivers available on
* that instance with the ECS_AVAILABLE_LOGGING_DRIVERS
environment
* variable before containers placed on that instance can use these log
* configuration options. For more information, see Amazon
* ECS container agent configuration in the Amazon Elastic Container Service
* Developer Guide.
The log configuration specification for the container.
This parameter
* maps to LogConfig
in the Create a
* container section of the Docker Remote API and the
* --log-driver
option to docker run. By default,
* containers use the same logging driver that the Docker daemon uses. However the
* container might use a different logging driver than the Docker daemon by
* specifying a log driver with this parameter in the container definition. To use
* a different logging driver for a container, the log system must be configured
* properly on the container instance (or on a different log server for remote
* logging options). For more information on the options for different supported
* log drivers, see Configure logging
* drivers in the Docker documentation.
Batch currently supports * a subset of the logging drivers available to the Docker daemon (shown in the * LogConfiguration data type).
This parameter requires
* version 1.18 of the Docker Remote API or greater on your container instance. To
* check the Docker Remote API version on your container instance, log in to your
* container instance and run the following command: sudo docker version |
* grep "Server API version"
The Amazon ECS container agent
* running on a container instance must register the logging drivers available on
* that instance with the ECS_AVAILABLE_LOGGING_DRIVERS
environment
* variable before containers placed on that instance can use these log
* configuration options. For more information, see Amazon
* ECS container agent configuration in the Amazon Elastic Container Service
* Developer Guide.
The log configuration specification for the container.
This parameter
* maps to LogConfig
in the Create a
* container section of the Docker Remote API and the
* --log-driver
option to docker run. By default,
* containers use the same logging driver that the Docker daemon uses. However the
* container might use a different logging driver than the Docker daemon by
* specifying a log driver with this parameter in the container definition. To use
* a different logging driver for a container, the log system must be configured
* properly on the container instance (or on a different log server for remote
* logging options). For more information on the options for different supported
* log drivers, see Configure logging
* drivers in the Docker documentation.
Batch currently supports * a subset of the logging drivers available to the Docker daemon (shown in the * LogConfiguration data type).
This parameter requires
* version 1.18 of the Docker Remote API or greater on your container instance. To
* check the Docker Remote API version on your container instance, log in to your
* container instance and run the following command: sudo docker version |
* grep "Server API version"
The Amazon ECS container agent
* running on a container instance must register the logging drivers available on
* that instance with the ECS_AVAILABLE_LOGGING_DRIVERS
environment
* variable before containers placed on that instance can use these log
* configuration options. For more information, see Amazon
* ECS container agent configuration in the Amazon Elastic Container Service
* Developer Guide.
The secrets for the container. For more information, see Specifying * sensitive data in the Batch User Guide.
*/ inline const Aws::VectorThe secrets for the container. For more information, see Specifying * sensitive data in the Batch User Guide.
*/ inline bool SecretsHasBeenSet() const { return m_secretsHasBeenSet; } /** *The secrets for the container. For more information, see Specifying * sensitive data in the Batch User Guide.
*/ inline void SetSecrets(const Aws::VectorThe secrets for the container. For more information, see Specifying * sensitive data in the Batch User Guide.
*/ inline void SetSecrets(Aws::VectorThe secrets for the container. For more information, see Specifying * sensitive data in the Batch User Guide.
*/ inline ContainerProperties& WithSecrets(const Aws::VectorThe secrets for the container. For more information, see Specifying * sensitive data in the Batch User Guide.
*/ inline ContainerProperties& WithSecrets(Aws::VectorThe secrets for the container. For more information, see Specifying * sensitive data in the Batch User Guide.
*/ inline ContainerProperties& AddSecrets(const Secret& value) { m_secretsHasBeenSet = true; m_secrets.push_back(value); return *this; } /** *The secrets for the container. For more information, see Specifying * sensitive data in the Batch User Guide.
*/ inline ContainerProperties& AddSecrets(Secret&& value) { m_secretsHasBeenSet = true; m_secrets.push_back(std::move(value)); return *this; } /** *The network configuration for jobs that are running on Fargate resources. * Jobs that are running on EC2 resources must not specify this parameter.
*/ inline const NetworkConfiguration& GetNetworkConfiguration() const{ return m_networkConfiguration; } /** *The network configuration for jobs that are running on Fargate resources. * Jobs that are running on EC2 resources must not specify this parameter.
*/ inline bool NetworkConfigurationHasBeenSet() const { return m_networkConfigurationHasBeenSet; } /** *The network configuration for jobs that are running on Fargate resources. * Jobs that are running on EC2 resources must not specify this parameter.
*/ inline void SetNetworkConfiguration(const NetworkConfiguration& value) { m_networkConfigurationHasBeenSet = true; m_networkConfiguration = value; } /** *The network configuration for jobs that are running on Fargate resources. * Jobs that are running on EC2 resources must not specify this parameter.
*/ inline void SetNetworkConfiguration(NetworkConfiguration&& value) { m_networkConfigurationHasBeenSet = true; m_networkConfiguration = std::move(value); } /** *The network configuration for jobs that are running on Fargate resources. * Jobs that are running on EC2 resources must not specify this parameter.
*/ inline ContainerProperties& WithNetworkConfiguration(const NetworkConfiguration& value) { SetNetworkConfiguration(value); return *this;} /** *The network configuration for jobs that are running on Fargate resources. * Jobs that are running on EC2 resources must not specify this parameter.
*/ inline ContainerProperties& WithNetworkConfiguration(NetworkConfiguration&& value) { SetNetworkConfiguration(std::move(value)); return *this;} /** *The platform configuration for jobs that are running on Fargate resources. * Jobs that are running on EC2 resources must not specify this parameter.
*/ inline const FargatePlatformConfiguration& GetFargatePlatformConfiguration() const{ return m_fargatePlatformConfiguration; } /** *The platform configuration for jobs that are running on Fargate resources. * Jobs that are running on EC2 resources must not specify this parameter.
*/ inline bool FargatePlatformConfigurationHasBeenSet() const { return m_fargatePlatformConfigurationHasBeenSet; } /** *The platform configuration for jobs that are running on Fargate resources. * Jobs that are running on EC2 resources must not specify this parameter.
*/ inline void SetFargatePlatformConfiguration(const FargatePlatformConfiguration& value) { m_fargatePlatformConfigurationHasBeenSet = true; m_fargatePlatformConfiguration = value; } /** *The platform configuration for jobs that are running on Fargate resources. * Jobs that are running on EC2 resources must not specify this parameter.
*/ inline void SetFargatePlatformConfiguration(FargatePlatformConfiguration&& value) { m_fargatePlatformConfigurationHasBeenSet = true; m_fargatePlatformConfiguration = std::move(value); } /** *The platform configuration for jobs that are running on Fargate resources. * Jobs that are running on EC2 resources must not specify this parameter.
*/ inline ContainerProperties& WithFargatePlatformConfiguration(const FargatePlatformConfiguration& value) { SetFargatePlatformConfiguration(value); return *this;} /** *The platform configuration for jobs that are running on Fargate resources. * Jobs that are running on EC2 resources must not specify this parameter.
*/ inline ContainerProperties& WithFargatePlatformConfiguration(FargatePlatformConfiguration&& value) { SetFargatePlatformConfiguration(std::move(value)); return *this;} /** *The amount of ephemeral storage to allocate for the task. This parameter is * used to expand the total amount of ephemeral storage available, beyond the * default amount, for tasks hosted on Fargate.
*/ inline const EphemeralStorage& GetEphemeralStorage() const{ return m_ephemeralStorage; } /** *The amount of ephemeral storage to allocate for the task. This parameter is * used to expand the total amount of ephemeral storage available, beyond the * default amount, for tasks hosted on Fargate.
*/ inline bool EphemeralStorageHasBeenSet() const { return m_ephemeralStorageHasBeenSet; } /** *The amount of ephemeral storage to allocate for the task. This parameter is * used to expand the total amount of ephemeral storage available, beyond the * default amount, for tasks hosted on Fargate.
*/ inline void SetEphemeralStorage(const EphemeralStorage& value) { m_ephemeralStorageHasBeenSet = true; m_ephemeralStorage = value; } /** *The amount of ephemeral storage to allocate for the task. This parameter is * used to expand the total amount of ephemeral storage available, beyond the * default amount, for tasks hosted on Fargate.
*/ inline void SetEphemeralStorage(EphemeralStorage&& value) { m_ephemeralStorageHasBeenSet = true; m_ephemeralStorage = std::move(value); } /** *The amount of ephemeral storage to allocate for the task. This parameter is * used to expand the total amount of ephemeral storage available, beyond the * default amount, for tasks hosted on Fargate.
*/ inline ContainerProperties& WithEphemeralStorage(const EphemeralStorage& value) { SetEphemeralStorage(value); return *this;} /** *The amount of ephemeral storage to allocate for the task. This parameter is * used to expand the total amount of ephemeral storage available, beyond the * default amount, for tasks hosted on Fargate.
*/ inline ContainerProperties& WithEphemeralStorage(EphemeralStorage&& value) { SetEphemeralStorage(std::move(value)); return *this;} inline const RuntimePlatform& GetRuntimePlatform() const{ return m_runtimePlatform; } inline bool RuntimePlatformHasBeenSet() const { return m_runtimePlatformHasBeenSet; } inline void SetRuntimePlatform(const RuntimePlatform& value) { m_runtimePlatformHasBeenSet = true; m_runtimePlatform = value; } inline void SetRuntimePlatform(RuntimePlatform&& value) { m_runtimePlatformHasBeenSet = true; m_runtimePlatform = std::move(value); } inline ContainerProperties& WithRuntimePlatform(const RuntimePlatform& value) { SetRuntimePlatform(value); return *this;} inline ContainerProperties& WithRuntimePlatform(RuntimePlatform&& value) { SetRuntimePlatform(std::move(value)); return *this;} private: Aws::String m_image; bool m_imageHasBeenSet = false; Aws::Vector