class Aws::Batch::Types::ContainerOverrides

The overrides that should be sent to a container.

@note When making an API call, you may pass ContainerOverrides

data as a hash:

    {
      vcpus: 1,
      memory: 1,
      command: ["String"],
      instance_type: "String",
      environment: [
        {
          name: "String",
          value: "String",
        },
      ],
      resource_requirements: [
        {
          value: "String", # required
          type: "GPU", # required, accepts GPU, VCPU, MEMORY
        },
      ],
    }

@!attribute [rw] vcpus

This parameter indicates the number of vCPUs reserved for the
container.It overrides the `vcpus` parameter that's set in the job
definition, but doesn't override any vCPU requirement specified in
the `resourceRequirement` structure in the job definition. To
override vCPU requirements that are specified in the
`ResourceRequirement` structure in the job definition,
`ResourceRequirement` must be specified in the `SubmitJob` request,
with `type` set to `VCPU` and `value` set to the new value.

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.

<note markdown="1"> This parameter is supported for jobs that run on EC2 resources, but
isn't supported for jobs that run on Fargate resources. For Fargate
resources, you can only use `resourceRequirement`. For EC2
resources, you can use either this parameter or
`resourceRequirement` but not both.

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

This parameter indicates the amount of memory (in MiB) that's
reserved for the job. It overrides the `memory` parameter set in the
job definition, but doesn't override any memory requirement
specified in the `ResourceRequirement` structure in the job
definition. To override memory requirements that are specified in
the `ResourceRequirement` structure in the job definition,
`ResourceRequirement` must be specified in the `SubmitJob` request,
with `type` set to `MEMORY` and `value` set to the new value.

This parameter is supported for jobs that run on EC2 resources, but
isn't supported for jobs that run on Fargate resources. For these
resources, use `resourceRequirement` instead.
@return [Integer]

@!attribute [rw] command

The command to send to the container that overrides the default
command from the Docker image or the job definition.
@return [Array<String>]

@!attribute [rw] instance_type

The instance type to use for a multi-node parallel job.

<note markdown="1"> This parameter isn't applicable to single-node container jobs or
jobs that run on Fargate resources, and shouldn't be provided.

 </note>
@return [String]

@!attribute [rw] environment

The environment variables to send to the container. You can add new
environment variables, which are added to the container at launch,
or you can override the existing environment variables from the
Docker image or the job definition.

<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] resource_requirements

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

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

Constants

SENSITIVE