@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 Batch can assume.
|
Integer |
exitCode()
The exit code to return upon completion.
|
FargatePlatformConfiguration |
fargatePlatformConfiguration()
The platform configuration for jobs that are running on Fargate resources.
|
<T> Optional<T> |
getValueForField(String fieldName,
Class<T> clazz) |
boolean |
hasCommand()
For responses, this returns true if the service returned a value for the Command property.
|
boolean |
hasEnvironment()
For responses, this returns true if the service returned a value for the Environment property.
|
int |
hashCode() |
boolean |
hasMountPoints()
For responses, this returns true if the service returned a value for the MountPoints property.
|
boolean |
hasNetworkInterfaces()
For responses, this returns true if the service returned a value for the NetworkInterfaces property.
|
boolean |
hasResourceRequirements()
For responses, this returns true if the service returned a value for the ResourceRequirements property.
|
boolean |
hasSecrets()
For responses, this returns true if the service returned a value for the Secrets property.
|
boolean |
hasUlimits()
For responses, this returns true if the service returned a value for the Ulimits property.
|
boolean |
hasVolumes()
For responses, this returns true if the service returned a value for the Volumes property.
|
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
resourceRequirements ,
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 that are 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, wait
copy
public 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 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
.
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
.
public final Integer memory()
For jobs run 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
.
resourceRequirements
, 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()
isEmpty()
method on the property). This is
useful because the SDK will never return a null collection or map, but you may need to differentiate between the
service returning nothing (or null) and the service returning an empty collection or map. For requests, this
returns true if a value for the property was specified in the request builder, and false if a value was not
specified.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.
This method will never return null. If you would like to know whether the service returned this field (so that
you can differentiate between null and empty), you can use the hasCommand()
method.
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 Batch can assume. For more information, see Batch execution IAM role in the Batch User Guide.
public final boolean hasVolumes()
isEmpty()
method on the property). This is
useful because the SDK will never return a null collection or map, but you may need to differentiate between the
service returning nothing (or null) and the service returning an empty collection or map. For requests, this
returns true if a value for the property was specified in the request builder, and false if a value was not
specified.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.
This method will never return null. If you would like to know whether the service returned this field (so that
you can differentiate between null and empty), you can use the hasVolumes()
method.
public final boolean hasEnvironment()
isEmpty()
method on the property).
This is useful because the SDK will never return a null collection or map, but you may need to differentiate
between the service returning nothing (or null) and the service returning an empty collection or map. For
requests, this returns true if a value for the property was specified in the request builder, and false if a
value was not specified.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 Batch service.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that
you can differentiate between null and empty), you can use the hasEnvironment()
method.
Environment variables must not start with AWS_BATCH
; this naming convention is reserved for
variables that are set by the Batch service.
public final boolean hasMountPoints()
isEmpty()
method on the property).
This is useful because the SDK will never return a null collection or map, but you may need to differentiate
between the service returning nothing (or null) and the service returning an empty collection or map. For
requests, this returns true if a value for the property was specified in the request builder, and false if a
value was not specified.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.
This method will never return null. If you would like to know whether the service returned this field (so that
you can differentiate between null and empty), you can use the hasMountPoints()
method.
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()
isEmpty()
method on the property). This is
useful because the SDK will never return a null collection or map, but you may need to differentiate between the
service returning nothing (or null) and the service returning an empty collection or map. For requests, this
returns true if a value for the property was specified in the request builder, and false if a value was not
specified.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 that are running on Fargate resources.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that
you can differentiate between null and empty), you can use the hasUlimits()
method.
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.
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 that are 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 that are 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 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 that are running on Fargate resources.
This parameter isn't applicable to jobs that are running on Fargate resources.
public final boolean hasNetworkInterfaces()
isEmpty()
method on the property).
This is useful because the SDK will never return a null collection or map, but you may need to differentiate
between the service returning nothing (or null) and the service returning an empty collection or map. For
requests, this returns true if a value for the property was specified in the request builder, and false if a
value was not specified.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.
This method will never return null. If you would like to know whether the service returned this field (so that
you can differentiate between null and empty), you can use the hasNetworkInterfaces()
method.
public final boolean hasResourceRequirements()
isEmpty()
method on the property).
This is useful because the SDK will never return a null collection or map, but you may need to differentiate
between the service returning nothing (or null) and the service returning an empty collection or map. For
requests, this returns true if a value for the property was specified in the request builder, and false if a
value was not specified.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.
This method will never return null. If you would like to know whether the service returned this field (so that
you can differentiate between null and empty), you can use the hasResourceRequirements()
method.
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.
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.
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()
isEmpty()
method on the property). This is
useful because the SDK will never return a null collection or map, but you may need to differentiate between the
service returning nothing (or null) and the service returning an empty collection or map. For requests, this
returns true if a value for the property was specified in the request builder, and false if a value was not
specified.public final List<Secret> secrets()
The secrets to pass to the container. For more information, see Specifying sensitive data in the Batch User Guide.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that
you can differentiate between null and empty), you can use the hasSecrets()
method.
public final NetworkConfiguration networkConfiguration()
The network configuration for jobs that are running on Fargate resources. Jobs that are running on EC2 resources must not specify this parameter.
public final FargatePlatformConfiguration fargatePlatformConfiguration()
The platform configuration for jobs that are running on Fargate resources. Jobs that are 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 SdkPojo
public final String toString()
Copyright © 2022. All rights reserved.