@Generated(value="software.amazon.awssdk:codegen") public final class ContainerDetail extends Object implements SdkPojo, Serializable, ToCopyableBuilder<ContainerDetail.Builder,ContainerDetail>
An object representing the details of a container that's part of a job.
| Modifier and Type | Class and Description |
|---|---|
static interface |
ContainerDetail.Builder |
| Modifier and Type | Method and Description |
|---|---|
static ContainerDetail.Builder |
builder() |
List<String> |
command()
The command that's passed to the container.
|
String |
containerInstanceArn()
The Amazon Resource Name (ARN) of the container instance that the container is running on.
|
List<KeyValuePair> |
environment()
The environment variables to pass to a container.
|
boolean |
equals(Object obj) |
boolean |
equalsBySdkFields(Object obj) |
String |
executionRoleArn()
The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume.
|
Integer |
exitCode()
The exit code to return upon completion.
|
FargatePlatformConfiguration |
fargatePlatformConfiguration()
The platform configuration for jobs running on Fargate resources.
|
<T> Optional<T> |
getValueForField(String fieldName,
Class<T> clazz) |
boolean |
hasCommand()
Returns true if the Command property was specified by the sender (it may be empty), or false if the sender did
not specify the value (it will be empty).
|
boolean |
hasEnvironment()
Returns true if the Environment property was specified by the sender (it may be empty), or false if the sender
did not specify the value (it will be empty).
|
int |
hashCode() |
boolean |
hasMountPoints()
Returns true if the MountPoints property was specified by the sender (it may be empty), or false if the sender
did not specify the value (it will be empty).
|
boolean |
hasNetworkInterfaces()
Returns true if the NetworkInterfaces property was specified by the sender (it may be empty), or false if the
sender did not specify the value (it will be empty).
|
boolean |
hasResourceRequirements()
Returns true if the ResourceRequirements property was specified by the sender (it may be empty), or false if the
sender did not specify the value (it will be empty).
|
boolean |
hasSecrets()
Returns true if the Secrets property was specified by the sender (it may be empty), or false if the sender did
not specify the value (it will be empty).
|
boolean |
hasUlimits()
Returns true if the Ulimits property was specified by the sender (it may be empty), or false if the sender did
not specify the value (it will be empty).
|
boolean |
hasVolumes()
Returns true if the Volumes property was specified by the sender (it may be empty), or false if the sender did
not specify the value (it will be empty).
|
String |
image()
The image used to start the container.
|
String |
instanceType()
The instance type of the underlying host infrastructure of a multi-node parallel job.
|
String |
jobRoleArn()
The Amazon Resource Name (ARN) associated with the job upon execution.
|
LinuxParameters |
linuxParameters()
Linux-specific modifications that are applied to the container, such as details for device mappings.
|
LogConfiguration |
logConfiguration()
The log configuration specification for the container.
|
String |
logStreamName()
The name of the CloudWatch Logs log stream associated with the container.
|
Integer |
memory()
For jobs run on EC2 resources that didn't specify memory requirements using
ResourceRequirement, the
number of MiB of memory reserved for the job. |
List<MountPoint> |
mountPoints()
The mount points for data volumes in your container.
|
NetworkConfiguration |
networkConfiguration()
The network configuration for jobs running on Fargate resources.
|
List<NetworkInterface> |
networkInterfaces()
The network interfaces associated with the job.
|
Boolean |
privileged()
When this parameter is true, the container is given elevated permissions on the host container instance (similar
to the
root user). |
Boolean |
readonlyRootFilesystem()
When this parameter is true, the container is given read-only access to its root file system.
|
String |
reason()
A short (255 max characters) human-readable string to provide additional details about a running or stopped
container.
|
List<ResourceRequirement> |
resourceRequirements()
The type and amount of resources to assign to a container.
|
List<SdkField<?>> |
sdkFields() |
List<Secret> |
secrets()
The secrets to pass to the container.
|
static Class<? extends ContainerDetail.Builder> |
serializableBuilderClass() |
String |
taskArn()
The Amazon Resource Name (ARN) of the Amazon ECS task that's associated with the container job.
|
ContainerDetail.Builder |
toBuilder() |
String |
toString()
Returns a string representation of this object.
|
List<Ulimit> |
ulimits()
A list of
ulimit values to set in the container. |
String |
user()
The user name to use inside the container.
|
Integer |
vcpus()
The number of vCPUs reserved for the container.
|
List<Volume> |
volumes()
A list of volumes associated with the job.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, waitcopypublic final String image()
The image used to start the container.
public final Integer 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 resourceRequirement 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.
resourceRequirements, but you can't specify the vCPU
requirements in both the vcpus and resourceRequirement 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.
public final Integer memory()
For jobs run on EC2 resources that didn't specify memory requirements using ResourceRequirement, the
number of MiB of memory reserved for the job. For other jobs, including all run on Fargate resources, see
resourceRequirements.
ResourceRequirement, the number of MiB of memory reserved for the job. For other jobs,
including all run on Fargate resources, see resourceRequirements.public final boolean hasCommand()
public final List<String> command()
The command that's passed to the container.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
You can use hasCommand() to see if a value was sent in this field.
public final String jobRoleArn()
The Amazon Resource Name (ARN) associated with the job upon execution.
public final String executionRoleArn()
The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. For more information, see AWS Batch execution IAM role in the AWS Batch User Guide.
public final boolean hasVolumes()
public final List<Volume> volumes()
A list of volumes associated with the job.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
You can use hasVolumes() to see if a value was sent in this field.
public final boolean hasEnvironment()
public final List<KeyValuePair> 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.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
You can use hasEnvironment() to see if a value was sent in this field.
Environment variables must not start with AWS_BATCH; this naming convention is reserved for
variables that are set by the AWS Batch service.
public final boolean hasMountPoints()
public final List<MountPoint> mountPoints()
The mount points for data volumes in your container.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
You can use hasMountPoints() to see if a value was sent in this field.
public final Boolean 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 .
ReadonlyRootfs in the Create a container section of the
Docker Remote API and the
--read-only option to
docker run .public final boolean hasUlimits()
public final List<Ulimit> 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 running on Fargate resources.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
You can use hasUlimits() to see if a value was sent in this field.
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 running on Fargate resources.
public final Boolean 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 running on Fargate resources and shouldn't be provided, or specified as false.
root user). The default value is false. This parameter isn't applicable to jobs running on Fargate resources and shouldn't be provided, or specified as false.
public final String 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.
User in the Create a container section of the
Docker Remote API and the --user
option to docker run.public final Integer exitCode()
The exit code to return upon completion.
public final String reason()
A short (255 max characters) human-readable string to provide additional details about a running or stopped container.
public final String containerInstanceArn()
The Amazon Resource Name (ARN) of the container instance that the container is running on.
public final String 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.
STARTING status.public final String 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.
/aws/batch/job. Each container attempt receives a log stream name when they reach
the RUNNING status.public final String instanceType()
The instance type of the underlying host infrastructure of a multi-node parallel job.
This parameter isn't applicable to jobs running on Fargate resources.
This parameter isn't applicable to jobs running on Fargate resources.
public final boolean hasNetworkInterfaces()
public final List<NetworkInterface> networkInterfaces()
The network interfaces associated with the job.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
You can use hasNetworkInterfaces() to see if a value was sent in this field.
public final boolean hasResourceRequirements()
public final List<ResourceRequirement> resourceRequirements()
The type and amount of resources to assign to a container. The supported resources include GPU,
MEMORY, and VCPU.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
You can use hasResourceRequirements() to see if a value was sent in this field.
GPU, MEMORY, and VCPU.public final LinuxParameters linuxParameters()
Linux-specific modifications that are applied to the container, such as details for device mappings.
public final LogConfiguration 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.
AWS 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 into 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.
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.
AWS 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 into 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.
public final boolean hasSecrets()
public final List<Secret> secrets()
The secrets to pass to the container. For more information, see Specifying sensitive data in the AWS Batch User Guide.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
You can use hasSecrets() to see if a value was sent in this field.
public final NetworkConfiguration networkConfiguration()
The network configuration for jobs running on Fargate resources. Jobs running on EC2 resources must not specify this parameter.
public final FargatePlatformConfiguration fargatePlatformConfiguration()
The platform configuration for jobs running on Fargate resources. Jobs running on EC2 resources must not specify this parameter.
public ContainerDetail.Builder toBuilder()
toBuilder in interface ToCopyableBuilder<ContainerDetail.Builder,ContainerDetail>public static ContainerDetail.Builder builder()
public static Class<? extends ContainerDetail.Builder> serializableBuilderClass()
public final boolean equalsBySdkFields(Object obj)
equalsBySdkFields in interface SdkPojopublic final String toString()
Copyright © 2021. All rights reserved.