#[non_exhaustive]pub struct BatchResourceRequirementBuilder { /* private fields */ }
Expand description
A builder for BatchResourceRequirement
.
Implementations§
Source§impl BatchResourceRequirementBuilder
impl BatchResourceRequirementBuilder
Sourcepub fn type(self, input: BatchResourceRequirementType) -> Self
pub fn type(self, input: BatchResourceRequirementType) -> 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<BatchResourceRequirementType>) -> Self
pub fn set_type(self, input: Option<BatchResourceRequirementType>) -> Self
The type of resource to assign to a container. The supported resources include GPU
, MEMORY
, and VCPU
.
Sourcepub fn get_type(&self) -> &Option<BatchResourceRequirementType>
pub fn get_type(&self) -> &Option<BatchResourceRequirementType>
The type of resource to assign to a container. The supported resources include GPU
, MEMORY
, and VCPU
.
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. 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 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, 4, or 8 - 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
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.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
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, 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
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. 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 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, 4, or 8 - 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
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.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
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, 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
Sourcepub fn get_value(&self) -> &Option<String>
pub fn get_value(&self) -> &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. 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 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, 4, or 8 - 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
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.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
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, 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
Sourcepub fn build(self) -> Result<BatchResourceRequirement, BuildError>
pub fn build(self) -> Result<BatchResourceRequirement, BuildError>
Consumes the builder and constructs a BatchResourceRequirement
.
This method will fail if any of the following fields are not set:
Trait Implementations§
Source§impl Clone for BatchResourceRequirementBuilder
impl Clone for BatchResourceRequirementBuilder
Source§fn clone(&self) -> BatchResourceRequirementBuilder
fn clone(&self) -> BatchResourceRequirementBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Default for BatchResourceRequirementBuilder
impl Default for BatchResourceRequirementBuilder
Source§fn default() -> BatchResourceRequirementBuilder
fn default() -> BatchResourceRequirementBuilder
Source§impl PartialEq for BatchResourceRequirementBuilder
impl PartialEq for BatchResourceRequirementBuilder
Source§fn eq(&self, other: &BatchResourceRequirementBuilder) -> bool
fn eq(&self, other: &BatchResourceRequirementBuilder) -> bool
self
and other
values to be equal, and is used by ==
.impl StructuralPartialEq for BatchResourceRequirementBuilder
Auto Trait Implementations§
impl Freeze for BatchResourceRequirementBuilder
impl RefUnwindSafe for BatchResourceRequirementBuilder
impl Send for BatchResourceRequirementBuilder
impl Sync for BatchResourceRequirementBuilder
impl Unpin for BatchResourceRequirementBuilder
impl UnwindSafe for BatchResourceRequirementBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);