/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Batch { namespace Model { /** *

An object representing the details of a container that is part of a * job.

See Also:

AWS * API Reference

*/ class AWS_BATCH_API ContainerDetail { public: ContainerDetail(); ContainerDetail(Aws::Utils::Json::JsonView jsonValue); ContainerDetail& operator=(Aws::Utils::Json::JsonView jsonValue); 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 allocated for the job.

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

The number of VCPUs allocated for the job.

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

The number of VCPUs allocated for the job.

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

The number of VCPUs allocated for the job.

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

The number of MiB of memory reserved for the job.

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

The number of MiB of memory reserved for the job.

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

The number of MiB of memory reserved for the job.

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

The number of MiB of memory reserved for the job.

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

The command that is passed to the container.

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

The command that is passed to the container.

*/ inline bool CommandHasBeenSet() const { return m_commandHasBeenSet; } /** *

The command that is passed to the container.

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

The command that is passed to the container.

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

The command that is passed to the container.

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

The command that is passed to the container.

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

The command that is passed to the container.

*/ inline ContainerDetail& AddCommand(const Aws::String& value) { m_commandHasBeenSet = true; m_command.push_back(value); return *this; } /** *

The command that is 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 is 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) associated with the job upon execution.

*/ inline const Aws::String& GetJobRoleArn() const{ return m_jobRoleArn; } /** *

The Amazon Resource Name (ARN) associated with the job upon execution.

*/ inline bool JobRoleArnHasBeenSet() const { return m_jobRoleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) associated with the job upon execution.

*/ inline void SetJobRoleArn(const Aws::String& value) { m_jobRoleArnHasBeenSet = true; m_jobRoleArn = value; } /** *

The Amazon Resource Name (ARN) associated with the job upon execution.

*/ inline void SetJobRoleArn(Aws::String&& value) { m_jobRoleArnHasBeenSet = true; m_jobRoleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) associated with the job upon execution.

*/ inline void SetJobRoleArn(const char* value) { m_jobRoleArnHasBeenSet = true; m_jobRoleArn.assign(value); } /** *

The Amazon Resource Name (ARN) associated with the job upon execution.

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

The Amazon Resource Name (ARN) associated with the job upon execution.

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

The Amazon Resource Name (ARN) associated with the job upon execution.

*/ inline ContainerDetail& WithJobRoleArn(const char* value) { SetJobRoleArn(value); return *this;} /** *

A list of volumes associated with the job.

*/ inline const Aws::Vector& GetVolumes() const{ return m_volumes; } /** *

A list of volumes associated with the job.

*/ inline bool VolumesHasBeenSet() const { return m_volumesHasBeenSet; } /** *

A list of volumes associated with the job.

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

A list of volumes associated with the job.

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

A list of volumes associated with the job.

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

A list of volumes associated with the job.

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

A list of volumes associated with the job.

*/ inline ContainerDetail& AddVolumes(const Volume& value) { m_volumesHasBeenSet = true; m_volumes.push_back(value); return *this; } /** *

A list of volumes 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 must not start with AWS_BATCH; this naming convention is * reserved for variables that are set by the AWS Batch service.

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

The environment variables to pass to a container.

Environment * variables must not start with AWS_BATCH; this naming convention is * reserved for variables that are set by the AWS Batch service.

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

The environment variables to pass to a container.

Environment * variables must not start with AWS_BATCH; this naming convention is * reserved for variables that are set by the AWS Batch service.

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

The environment variables to pass to a container.

Environment * variables must not start with AWS_BATCH; this naming convention is * reserved for variables that are set by the AWS Batch service.

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

The environment variables to pass to a container.

Environment * variables must not start with AWS_BATCH; this naming convention is * reserved for variables that are set by the AWS Batch service.

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

The environment variables to pass to a container.

Environment * variables must not start with AWS_BATCH; this naming convention is * reserved for variables that are set by the AWS Batch service.

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

The environment variables to pass to a container.

Environment * variables must not start with AWS_BATCH; this naming convention is * reserved for variables that are set by the AWS Batch service.

*/ 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 must not start with AWS_BATCH; this naming convention is * reserved for variables that are set by the AWS Batch service.

*/ 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.

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

When this parameter is true, the container is given read-only access to its * root file system.

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

When this parameter is true, the container is given read-only access to its * root file system.

*/ 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.

*/ inline ContainerDetail& WithReadonlyRootFilesystem(bool value) { SetReadonlyRootFilesystem(value); return *this;} /** *

A list of ulimit values to set in the container.

*/ inline const Aws::Vector& GetUlimits() const{ return m_ulimits; } /** *

A list of ulimit values to set in the container.

*/ inline bool UlimitsHasBeenSet() const { return m_ulimitsHasBeenSet; } /** *

A list of ulimit values to set in the container.

*/ inline void SetUlimits(const Aws::Vector& value) { m_ulimitsHasBeenSet = true; m_ulimits = value; } /** *

A list of ulimit values to set in the container.

*/ inline void SetUlimits(Aws::Vector&& value) { m_ulimitsHasBeenSet = true; m_ulimits = std::move(value); } /** *

A list of ulimit values to set in the container.

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

A list of ulimit values to set in the container.

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

A list of ulimit values to set in the container.

*/ 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.

*/ 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 privileges on * the host container instance (similar to the root user).

*/ inline bool GetPrivileged() const{ return m_privileged; } /** *

When this parameter is true, the container is given elevated privileges on * the host container instance (similar to the root user).

*/ inline bool PrivilegedHasBeenSet() const { return m_privilegedHasBeenSet; } /** *

When this parameter is true, the container is given elevated privileges on * the host container instance (similar to the root user).

*/ inline void SetPrivileged(bool value) { m_privilegedHasBeenSet = true; m_privileged = value; } /** *

When this parameter is true, the container is given elevated privileges on * the host container instance (similar to the root user).

*/ inline ContainerDetail& WithPrivileged(bool value) { SetPrivileged(value); return *this;} /** *

The user name to use inside the container.

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

The user name to use inside the container.

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

The user name to use inside the container.

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

The user name to use inside the container.

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

The user name to use inside the container.

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

The user name to use inside the container.

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

The user name to use inside the container.

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

The user name to use inside the container.

*/ 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 about 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 about a running or stopped container.

*/ inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; } /** *

A short (255 max characters) human-readable string to provide additional * details about 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 about 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 about 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 about 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 about 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 about a running or stopped container.

*/ inline ContainerDetail& WithReason(const char* value) { SetReason(value); return *this;} /** *

The Amazon Resource Name (ARN) of the container instance on which the * container is running.

*/ inline const Aws::String& GetContainerInstanceArn() const{ return m_containerInstanceArn; } /** *

The Amazon Resource Name (ARN) of the container instance on which the * container is running.

*/ inline bool ContainerInstanceArnHasBeenSet() const { return m_containerInstanceArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the container instance on which the * container is running.

*/ inline void SetContainerInstanceArn(const Aws::String& value) { m_containerInstanceArnHasBeenSet = true; m_containerInstanceArn = value; } /** *

The Amazon Resource Name (ARN) of the container instance on which the * container is running.

*/ inline void SetContainerInstanceArn(Aws::String&& value) { m_containerInstanceArnHasBeenSet = true; m_containerInstanceArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the container instance on which the * container is running.

*/ inline void SetContainerInstanceArn(const char* value) { m_containerInstanceArnHasBeenSet = true; m_containerInstanceArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the container instance on which the * container is running.

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

The Amazon Resource Name (ARN) of the container instance on which the * container is running.

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

The Amazon Resource Name (ARN) of the container instance on which the * container is running.

*/ inline ContainerDetail& WithContainerInstanceArn(const char* value) { SetContainerInstanceArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Amazon ECS task that is 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 is 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 is 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 is 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 is 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 is 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 is 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 is 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 CloudWatch Logs log stream associated with the container. The * log group for AWS 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 CloudWatch Logs log stream associated with the container. The * log group for AWS 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 CloudWatch Logs log stream associated with the container. The * log group for AWS 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 CloudWatch Logs log stream associated with the container. The * log group for AWS 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 CloudWatch Logs log stream associated with the container. The * log group for AWS 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 CloudWatch Logs log stream associated with the container. The * log group for AWS 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 CloudWatch Logs log stream associated with the container. The * log group for AWS 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 CloudWatch Logs log stream associated with the container. The * log group for AWS 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.

*/ inline const Aws::String& GetInstanceType() const{ return m_instanceType; } /** *

The instance type of the underlying host infrastructure of a multi-node * parallel job.

*/ inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } /** *

The instance type of the underlying host infrastructure of a multi-node * parallel job.

*/ 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.

*/ 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.

*/ 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.

*/ 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.

*/ 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.

*/ inline ContainerDetail& WithInstanceType(const char* value) { SetInstanceType(value); return *this;} /** *

The network interfaces associated with the job.

*/ inline const Aws::Vector& GetNetworkInterfaces() const{ return m_networkInterfaces; } /** *

The network interfaces associated with the job.

*/ inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; } /** *

The network interfaces associated with the job.

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

The network interfaces associated with the job.

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

The network interfaces associated with the job.

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

The network interfaces associated with the job.

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

The network interfaces associated with the job.

*/ inline ContainerDetail& AddNetworkInterfaces(const NetworkInterface& value) { m_networkInterfacesHasBeenSet = true; m_networkInterfaces.push_back(value); return *this; } /** *

The network interfaces 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 a resource to assign to a container. Currently, the * only supported resource is GPU.

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

The type and amount of a resource to assign to a container. Currently, the * only supported resource is GPU.

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

The type and amount of a resource to assign to a container. Currently, the * only supported resource is GPU.

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

The type and amount of a resource to assign to a container. Currently, the * only supported resource is GPU.

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

The type and amount of a resource to assign to a container. Currently, the * only supported resource is GPU.

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

The type and amount of a resource to assign to a container. Currently, the * only supported resource is GPU.

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

The type and amount of a resource to assign to a container. Currently, the * only supported resource is GPU.

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

The type and amount of a resource to assign to a container. Currently, the * only supported resource is GPU.

*/ 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;} private: Aws::String m_image; bool m_imageHasBeenSet; int m_vcpus; bool m_vcpusHasBeenSet; int m_memory; bool m_memoryHasBeenSet; Aws::Vector m_command; bool m_commandHasBeenSet; Aws::String m_jobRoleArn; bool m_jobRoleArnHasBeenSet; Aws::Vector m_volumes; bool m_volumesHasBeenSet; Aws::Vector m_environment; bool m_environmentHasBeenSet; Aws::Vector m_mountPoints; bool m_mountPointsHasBeenSet; bool m_readonlyRootFilesystem; bool m_readonlyRootFilesystemHasBeenSet; Aws::Vector m_ulimits; bool m_ulimitsHasBeenSet; bool m_privileged; bool m_privilegedHasBeenSet; Aws::String m_user; bool m_userHasBeenSet; int m_exitCode; bool m_exitCodeHasBeenSet; Aws::String m_reason; bool m_reasonHasBeenSet; Aws::String m_containerInstanceArn; bool m_containerInstanceArnHasBeenSet; Aws::String m_taskArn; bool m_taskArnHasBeenSet; Aws::String m_logStreamName; bool m_logStreamNameHasBeenSet; Aws::String m_instanceType; bool m_instanceTypeHasBeenSet; Aws::Vector m_networkInterfaces; bool m_networkInterfacesHasBeenSet; Aws::Vector m_resourceRequirements; bool m_resourceRequirementsHasBeenSet; LinuxParameters m_linuxParameters; bool m_linuxParametersHasBeenSet; }; } // namespace Model } // namespace Batch } // namespace Aws