/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Batch { namespace Model { /** *

An object that represents the details of a container that's part of a * job.

See Also:

AWS * API Reference

*/ class ContainerDetail { public: AWS_BATCH_API ContainerDetail(); AWS_BATCH_API ContainerDetail(Aws::Utils::Json::JsonView jsonValue); AWS_BATCH_API ContainerDetail& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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.

*/ inline int GetVcpus() const{ return m_vcpus; } /** *

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.

*/ inline bool VcpusHasBeenSet() const { return m_vcpusHasBeenSet; } /** *

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.

*/ inline void SetVcpus(int value) { m_vcpusHasBeenSet = true; m_vcpus = value; } /** *

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.

*/ inline ContainerDetail& WithVcpus(int value) { SetVcpus(value); return *this;} /** *

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.

*/ inline int GetMemory() const{ return m_memory; } /** *

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.

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

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.

*/ inline void SetMemory(int value) { m_memoryHasBeenSet = true; m_memory = value; } /** *

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.

*/ inline ContainerDetail& WithMemory(int value) { SetMemory(value); return *this;} /** *

The command that's passed to the container.

*/ inline const Aws::Vector& GetCommand() const{ return m_command; } /** *

The 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::Vector& value) { m_commandHasBeenSet = true; m_command = value; } /** *

The command that's passed to the container.

*/ inline void SetCommand(Aws::Vector&& value) { m_commandHasBeenSet = true; m_command = std::move(value); } /** *

The command that's passed to the container.

*/ inline ContainerDetail& WithCommand(const Aws::Vector& value) { SetCommand(value); return *this;} /** *

The command that's passed to the container.

*/ inline ContainerDetail& WithCommand(Aws::Vector&& value) { SetCommand(std::move(value)); return *this;} /** *

The 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::Vector& GetVolumes() const{ return m_volumes; } /** *

A 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::Vector& value) { m_volumesHasBeenSet = true; m_volumes = value; } /** *

A list of volumes that are associated with the job.

*/ inline void SetVolumes(Aws::Vector&& value) { m_volumesHasBeenSet = true; m_volumes = std::move(value); } /** *

A list of volumes that are associated with the job.

*/ inline ContainerDetail& WithVolumes(const Aws::Vector& value) { SetVolumes(value); return *this;} /** *

A list of volumes that are associated with the job.

*/ inline ContainerDetail& WithVolumes(Aws::Vector&& value) { SetVolumes(std::move(value)); return *this;} /** *

A 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.

*/ inline const Aws::Vector& GetEnvironment() const{ return m_environment; } /** *

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.

*/ inline bool EnvironmentHasBeenSet() const { return m_environmentHasBeenSet; } /** *

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.

*/ inline void SetEnvironment(const Aws::Vector& value) { m_environmentHasBeenSet = true; m_environment = value; } /** *

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.

*/ inline void SetEnvironment(Aws::Vector&& value) { m_environmentHasBeenSet = true; m_environment = std::move(value); } /** *

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.

*/ inline ContainerDetail& WithEnvironment(const Aws::Vector& value) { SetEnvironment(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.

*/ inline ContainerDetail& WithEnvironment(Aws::Vector&& value) { SetEnvironment(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.

*/ inline ContainerDetail& AddEnvironment(const KeyValuePair& value) { m_environmentHasBeenSet = true; m_environment.push_back(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.

*/ inline ContainerDetail& AddEnvironment(KeyValuePair&& value) { m_environmentHasBeenSet = true; m_environment.push_back(std::move(value)); return *this; } /** *

The mount points for data volumes in your container.

*/ inline const Aws::Vector& GetMountPoints() const{ return m_mountPoints; } /** *

The 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::Vector& value) { m_mountPointsHasBeenSet = true; m_mountPoints = value; } /** *

The mount points for data volumes in your container.

*/ inline void SetMountPoints(Aws::Vector&& value) { m_mountPointsHasBeenSet = true; m_mountPoints = std::move(value); } /** *

The mount points for data volumes in your container.

*/ inline ContainerDetail& WithMountPoints(const Aws::Vector& value) { SetMountPoints(value); return *this;} /** *

The mount points for data volumes in your container.

*/ inline ContainerDetail& WithMountPoints(Aws::Vector&& value) { SetMountPoints(std::move(value)); return *this;} /** *

The 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 .

*/ inline bool GetReadonlyRootFilesystem() const{ return m_readonlyRootFilesystem; } /** *

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 .

*/ inline bool ReadonlyRootFilesystemHasBeenSet() const { return m_readonlyRootFilesystemHasBeenSet; } /** *

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 .

*/ inline void SetReadonlyRootFilesystem(bool value) { m_readonlyRootFilesystemHasBeenSet = true; m_readonlyRootFilesystem = value; } /** *

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 .

*/ inline ContainerDetail& WithReadonlyRootFilesystem(bool value) { SetReadonlyRootFilesystem(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 const Aws::Vector& GetUlimits() const{ return m_ulimits; } /** *

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 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::Vector& value) { m_ulimitsHasBeenSet = true; m_ulimits = value; } /** *

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(Aws::Vector&& value) { m_ulimitsHasBeenSet = true; m_ulimits = std::move(value); } /** *

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& WithUlimits(const Aws::Vector& value) { SetUlimits(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& WithUlimits(Aws::Vector&& value) { SetUlimits(std::move(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(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.

*/ 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). 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). 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). 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 ContainerDetail& WithPrivileged(bool value) { SetPrivileged(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.

*/ inline const Aws::String& GetUser() const{ return m_user; } /** *

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.

*/ inline bool UserHasBeenSet() const { return m_userHasBeenSet; } /** *

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.

*/ inline void SetUser(const Aws::String& value) { m_userHasBeenSet = true; m_user = value; } /** *

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.

*/ inline void SetUser(Aws::String&& value) { m_userHasBeenSet = true; m_user = std::move(value); } /** *

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.

*/ inline void SetUser(const char* value) { m_userHasBeenSet = true; m_user.assign(value); } /** *

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.

*/ inline ContainerDetail& WithUser(const Aws::String& value) { SetUser(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.

*/ inline ContainerDetail& WithUser(Aws::String&& value) { SetUser(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.

*/ inline ContainerDetail& WithUser(const char* value) { SetUser(value); return *this;} /** *

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.

*/ inline const Aws::String& GetTaskArn() const{ return m_taskArn; } /** *

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.

*/ inline bool TaskArnHasBeenSet() const { return m_taskArnHasBeenSet; } /** *

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.

*/ inline void SetTaskArn(const Aws::String& value) { m_taskArnHasBeenSet = true; m_taskArn = value; } /** *

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.

*/ inline void SetTaskArn(Aws::String&& value) { m_taskArnHasBeenSet = true; m_taskArn = std::move(value); } /** *

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.

*/ inline void SetTaskArn(const char* value) { m_taskArnHasBeenSet = true; m_taskArn.assign(value); } /** *

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.

*/ inline ContainerDetail& WithTaskArn(const Aws::String& value) { SetTaskArn(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.

*/ inline ContainerDetail& WithTaskArn(Aws::String&& value) { SetTaskArn(std::move(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.

*/ inline ContainerDetail& WithTaskArn(const char* value) { SetTaskArn(value); return *this;} /** *

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.

*/ inline const Aws::String& GetLogStreamName() const{ return m_logStreamName; } /** *

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.

*/ inline bool LogStreamNameHasBeenSet() const { return m_logStreamNameHasBeenSet; } /** *

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.

*/ inline void SetLogStreamName(const Aws::String& value) { m_logStreamNameHasBeenSet = true; m_logStreamName = value; } /** *

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.

*/ inline void SetLogStreamName(Aws::String&& value) { m_logStreamNameHasBeenSet = true; m_logStreamName = std::move(value); } /** *

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.

*/ inline void SetLogStreamName(const char* value) { m_logStreamNameHasBeenSet = true; m_logStreamName.assign(value); } /** *

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.

*/ inline ContainerDetail& WithLogStreamName(const Aws::String& value) { SetLogStreamName(value); return *this;} /** *

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.

*/ inline ContainerDetail& WithLogStreamName(Aws::String&& value) { SetLogStreamName(std::move(value)); return *this;} /** *

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.

*/ inline ContainerDetail& WithLogStreamName(const char* value) { SetLogStreamName(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 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::Vector& GetNetworkInterfaces() const{ return m_networkInterfaces; } /** *

The 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::Vector& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = value; } /** *

The network interfaces that are associated with the job.

*/ inline void SetNetworkInterfaces(Aws::Vector&& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces = std::move(value); } /** *

The network interfaces that are associated with the job.

*/ inline ContainerDetail& WithNetworkInterfaces(const Aws::Vector& value) { SetNetworkInterfaces(value); return *this;} /** *

The network interfaces that are associated with the job.

*/ inline ContainerDetail& WithNetworkInterfaces(Aws::Vector&& value) { SetNetworkInterfaces(std::move(value)); return *this;} /** *

The 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.

*/ inline const Aws::Vector& GetResourceRequirements() const{ return m_resourceRequirements; } /** *

The type and amount of resources to assign to a container. The supported * resources include GPU, MEMORY, and * VCPU.

*/ inline bool ResourceRequirementsHasBeenSet() const { return m_resourceRequirementsHasBeenSet; } /** *

The type and amount of resources to assign to a container. The supported * resources include GPU, MEMORY, and * VCPU.

*/ inline void SetResourceRequirements(const Aws::Vector& value) { m_resourceRequirementsHasBeenSet = true; m_resourceRequirements = value; } /** *

The type and amount of resources to assign to a container. The supported * resources include GPU, MEMORY, and * VCPU.

*/ inline void SetResourceRequirements(Aws::Vector&& value) { m_resourceRequirementsHasBeenSet = true; m_resourceRequirements = std::move(value); } /** *

The type and amount of resources to assign to a container. The supported * resources include GPU, MEMORY, and * VCPU.

*/ inline ContainerDetail& WithResourceRequirements(const Aws::Vector& value) { SetResourceRequirements(value); return *this;} /** *

The type and amount of resources to assign to a container. The supported * resources include GPU, MEMORY, and * VCPU.

*/ inline ContainerDetail& WithResourceRequirements(Aws::Vector&& value) { SetResourceRequirements(std::move(value)); return *this;} /** *

The type and amount of resources to assign to a container. The supported * resources include GPU, MEMORY, and * VCPU.

*/ inline ContainerDetail& AddResourceRequirements(const ResourceRequirement& value) { m_resourceRequirementsHasBeenSet = true; m_resourceRequirements.push_back(value); return *this; } /** *

The type and amount of resources to assign to a container. The supported * resources include GPU, MEMORY, and * VCPU.

*/ inline ContainerDetail& AddResourceRequirements(ResourceRequirement&& value) { m_resourceRequirementsHasBeenSet = true; m_resourceRequirements.push_back(std::move(value)); return *this; } /** *

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.

*/ inline const LogConfiguration& GetLogConfiguration() const{ return m_logConfiguration; } /** *

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.

*/ inline bool LogConfigurationHasBeenSet() const { return m_logConfigurationHasBeenSet; } /** *

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.

*/ inline void SetLogConfiguration(const LogConfiguration& value) { m_logConfigurationHasBeenSet = true; m_logConfiguration = value; } /** *

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.

*/ inline void SetLogConfiguration(LogConfiguration&& value) { m_logConfigurationHasBeenSet = true; m_logConfiguration = std::move(value); } /** *

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.

*/ inline ContainerDetail& WithLogConfiguration(const LogConfiguration& value) { SetLogConfiguration(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.

*/ inline ContainerDetail& WithLogConfiguration(LogConfiguration&& value) { SetLogConfiguration(std::move(value)); return *this;} /** *

The secrets to pass to the container. For more information, see Specifying * sensitive data in the Batch User Guide.

*/ inline const Aws::Vector& GetSecrets() const{ return m_secrets; } /** *

The 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::Vector& value) { m_secretsHasBeenSet = true; m_secrets = value; } /** *

The secrets to pass to the container. For more information, see Specifying * sensitive data in the Batch User Guide.

*/ inline void SetSecrets(Aws::Vector&& value) { m_secretsHasBeenSet = true; m_secrets = std::move(value); } /** *

The secrets to pass to the container. For more information, see Specifying * sensitive data in the Batch User Guide.

*/ inline ContainerDetail& WithSecrets(const Aws::Vector& value) { SetSecrets(value); return *this;} /** *

The secrets to pass to the container. For more information, see Specifying * sensitive data in the Batch User Guide.

*/ inline ContainerDetail& WithSecrets(Aws::Vector&& value) { SetSecrets(std::move(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(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 m_command; bool m_commandHasBeenSet = false; Aws::String m_jobRoleArn; bool m_jobRoleArnHasBeenSet = false; Aws::String m_executionRoleArn; bool m_executionRoleArnHasBeenSet = false; Aws::Vector m_volumes; bool m_volumesHasBeenSet = false; Aws::Vector m_environment; bool m_environmentHasBeenSet = false; Aws::Vector m_mountPoints; bool m_mountPointsHasBeenSet = false; bool m_readonlyRootFilesystem; bool m_readonlyRootFilesystemHasBeenSet = false; Aws::Vector m_ulimits; bool m_ulimitsHasBeenSet = false; bool m_privileged; bool m_privilegedHasBeenSet = false; Aws::String m_user; bool m_userHasBeenSet = false; int m_exitCode; bool m_exitCodeHasBeenSet = false; Aws::String m_reason; bool m_reasonHasBeenSet = false; Aws::String m_containerInstanceArn; bool m_containerInstanceArnHasBeenSet = false; Aws::String m_taskArn; bool m_taskArnHasBeenSet = false; Aws::String m_logStreamName; bool m_logStreamNameHasBeenSet = false; Aws::String m_instanceType; bool m_instanceTypeHasBeenSet = false; Aws::Vector m_networkInterfaces; bool m_networkInterfacesHasBeenSet = false; Aws::Vector m_resourceRequirements; bool m_resourceRequirementsHasBeenSet = false; LinuxParameters m_linuxParameters; bool m_linuxParametersHasBeenSet = false; LogConfiguration m_logConfiguration; bool m_logConfigurationHasBeenSet = false; Aws::Vector m_secrets; bool m_secretsHasBeenSet = false; NetworkConfiguration m_networkConfiguration; bool m_networkConfigurationHasBeenSet = false; FargatePlatformConfiguration m_fargatePlatformConfiguration; bool m_fargatePlatformConfigurationHasBeenSet = false; EphemeralStorage m_ephemeralStorage; bool m_ephemeralStorageHasBeenSet = false; RuntimePlatform m_runtimePlatform; bool m_runtimePlatformHasBeenSet = false; }; } // namespace Model } // namespace Batch } // namespace Aws