class Aws::Batch::Types::ContainerDetail

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

@!attribute [rw] image

The image used to start the container.
@return [String]

@!attribute [rw] 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][1]
section of the [Docker Remote API][2] and the `--cpu-shares` option
to [docker run][3]. 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.

<note markdown="1"> 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`.

 </note>

[1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
[2]: https://docs.docker.com/engine/api/v1.23/
[3]: https://docs.docker.com/engine/reference/run/
@return [Integer]

@!attribute [rw] 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`.
@return [Integer]

@!attribute [rw] command

The command that's passed to the container.
@return [Array<String>]

@!attribute [rw] job_role_arn

The Amazon Resource Name (ARN) associated with the job upon
execution.
@return [String]

@!attribute [rw] execution_role_arn

The Amazon Resource Name (ARN) of the execution role that Batch can
assume. For more information, see [Batch execution IAM role][1] in
the *Batch User Guide*.

[1]: https://docs.aws.amazon.com/batch/latest/userguide/execution-IAM-role.html
@return [String]

@!attribute [rw] volumes

A list of volumes associated with the job.
@return [Array<Types::Volume>]

@!attribute [rw] environment

The environment variables to pass to a container.

<note markdown="1"> Environment variables must not start with `AWS_BATCH`; this naming
convention is reserved for variables that are set by the Batch
service.

 </note>
@return [Array<Types::KeyValuePair>]

@!attribute [rw] mount_points

The mount points for data volumes in your container.
@return [Array<Types::MountPoint>]

@!attribute [rw] readonly_root_filesystem

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][1] section of the [Docker Remote API][2]
and the `--read-only` option to [ `docker run` ][3].

[1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
[2]: https://docs.docker.com/engine/api/v1.23/
[3]: https://docs.docker.com/engine/reference/commandline/run/
@return [Boolean]

@!attribute [rw] ulimits

A list of `ulimit` values to set in the container. This parameter
maps to `Ulimits` in the [Create a container][1] section of the
[Docker Remote API][2] and the `--ulimit` option to [docker run][3].

<note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
resources.

 </note>

[1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
[2]: https://docs.docker.com/engine/api/v1.23/
[3]: https://docs.docker.com/engine/reference/run/
@return [Array<Types::Ulimit>]

@!attribute [rw] 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.

<note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
resources and shouldn't be provided, or specified as false.

 </note>
@return [Boolean]

@!attribute [rw] user

The user name to use inside the container. This parameter maps to
`User` in the [Create a container][1] section of the [Docker Remote
API][2] and the `--user` option to [docker run][3].

[1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
[2]: https://docs.docker.com/engine/api/v1.23/
[3]: https://docs.docker.com/engine/reference/run/
@return [String]

@!attribute [rw] exit_code

The exit code to return upon completion.
@return [Integer]

@!attribute [rw] reason

A short (255 max characters) human-readable string to provide
additional details about a running or stopped container.
@return [String]

@!attribute [rw] container_instance_arn

The Amazon Resource Name (ARN) of the container instance that the
container is running on.
@return [String]

@!attribute [rw] task_arn

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.
@return [String]

@!attribute [rw] log_stream_name

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.
@return [String]

@!attribute [rw] instance_type

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

<note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
resources.

 </note>
@return [String]

@!attribute [rw] network_interfaces

The network interfaces associated with the job.
@return [Array<Types::NetworkInterface>]

@!attribute [rw] resource_requirements

The type and amount of resources to assign to a container. The
supported resources include `GPU`, `MEMORY`, and `VCPU`.
@return [Array<Types::ResourceRequirement>]

@!attribute [rw] linux_parameters

Linux-specific modifications that are applied to the container, such
as details for device mappings.
@return [Types::LinuxParameters]

@!attribute [rw] log_configuration

The log configuration specification for the container.

This parameter maps to `LogConfig` in the [Create a container][1]
section of the [Docker Remote API][2] and the `--log-driver` option
to [docker run][3]. 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][4] in the Docker
documentation.

<note markdown="1"> 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.

 </note>

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"`

<note markdown="1"> 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][5] in the *Amazon Elastic Container Service Developer
Guide*.

 </note>

[1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
[2]: https://docs.docker.com/engine/api/v1.23/
[3]: https://docs.docker.com/engine/reference/run/
[4]: https://docs.docker.com/engine/admin/logging/overview/
[5]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html
@return [Types::LogConfiguration]

@!attribute [rw] secrets

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

[1]: https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html
@return [Array<Types::Secret>]

@!attribute [rw] network_configuration

The network configuration for jobs that are running on Fargate
resources. Jobs that are running on EC2 resources must not specify
this parameter.
@return [Types::NetworkConfiguration]

@!attribute [rw] fargate_platform_configuration

The platform configuration for jobs that are running on Fargate
resources. Jobs that are running on EC2 resources must not specify
this parameter.
@return [Types::FargatePlatformConfiguration]

@see docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ContainerDetail AWS API Documentation

Constants

SENSITIVE