/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include An object that represents the details of a container that's part of a
* job.See Also:
AWS
* API Reference
The image used to start the container.
*/ inline const Aws::String& GetImage() const{ return m_image; } /** *The image used to start the container.
*/ inline bool ImageHasBeenSet() const { return m_imageHasBeenSet; } /** *The image used to start the container.
*/ inline void SetImage(const Aws::String& value) { m_imageHasBeenSet = true; m_image = value; } /** *The image used to start the container.
*/ inline void SetImage(Aws::String&& value) { m_imageHasBeenSet = true; m_image = std::move(value); } /** *The image used to start the container.
*/ inline void SetImage(const char* value) { m_imageHasBeenSet = true; m_image.assign(value); } /** *The image used to start the container.
*/ inline ContainerDetail& WithImage(const Aws::String& value) { SetImage(value); return *this;} /** *The image used to start the container.
*/ inline ContainerDetail& WithImage(Aws::String&& value) { SetImage(std::move(value)); return *this;} /** *The image used to start the container.
*/ inline ContainerDetail& WithImage(const char* value) { SetImage(value); return *this;} /** *The number of vCPUs reserved for the container. For jobs that run on EC2
* resources, you can specify the vCPU requirement for the job using
* resourceRequirements
, but you can't specify the vCPU requirements
* in both the vcpus
and resourceRequirements
object.
* This parameter maps to CpuShares
in the Create a
* container section of the Docker Remote API and the
* --cpu-shares
option to docker run. Each vCPU
* is equivalent to 1,024 CPU shares. You must specify at least one vCPU. This is
* required but can be specified in several places. It must be specified for each
* node at least once.
This parameter isn't applicable to jobs that
* run on Fargate resources. For jobs that run on Fargate resources, you must
* specify the vCPU requirement for the job using
* resourceRequirements
.
The number of vCPUs reserved for the container. For jobs that run on EC2
* resources, you can specify the vCPU requirement for the job using
* resourceRequirements
, but you can't specify the vCPU requirements
* in both the vcpus
and resourceRequirements
object.
* This parameter maps to CpuShares
in the Create a
* container section of the Docker Remote API and the
* --cpu-shares
option to docker run. Each vCPU
* is equivalent to 1,024 CPU shares. You must specify at least one vCPU. This is
* required but can be specified in several places. It must be specified for each
* node at least once.
This parameter isn't applicable to jobs that
* run on Fargate resources. For jobs that run on Fargate resources, you must
* specify the vCPU requirement for the job using
* resourceRequirements
.
The number of vCPUs reserved for the container. For jobs that run on EC2
* resources, you can specify the vCPU requirement for the job using
* resourceRequirements
, but you can't specify the vCPU requirements
* in both the vcpus
and resourceRequirements
object.
* This parameter maps to CpuShares
in the Create a
* container section of the Docker Remote API and the
* --cpu-shares
option to docker run. Each vCPU
* is equivalent to 1,024 CPU shares. You must specify at least one vCPU. This is
* required but can be specified in several places. It must be specified for each
* node at least once.
This parameter isn't applicable to jobs that
* run on Fargate resources. For jobs that run on Fargate resources, you must
* specify the vCPU requirement for the job using
* resourceRequirements
.
The number of vCPUs reserved for the container. For jobs that run on EC2
* resources, you can specify the vCPU requirement for the job using
* resourceRequirements
, but you can't specify the vCPU requirements
* in both the vcpus
and resourceRequirements
object.
* This parameter maps to CpuShares
in the Create a
* container section of the Docker Remote API and the
* --cpu-shares
option to docker run. Each vCPU
* is equivalent to 1,024 CPU shares. You must specify at least one vCPU. This is
* required but can be specified in several places. It must be specified for each
* node at least once.
This parameter isn't applicable to jobs that
* run on Fargate resources. For jobs that run on Fargate resources, you must
* specify the vCPU requirement for the job using
* resourceRequirements
.
For jobs running on EC2 resources that didn't specify memory requirements
* using resourceRequirements
, the number of MiB of memory reserved
* for the job. For other jobs, including all run on Fargate resources, see
* resourceRequirements
.
For jobs running on EC2 resources that didn't specify memory requirements
* using resourceRequirements
, the number of MiB of memory reserved
* for the job. For other jobs, including all run on Fargate resources, see
* resourceRequirements
.
For jobs running on EC2 resources that didn't specify memory requirements
* using resourceRequirements
, the number of MiB of memory reserved
* for the job. For other jobs, including all run on Fargate resources, see
* resourceRequirements
.
For jobs running on EC2 resources that didn't specify memory requirements
* using resourceRequirements
, the number of MiB of memory reserved
* for the job. For other jobs, including all run on Fargate resources, see
* resourceRequirements
.
The command that's passed to the container.
*/ inline const Aws::VectorThe command that's passed to the container.
*/ inline bool CommandHasBeenSet() const { return m_commandHasBeenSet; } /** *The command that's passed to the container.
*/ inline void SetCommand(const Aws::VectorThe command that's passed to the container.
*/ inline void SetCommand(Aws::VectorThe command that's passed to the container.
*/ inline ContainerDetail& WithCommand(const Aws::VectorThe command that's passed to the container.
*/ inline ContainerDetail& WithCommand(Aws::VectorThe command that's passed to the container.
*/ inline ContainerDetail& AddCommand(const Aws::String& value) { m_commandHasBeenSet = true; m_command.push_back(value); return *this; } /** *The command that's passed to the container.
*/ inline ContainerDetail& AddCommand(Aws::String&& value) { m_commandHasBeenSet = true; m_command.push_back(std::move(value)); return *this; } /** *The command that's passed to the container.
*/ inline ContainerDetail& AddCommand(const char* value) { m_commandHasBeenSet = true; m_command.push_back(value); return *this; } /** *The Amazon Resource Name (ARN) that's associated with the job when run.
*/ inline const Aws::String& GetJobRoleArn() const{ return m_jobRoleArn; } /** *The Amazon Resource Name (ARN) that's associated with the job when run.
*/ inline bool JobRoleArnHasBeenSet() const { return m_jobRoleArnHasBeenSet; } /** *The Amazon Resource Name (ARN) that's associated with the job when run.
*/ inline void SetJobRoleArn(const Aws::String& value) { m_jobRoleArnHasBeenSet = true; m_jobRoleArn = value; } /** *The Amazon Resource Name (ARN) that's associated with the job when run.
*/ inline void SetJobRoleArn(Aws::String&& value) { m_jobRoleArnHasBeenSet = true; m_jobRoleArn = std::move(value); } /** *The Amazon Resource Name (ARN) that's associated with the job when run.
*/ inline void SetJobRoleArn(const char* value) { m_jobRoleArnHasBeenSet = true; m_jobRoleArn.assign(value); } /** *The Amazon Resource Name (ARN) that's associated with the job when run.
*/ inline ContainerDetail& WithJobRoleArn(const Aws::String& value) { SetJobRoleArn(value); return *this;} /** *The Amazon Resource Name (ARN) that's associated with the job when run.
*/ inline ContainerDetail& WithJobRoleArn(Aws::String&& value) { SetJobRoleArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) that's associated with the job when run.
*/ inline ContainerDetail& WithJobRoleArn(const char* value) { SetJobRoleArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the execution role that Batch can assume. * 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 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 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 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 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 more information, see Batch * execution IAM role in the Batch User Guide.
*/ inline ContainerDetail& WithExecutionRoleArn(const Aws::String& value) { SetExecutionRoleArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the execution role that Batch can assume. * For more information, see Batch * execution IAM role in the Batch User Guide.
*/ inline ContainerDetail& WithExecutionRoleArn(Aws::String&& value) { SetExecutionRoleArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the execution role that Batch can assume. * For more information, see Batch * execution IAM role in the Batch User Guide.
*/ inline ContainerDetail& WithExecutionRoleArn(const char* value) { SetExecutionRoleArn(value); return *this;} /** *A list of volumes that are associated with the job.
*/ inline const Aws::VectorA list of volumes that are associated with the job.
*/ inline bool VolumesHasBeenSet() const { return m_volumesHasBeenSet; } /** *A list of volumes that are associated with the job.
*/ inline void SetVolumes(const Aws::VectorA list of volumes that are associated with the job.
*/ inline void SetVolumes(Aws::VectorA list of volumes that are associated with the job.
*/ inline ContainerDetail& WithVolumes(const Aws::VectorA list of volumes that are associated with the job.
*/ inline ContainerDetail& WithVolumes(Aws::VectorA list of volumes that are associated with the job.
*/ inline ContainerDetail& AddVolumes(const Volume& value) { m_volumesHasBeenSet = true; m_volumes.push_back(value); return *this; } /** *A list of volumes that are associated with the job.
*/ inline ContainerDetail& AddVolumes(Volume&& value) { m_volumesHasBeenSet = true; m_volumes.push_back(std::move(value)); return *this; } /** *The environment variables to pass to a container.
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.
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.
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.
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.
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.
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.
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.
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.
*/ inline const Aws::VectorThe mount points for data volumes in your container.
*/ inline bool MountPointsHasBeenSet() const { return m_mountPointsHasBeenSet; } /** *The mount points for data volumes in your container.
*/ inline void SetMountPoints(const Aws::VectorThe mount points for data volumes in your container.
*/ inline void SetMountPoints(Aws::VectorThe mount points for data volumes in your container.
*/ inline ContainerDetail& WithMountPoints(const Aws::VectorThe mount points for data volumes in your container.
*/ inline ContainerDetail& WithMountPoints(Aws::VectorThe mount points for data volumes in your container.
*/ inline ContainerDetail& AddMountPoints(const MountPoint& value) { m_mountPointsHasBeenSet = true; m_mountPoints.push_back(value); return *this; } /** *The mount points for data volumes in your container.
*/ inline ContainerDetail& AddMountPoints(MountPoint&& value) { m_mountPointsHasBeenSet = true; m_mountPoints.push_back(std::move(value)); return *this; } /** *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
.
A list of ulimit
values 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.
*/ inline const Aws::VectorA list of ulimit
values 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.
*/ inline bool UlimitsHasBeenSet() const { return m_ulimitsHasBeenSet; } /** *A list of ulimit
values 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.
*/ inline void SetUlimits(const Aws::VectorA list of ulimit
values 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.
*/ inline void SetUlimits(Aws::VectorA list of ulimit
values 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.
*/ inline ContainerDetail& WithUlimits(const Aws::VectorA list of ulimit
values 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.
*/ inline ContainerDetail& WithUlimits(Aws::VectorA list of ulimit
values 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.
*/ inline ContainerDetail& AddUlimits(const Ulimit& value) { m_ulimitsHasBeenSet = true; m_ulimits.push_back(value); return *this; } /** *A list of ulimit
values 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.
*/ inline ContainerDetail& AddUlimits(Ulimit&& value) { m_ulimitsHasBeenSet = true; m_ulimits.push_back(std::move(value)); return *this; } /** *When this parameter is true, the container is given elevated permissions on
* the host container instance (similar to the root
user). 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
.
When this parameter is true, the container is given elevated permissions on
* the host container instance (similar to the root
user). 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
.
When this parameter is true, the container is given elevated permissions on
* the host container instance (similar to the root
user). 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
.
When this parameter is true, the container is given elevated permissions on
* the host container instance (similar to the root
user). 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
.
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 exit code to return upon completion.
*/ inline int GetExitCode() const{ return m_exitCode; } /** *The exit code to return upon completion.
*/ inline bool ExitCodeHasBeenSet() const { return m_exitCodeHasBeenSet; } /** *The exit code to return upon completion.
*/ inline void SetExitCode(int value) { m_exitCodeHasBeenSet = true; m_exitCode = value; } /** *The exit code to return upon completion.
*/ inline ContainerDetail& WithExitCode(int value) { SetExitCode(value); return *this;} /** *A short (255 max characters) human-readable string to provide additional * details for a running or stopped container.
*/ inline const Aws::String& GetReason() const{ return m_reason; } /** *A short (255 max characters) human-readable string to provide additional * details for a running or stopped container.
*/ inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; } /** *A short (255 max characters) human-readable string to provide additional * details for a running or stopped container.
*/ inline void SetReason(const Aws::String& value) { m_reasonHasBeenSet = true; m_reason = value; } /** *A short (255 max characters) human-readable string to provide additional * details for a running or stopped container.
*/ inline void SetReason(Aws::String&& value) { m_reasonHasBeenSet = true; m_reason = std::move(value); } /** *A short (255 max characters) human-readable string to provide additional * details for a running or stopped container.
*/ inline void SetReason(const char* value) { m_reasonHasBeenSet = true; m_reason.assign(value); } /** *A short (255 max characters) human-readable string to provide additional * details for a running or stopped container.
*/ inline ContainerDetail& WithReason(const Aws::String& value) { SetReason(value); return *this;} /** *A short (255 max characters) human-readable string to provide additional * details for a running or stopped container.
*/ inline ContainerDetail& WithReason(Aws::String&& value) { SetReason(std::move(value)); return *this;} /** *A short (255 max characters) human-readable string to provide additional * details for a running or stopped container.
*/ inline ContainerDetail& WithReason(const char* value) { SetReason(value); return *this;} /** *The Amazon Resource Name (ARN) of the container instance that the container * is running on.
*/ inline const Aws::String& GetContainerInstanceArn() const{ return m_containerInstanceArn; } /** *The Amazon Resource Name (ARN) of the container instance that the container * is running on.
*/ inline bool ContainerInstanceArnHasBeenSet() const { return m_containerInstanceArnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the container instance that the container * is running on.
*/ inline void SetContainerInstanceArn(const Aws::String& value) { m_containerInstanceArnHasBeenSet = true; m_containerInstanceArn = value; } /** *The Amazon Resource Name (ARN) of the container instance that the container * is running on.
*/ inline void SetContainerInstanceArn(Aws::String&& value) { m_containerInstanceArnHasBeenSet = true; m_containerInstanceArn = std::move(value); } /** *The Amazon Resource Name (ARN) of the container instance that the container * is running on.
*/ inline void SetContainerInstanceArn(const char* value) { m_containerInstanceArnHasBeenSet = true; m_containerInstanceArn.assign(value); } /** *The Amazon Resource Name (ARN) of the container instance that the container * is running on.
*/ inline ContainerDetail& WithContainerInstanceArn(const Aws::String& value) { SetContainerInstanceArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the container instance that the container * is running on.
*/ inline ContainerDetail& WithContainerInstanceArn(Aws::String&& value) { SetContainerInstanceArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the container instance that the container * is running on.
*/ inline ContainerDetail& WithContainerInstanceArn(const char* value) { SetContainerInstanceArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the Amazon ECS task that's associated with
* the container job. Each container attempt receives a task ARN when they reach
* the STARTING
status.
The Amazon Resource Name (ARN) of the Amazon ECS task that's associated with
* the container job. Each container attempt receives a task ARN when they reach
* the STARTING
status.
The Amazon Resource Name (ARN) of the Amazon ECS task that's associated with
* the container job. Each container attempt receives a task ARN when they reach
* the STARTING
status.
The Amazon Resource Name (ARN) of the Amazon ECS task that's associated with
* the container job. Each container attempt receives a task ARN when they reach
* the STARTING
status.
The Amazon Resource Name (ARN) of the Amazon ECS task that's associated with
* the container job. Each container attempt receives a task ARN when they reach
* the STARTING
status.
The Amazon Resource Name (ARN) of the Amazon ECS task that's associated with
* the container job. Each container attempt receives a task ARN when they reach
* the STARTING
status.
The Amazon Resource Name (ARN) of the Amazon ECS task that's associated with
* the container job. Each container attempt receives a task ARN when they reach
* the STARTING
status.
The Amazon Resource Name (ARN) of the Amazon ECS task that's associated with
* the container job. Each container attempt receives a task ARN when they reach
* the STARTING
status.
The name of the Amazon CloudWatch Logs log stream that's associated with the
* container. The log group for Batch jobs is /aws/batch/job
. Each
* container attempt receives a log stream name when they reach the
* RUNNING
status.
The name of the Amazon CloudWatch Logs log stream that's associated with the
* container. The log group for Batch jobs is /aws/batch/job
. Each
* container attempt receives a log stream name when they reach the
* RUNNING
status.
The name of the Amazon CloudWatch Logs log stream that's associated with the
* container. The log group for Batch jobs is /aws/batch/job
. Each
* container attempt receives a log stream name when they reach the
* RUNNING
status.
The name of the Amazon CloudWatch Logs log stream that's associated with the
* container. The log group for Batch jobs is /aws/batch/job
. Each
* container attempt receives a log stream name when they reach the
* RUNNING
status.
The name of the Amazon CloudWatch Logs log stream that's associated with the
* container. The log group for Batch jobs is /aws/batch/job
. Each
* container attempt receives a log stream name when they reach the
* RUNNING
status.
The name of the Amazon CloudWatch Logs log stream that's associated with the
* container. The log group for Batch jobs is /aws/batch/job
. Each
* container attempt receives a log stream name when they reach the
* RUNNING
status.
The name of the Amazon CloudWatch Logs log stream that's associated with the
* container. The log group for Batch jobs is /aws/batch/job
. Each
* container attempt receives a log stream name when they reach the
* RUNNING
status.
The name of the Amazon CloudWatch Logs log stream that's associated with the
* container. The log group for Batch jobs is /aws/batch/job
. Each
* container attempt receives a log stream name when they reach the
* RUNNING
status.
The instance type of the underlying host infrastructure of a multi-node * parallel job.
This parameter isn't applicable to jobs that are * running on Fargate resources.
*/ inline const Aws::String& GetInstanceType() const{ return m_instanceType; } /** *The instance type of the underlying host infrastructure of a multi-node * parallel job.
This parameter isn't applicable to jobs that are * running on Fargate resources.
*/ inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } /** *The instance type of the underlying host infrastructure of a multi-node * parallel job.
This parameter isn't applicable to jobs that are * running on Fargate resources.
*/ inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } /** *The instance type of the underlying host infrastructure of a multi-node * parallel job.
This parameter isn't applicable to jobs that are * running on Fargate resources.
*/ inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } /** *The instance type of the underlying host infrastructure of a multi-node * parallel job.
This parameter isn't applicable to jobs that are * running on Fargate resources.
*/ inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); } /** *The instance type of the underlying host infrastructure of a multi-node * parallel job.
This parameter isn't applicable to jobs that are * running on Fargate resources.
*/ inline ContainerDetail& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;} /** *The instance type of the underlying host infrastructure of a multi-node * parallel job.
This parameter isn't applicable to jobs that are * running on Fargate resources.
*/ inline ContainerDetail& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;} /** *The instance type of the underlying host infrastructure of a multi-node * parallel job.
This parameter isn't applicable to jobs that are * running on Fargate resources.
*/ inline ContainerDetail& WithInstanceType(const char* value) { SetInstanceType(value); return *this;} /** *The network interfaces that are associated with the job.
*/ inline const Aws::VectorThe network interfaces that are associated with the job.
*/ inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; } /** *The network interfaces that are associated with the job.
*/ inline void SetNetworkInterfaces(const Aws::VectorThe network interfaces that are associated with the job.
*/ inline void SetNetworkInterfaces(Aws::VectorThe network interfaces that are associated with the job.
*/ inline ContainerDetail& WithNetworkInterfaces(const Aws::VectorThe network interfaces that are associated with the job.
*/ inline ContainerDetail& WithNetworkInterfaces(Aws::VectorThe network interfaces that are associated with the job.
*/ inline ContainerDetail& AddNetworkInterfaces(const NetworkInterface& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(value); return *this; } /** *The network interfaces that are associated with the job.
*/ inline ContainerDetail& AddNetworkInterfaces(NetworkInterface&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(std::move(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 ContainerDetail& WithLinuxParameters(const LinuxParameters& value) { SetLinuxParameters(value); return *this;} /** *Linux-specific modifications that are applied to the container, such as * details for device mappings.
*/ inline ContainerDetail& 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, alternatively, it must be configured 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). Additional log drivers might be available in * future releases of the Amazon ECS container agent.
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, alternatively, it must be configured 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). Additional log drivers might be available in * future releases of the Amazon ECS container agent.
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, alternatively, it must be configured 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). Additional log drivers might be available in * future releases of the Amazon ECS container agent.
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, alternatively, it must be configured 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). Additional log drivers might be available in * future releases of the Amazon ECS container agent.
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, alternatively, it must be configured 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). Additional log drivers might be available in * future releases of the Amazon ECS container agent.
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, alternatively, it must be configured 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). Additional log drivers might be available in * future releases of the Amazon ECS container agent.
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 to pass to the container. For more information, see Specifying * sensitive data in the Batch User Guide.
*/ inline const Aws::VectorThe secrets to pass to the container. For more information, see Specifying * sensitive data in the Batch User Guide.
*/ inline bool SecretsHasBeenSet() const { return m_secretsHasBeenSet; } /** *The secrets to pass to the container. For more information, see Specifying * sensitive data in the Batch User Guide.
*/ inline void SetSecrets(const Aws::VectorThe secrets to pass to the container. For more information, see Specifying * sensitive data in the Batch User Guide.
*/ inline void SetSecrets(Aws::VectorThe secrets to pass to the container. For more information, see Specifying * sensitive data in the Batch User Guide.
*/ inline ContainerDetail& WithSecrets(const Aws::VectorThe secrets to pass to the container. For more information, see Specifying * sensitive data in the Batch User Guide.
*/ inline ContainerDetail& WithSecrets(Aws::VectorThe secrets to pass to the container. For more information, see Specifying * sensitive data in the Batch User Guide.
*/ inline ContainerDetail& AddSecrets(const Secret& value) { m_secretsHasBeenSet = true; m_secrets.push_back(value); return *this; } /** *The secrets to pass to the container. For more information, see Specifying * sensitive data in the Batch User Guide.
*/ inline ContainerDetail& 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 ContainerDetail& 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 ContainerDetail& 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 ContainerDetail& 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 ContainerDetail& WithFargatePlatformConfiguration(FargatePlatformConfiguration&& value) { SetFargatePlatformConfiguration(std::move(value)); return *this;} /** *The amount of ephemeral storage allocated 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 allocated 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 allocated 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 allocated 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 allocated 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 ContainerDetail& WithEphemeralStorage(const EphemeralStorage& value) { SetEphemeralStorage(value); return *this;} /** *The amount of ephemeral storage allocated 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 ContainerDetail& 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 ContainerDetail& WithRuntimePlatform(const RuntimePlatform& value) { SetRuntimePlatform(value); return *this;} inline ContainerDetail& WithRuntimePlatform(RuntimePlatform&& value) { SetRuntimePlatform(std::move(value)); return *this;} private: Aws::String m_image; bool m_imageHasBeenSet = false; int m_vcpus; bool m_vcpusHasBeenSet = false; int m_memory; bool m_memoryHasBeenSet = false; Aws::Vector