Class ResourceRequirement
- java.lang.Object
-
- software.amazon.awssdk.services.batch.model.ResourceRequirement
-
- All Implemented Interfaces:
Serializable,SdkPojo,ToCopyableBuilder<ResourceRequirement.Builder,ResourceRequirement>
@Generated("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, andVCPU.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceResourceRequirement.Builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ResourceRequirement.Builderbuilder()booleanequals(Object obj)booleanequalsBySdkFields(Object obj)<T> Optional<T>getValueForField(String fieldName, Class<T> clazz)inthashCode()Map<String,SdkField<?>>sdkFieldNameToField()List<SdkField<?>>sdkFields()static Class<? extends ResourceRequirement.Builder>serializableBuilderClass()ResourceRequirement.BuildertoBuilder()StringtoString()Returns a string representation of this object.ResourceTypetype()The type of resource to assign to a container.StringtypeAsString()The type of resource to assign to a container.Stringvalue()The quantity of the specified resource to reserve for the container.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
-
-
-
Method Detail
-
value
public final String value()
The quantity of the specified resource to reserve for the container. The values vary based on the
typespecified.- type="GPU"
-
The number of physical GPUs to reserve for the container. Make sure that the number of GPUs reserved for all containers in a job doesn't exceed the number of available GPUs on the compute resource that the job is launched on.
GPUs aren't available for jobs that are running on Fargate resources.
- type="MEMORY"
-
The memory hard limit (in MiB) present to the container. This parameter is supported for jobs that are running on Amazon EC2 resources. If your container attempts to exceed the memory specified, the container is terminated. This parameter maps to
Memoryin the Create a container section of the Docker Remote API and the--memoryoption 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 toMemoryin the Create a container section of the Docker Remote API and the--memoryoption 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
valueis the hard limit (in MiB), and must match one of the supported values and theVCPUvalues must be one of the values supported for that memory value.- value = 512
-
VCPU= 0.25 - value = 1024
-
VCPU= 0.25 or 0.5 - value = 2048
-
VCPU= 0.25, 0.5, or 1 - value = 3072
-
VCPU= 0.5, or 1 - value = 4096
-
VCPU= 0.5, 1, or 2 - value = 5120, 6144, or 7168
-
VCPU= 1 or 2 - value = 8192
-
VCPU= 1, 2, or 4 - value = 9216, 10240, 11264, 12288, 13312, 14336, or 15360
-
VCPU= 2 or 4 - value = 16384
-
VCPU= 2, 4, or 8 - value = 17408, 18432, 19456, 21504, 22528, 23552, 25600, 26624, 27648, 29696, or 30720
-
VCPU= 4 - value = 20480, 24576, or 28672
-
VCPU= 4 or 8 - value = 36864, 45056, 53248, or 61440
-
VCPU= 8 - value = 32768, 40960, 49152, or 57344
-
VCPU= 8 or 16 - value = 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880
-
VCPU= 16
- type="VCPU"
-
The number of vCPUs reserved for the container. This parameter maps to
CpuSharesin the Create a container section of the Docker Remote API and the--cpu-sharesoption to docker run. Each vCPU is equivalent to 1,024 CPU shares. For Amazon 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.The default for the Fargate On-Demand vCPU resource count quota is 6 vCPUs. For more information about Fargate quotas, see Fargate quotas in the Amazon Web Services General Reference.
For jobs that are running on Fargate resources, then
valuemust match one of the supported values and theMEMORYvalues must be one of the values supported for thatVCPUvalue. The supported values are 0.25, 0.5, 1, 2, 4, 8, and 16- value = 0.25
-
MEMORY= 512, 1024, or 2048 - value = 0.5
-
MEMORY= 1024, 2048, 3072, or 4096 - value = 1
-
MEMORY= 2048, 3072, 4096, 5120, 6144, 7168, or 8192 - value = 2
-
MEMORY= 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, or 16384 - value = 4
-
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 - value = 8
-
MEMORY= 16384, 20480, 24576, 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, or 61440 - value = 16
-
MEMORY= 32768, 40960, 49152, 57344, 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880
- Returns:
- The quantity of the specified resource to reserve for the container. The values vary based on the
typespecified.- type="GPU"
-
The number of physical GPUs to reserve for the container. Make sure that the number of GPUs reserved for all containers in a job doesn't exceed the number of available GPUs on the compute resource that the job is launched on.
GPUs aren't available for jobs that are running on Fargate resources.
- type="MEMORY"
-
The memory hard limit (in MiB) present to the container. This parameter is supported for jobs that are running on Amazon EC2 resources. If your container attempts to exceed the memory specified, the container is terminated. This parameter maps to
Memoryin the Create a container section of the Docker Remote API and the--memoryoption 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 toMemoryin the Create a container section of the Docker Remote API and the--memoryoption 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
valueis the hard limit (in MiB), and must match one of the supported values and theVCPUvalues must be one of the values supported for that memory value.- value = 512
-
VCPU= 0.25 - value = 1024
-
VCPU= 0.25 or 0.5 - value = 2048
-
VCPU= 0.25, 0.5, or 1 - value = 3072
-
VCPU= 0.5, or 1 - value = 4096
-
VCPU= 0.5, 1, or 2 - value = 5120, 6144, or 7168
-
VCPU= 1 or 2 - value = 8192
-
VCPU= 1, 2, or 4 - value = 9216, 10240, 11264, 12288, 13312, 14336, or 15360
-
VCPU= 2 or 4 - value = 16384
-
VCPU= 2, 4, or 8 - value = 17408, 18432, 19456, 21504, 22528, 23552, 25600, 26624, 27648, 29696, or 30720
-
VCPU= 4 - value = 20480, 24576, or 28672
-
VCPU= 4 or 8 - value = 36864, 45056, 53248, or 61440
-
VCPU= 8 - value = 32768, 40960, 49152, or 57344
-
VCPU= 8 or 16 - value = 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880
-
VCPU= 16
- type="VCPU"
-
The number of vCPUs reserved for the container. This parameter maps to
CpuSharesin the Create a container section of the Docker Remote API and the--cpu-sharesoption to docker run. Each vCPU is equivalent to 1,024 CPU shares. For Amazon 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.The default for the Fargate On-Demand vCPU resource count quota is 6 vCPUs. For more information about Fargate quotas, see Fargate quotas in the Amazon Web Services General Reference.
For jobs that are running on Fargate resources, then
valuemust match one of the supported values and theMEMORYvalues must be one of the values supported for thatVCPUvalue. The supported values are 0.25, 0.5, 1, 2, 4, 8, and 16- value = 0.25
-
MEMORY= 512, 1024, or 2048 - value = 0.5
-
MEMORY= 1024, 2048, 3072, or 4096 - value = 1
-
MEMORY= 2048, 3072, 4096, 5120, 6144, 7168, or 8192 - value = 2
-
MEMORY= 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, or 16384 - value = 4
-
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 - value = 8
-
MEMORY= 16384, 20480, 24576, 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, or 61440 - value = 16
-
MEMORY= 32768, 40960, 49152, 57344, 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880
-
type
public final ResourceType type()
The type of resource to assign to a container. The supported resources include
GPU,MEMORY, andVCPU.If the service returns an enum value that is not available in the current SDK version,
typewill returnResourceType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available fromtypeAsString().- Returns:
- The type of resource to assign to a container. The supported resources include
GPU,MEMORY, andVCPU. - See Also:
ResourceType
-
typeAsString
public final String typeAsString()
The type of resource to assign to a container. The supported resources include
GPU,MEMORY, andVCPU.If the service returns an enum value that is not available in the current SDK version,
typewill returnResourceType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available fromtypeAsString().- Returns:
- The type of resource to assign to a container. The supported resources include
GPU,MEMORY, andVCPU. - See Also:
ResourceType
-
toBuilder
public ResourceRequirement.Builder toBuilder()
- Specified by:
toBuilderin interfaceToCopyableBuilder<ResourceRequirement.Builder,ResourceRequirement>
-
builder
public static ResourceRequirement.Builder builder()
-
serializableBuilderClass
public static Class<? extends ResourceRequirement.Builder> serializableBuilderClass()
-
equalsBySdkFields
public final boolean equalsBySdkFields(Object obj)
- Specified by:
equalsBySdkFieldsin interfaceSdkPojo
-
toString
public final String toString()
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
-
sdkFieldNameToField
public final Map<String,SdkField<?>> sdkFieldNameToField()
- Specified by:
sdkFieldNameToFieldin interfaceSdkPojo
-
-