@Generated(value="software.amazon.awssdk:codegen") public final class ResourceRequirement extends Object implements SdkPojo, Serializable, ToCopyableBuilder<ResourceRequirement.Builder,ResourceRequirement>
The type and amount of a resource to assign to a container. The supported resources include GPU
,
MEMORY
, and VCPU
.
Modifier and Type | Class and Description |
---|---|
static interface |
ResourceRequirement.Builder |
Modifier and Type | Method and Description |
---|---|
static ResourceRequirement.Builder |
builder() |
boolean |
equals(Object obj) |
boolean |
equalsBySdkFields(Object obj) |
<T> Optional<T> |
getValueForField(String fieldName,
Class<T> clazz) |
int |
hashCode() |
List<SdkField<?>> |
sdkFields() |
static Class<? extends ResourceRequirement.Builder> |
serializableBuilderClass() |
ResourceRequirement.Builder |
toBuilder() |
String |
toString()
Returns a string representation of this object.
|
ResourceType |
type()
The type of resource to assign to a container.
|
String |
typeAsString()
The type of resource to assign to a container.
|
String |
value()
The quantity of the specified resource to reserve for the container.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
copy
public final String value()
The quantity of the specified resource to reserve for the container. The values vary based on the
type
specified.
The number of physical GPUs to reserve for the container. The number of GPUs reserved for all containers in a job shouldn't exceed the number of available GPUs on the compute resource that the job is launched on.
GPUs are not available for jobs that are running on Fargate resources.
The memory hard limit (in MiB) present to the container. This parameter is supported for jobs that are running on
EC2 resources. If your container attempts to exceed the memory specified, the container is terminated. This
parameter maps to Memory
in the Create a container section of the Docker Remote API and the --memory
option to docker run. You must specify at least 4 MiB of memory
for a job. This is required but can be specified in several places for multi-node parallel (MNP) jobs. It must be
specified for each node at least once. This parameter maps to Memory
in the Create a container section of the Docker Remote API and the --memory
option to docker run.
If you're trying to maximize your resource utilization by providing your jobs as much memory as possible for a particular instance type, see Memory Management in the Batch User Guide.
For jobs that are running on Fargate resources, then value
is the hard limit (in MiB), and must
match one of the supported values and the VCPU
values must be one of the values supported for that
memory value.
VCPU
= 0.25
VCPU
= 0.25 or 0.5
VCPU
= 0.25, 0.5, or 1
VCPU
= 0.5, or 1
VCPU
= 0.5, 1, or 2
VCPU
= 1 or 2
VCPU
= 1, 2, or 4
VCPU
= 2 or 4
VCPU
= 4
The number of vCPUs reserved for the container. 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. For EC2 resources, 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.
For jobs that are running on Fargate resources, then value
must match one of the supported values
and the MEMORY
values must be one of the values supported for that VCPU value. The supported values
are 0.25, 0.5, 1, 2, and 4
MEMORY
= 512, 1024, or 2048
MEMORY
= 1024, 2048, 3072, or 4096
MEMORY
= 2048, 3072, 4096, 5120, 6144, 7168, or 8192
MEMORY
= 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, or 16384
MEMORY
= 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, 16384, 17408, 18432, 19456, 20480,
21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or 30720
type
specified.
The number of physical GPUs to reserve for the container. The number of GPUs reserved for all containers in a job shouldn't exceed the number of available GPUs on the compute resource that the job is launched on.
GPUs are not available for jobs that are running on Fargate resources.
The memory hard limit (in MiB) present to the container. This parameter is supported for jobs that are
running on EC2 resources. If your container attempts to exceed the memory specified, the container is
terminated. This parameter maps to Memory
in the Create a container section of the
Docker Remote API and the --memory
option to docker run. You must specify at
least 4 MiB of memory for a job. This is required but can be specified in several places for multi-node
parallel (MNP) jobs. It must be specified for each node at least once. This parameter maps to
Memory
in the Create
a container section of the Docker Remote API
and the --memory
option to docker
run.
If you're trying to maximize your resource utilization by providing your jobs as much memory as possible for a particular instance type, see Memory Management in the Batch User Guide.
For jobs that are running on Fargate resources, then value
is the hard limit (in MiB), and
must match one of the supported values and the VCPU
values must be one of the values
supported for that memory value.
VCPU
= 0.25
VCPU
= 0.25 or 0.5
VCPU
= 0.25, 0.5, or 1
VCPU
= 0.5, or 1
VCPU
= 0.5, 1, or 2
VCPU
= 1 or 2
VCPU
= 1, 2, or 4
VCPU
= 2 or 4
VCPU
= 4
The number of vCPUs reserved for the container. 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. For EC2 resources, 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.
For jobs that are running on Fargate resources, then value
must match one of the supported
values and the MEMORY
values must be one of the values supported for that VCPU value. The
supported values are 0.25, 0.5, 1, 2, and 4
MEMORY
= 512, 1024, or 2048
MEMORY
= 1024, 2048, 3072, or 4096
MEMORY
= 2048, 3072, 4096, 5120, 6144, 7168, or 8192
MEMORY
= 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, or
16384
MEMORY
= 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, 16384, 17408, 18432, 19456,
20480, 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or 30720
public final ResourceType type()
The type of resource to assign to a container. The supported resources include GPU
,
MEMORY
, and VCPU
.
If the service returns an enum value that is not available in the current SDK version, type
will return
ResourceType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available from
typeAsString()
.
GPU
,
MEMORY
, and VCPU
.ResourceType
public final String typeAsString()
The type of resource to assign to a container. The supported resources include GPU
,
MEMORY
, and VCPU
.
If the service returns an enum value that is not available in the current SDK version, type
will return
ResourceType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available from
typeAsString()
.
GPU
,
MEMORY
, and VCPU
.ResourceType
public ResourceRequirement.Builder toBuilder()
toBuilder
in interface ToCopyableBuilder<ResourceRequirement.Builder,ResourceRequirement>
public static ResourceRequirement.Builder builder()
public static Class<? extends ResourceRequirement.Builder> serializableBuilderClass()
public final boolean equalsBySdkFields(Object obj)
equalsBySdkFields
in interface SdkPojo
public final String toString()
Copyright © 2021. All rights reserved.