Struct aws_sdk_batch::model::ResourceRequirement
source · [−]#[non_exhaustive]pub struct ResourceRequirement {
pub value: Option<String>,
pub type: Option<ResourceType>,
}
Expand description
The type and amount of a resource to assign to a container. The supported resources include GPU
, MEMORY
, and VCPU
.
Fields (Non-exhaustive)
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.value: Option<String>
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
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 toMemory
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 theVCPU
values 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
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 theMEMORY
values must be one of the values supported for thatVCPU
value. 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
type: Option<ResourceType>
The type of resource to assign to a container. The supported resources include GPU
, MEMORY
, and VCPU
.
Implementations
sourceimpl ResourceRequirement
impl ResourceRequirement
sourcepub fn value(&self) -> Option<&str>
pub fn value(&self) -> Option<&str>
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
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 toMemory
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 theVCPU
values 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
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 theMEMORY
values must be one of the values supported for thatVCPU
value. 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) -> Option<&ResourceType>
pub fn type(&self) -> Option<&ResourceType>
The type of resource to assign to a container. The supported resources include GPU
, MEMORY
, and VCPU
.
sourceimpl ResourceRequirement
impl ResourceRequirement
sourcepub fn builder() -> Builder
pub fn builder() -> Builder
Creates a new builder-style object to manufacture ResourceRequirement
Trait Implementations
sourceimpl Clone for ResourceRequirement
impl Clone for ResourceRequirement
sourcefn clone(&self) -> ResourceRequirement
fn clone(&self) -> ResourceRequirement
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for ResourceRequirement
impl Debug for ResourceRequirement
sourceimpl PartialEq<ResourceRequirement> for ResourceRequirement
impl PartialEq<ResourceRequirement> for ResourceRequirement
sourcefn eq(&self, other: &ResourceRequirement) -> bool
fn eq(&self, other: &ResourceRequirement) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &ResourceRequirement) -> bool
fn ne(&self, other: &ResourceRequirement) -> bool
This method tests for !=
.
impl StructuralPartialEq for ResourceRequirement
Auto Trait Implementations
impl RefUnwindSafe for ResourceRequirement
impl Send for ResourceRequirement
impl Sync for ResourceRequirement
impl Unpin for ResourceRequirement
impl UnwindSafe for ResourceRequirement
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more