Struct aws_sdk_batch::model::resource_requirement::Builder
source · [−]pub struct Builder { /* private fields */ }Expand description
A builder for ResourceRequirement.
Implementations
sourceimpl Builder
impl Builder
sourcepub fn value(self, input: impl Into<String>) -> Self
pub fn value(self, input: impl Into<String>) -> Self
The quantity of the specified resource to reserve for the container. The values vary based on the type specified.
- type="GPU"
-
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.
- type="MEMORY"
-
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
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, 15360, or 16384
-
VCPU= 2 or 4 - value = 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or 30720
-
VCPU= 4
- 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 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
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, and 4- 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
sourcepub fn set_value(self, input: Option<String>) -> Self
pub fn set_value(self, input: Option<String>) -> Self
The quantity of the specified resource to reserve for the container. The values vary based on the type specified.
- type="GPU"
-
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.
- type="MEMORY"
-
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
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, 15360, or 16384
-
VCPU= 2 or 4 - value = 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or 30720
-
VCPU= 4
- 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 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
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, and 4- 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
sourcepub fn type(self, input: ResourceType) -> Self
pub fn type(self, input: ResourceType) -> Self
The type of resource to assign to a container. The supported resources include GPU, MEMORY, and VCPU.
sourcepub fn set_type(self, input: Option<ResourceType>) -> Self
pub fn set_type(self, input: Option<ResourceType>) -> Self
The type of resource to assign to a container. The supported resources include GPU, MEMORY, and VCPU.
sourcepub fn build(self) -> ResourceRequirement
pub fn build(self) -> ResourceRequirement
Consumes the builder and constructs a ResourceRequirement.