#[non_exhaustive]pub struct ClusterInstanceGroupSpecification {
pub instance_count: Option<i32>,
pub instance_group_name: Option<String>,
pub instance_type: Option<ClusterInstanceType>,
pub life_cycle_config: Option<ClusterLifeCycleConfig>,
pub execution_role: Option<String>,
pub threads_per_core: Option<i32>,
pub instance_storage_configs: Option<Vec<ClusterInstanceStorageConfig>>,
pub on_start_deep_health_checks: Option<Vec<DeepHealthCheckType>>,
pub training_plan_arn: Option<String>,
pub override_vpc_config: Option<VpcConfig>,
pub scheduled_update_config: Option<ScheduledUpdateConfig>,
}
Expand description
The specifications of an instance group that you need to define.
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.instance_count: Option<i32>
Specifies the number of instances to add to the instance group of a SageMaker HyperPod cluster.
instance_group_name: Option<String>
Specifies the name of the instance group.
instance_type: Option<ClusterInstanceType>
Specifies the instance type of the instance group.
life_cycle_config: Option<ClusterLifeCycleConfig>
Specifies the LifeCycle configuration for the instance group.
execution_role: Option<String>
Specifies an IAM execution role to be assumed by the instance group.
threads_per_core: Option<i32>
Specifies the value for Threads per core. For instance types that support multithreading, you can specify 1
for disabling multithreading and 2
for enabling multithreading. For instance types that doesn't support multithreading, specify 1
. For more information, see the reference table of CPU cores and threads per CPU core per instance type in the Amazon Elastic Compute Cloud User Guide.
instance_storage_configs: Option<Vec<ClusterInstanceStorageConfig>>
Specifies the additional storage configurations for the instances in the SageMaker HyperPod cluster instance group.
on_start_deep_health_checks: Option<Vec<DeepHealthCheckType>>
A flag indicating whether deep health checks should be performed when the cluster instance group is created or updated.
training_plan_arn: Option<String>
The Amazon Resource Name (ARN); of the training plan to use for this cluster instance group.
For more information about how to reserve GPU capacity for your SageMaker HyperPod clusters using Amazon SageMaker Training Plan, see CreateTrainingPlan
.
override_vpc_config: Option<VpcConfig>
To configure multi-AZ deployments, customize the Amazon VPC configuration at the instance group level. You can specify different subnets and security groups across different AZs in the instance group specification to override a SageMaker HyperPod cluster's default Amazon VPC configuration. For more information about deploying a cluster in multiple AZs, see Setting up SageMaker HyperPod clusters across multiple AZs.
When your Amazon VPC and subnets support IPv6, network communications differ based on the cluster orchestration platform:
-
Slurm-orchestrated clusters automatically configure nodes with dual IPv6 and IPv4 addresses, allowing immediate IPv6 network communications.
-
In Amazon EKS-orchestrated clusters, nodes receive dual-stack addressing, but pods can only use IPv6 when the Amazon EKS cluster is explicitly IPv6-enabled. For information about deploying an IPv6 Amazon EKS cluster, see Amazon EKS IPv6 Cluster Deployment.
Additional resources for IPv6 configuration:
-
For information about adding IPv6 support to your VPC, see to IPv6 Support for VPC.
-
For information about creating a new IPv6-compatible VPC, see Amazon VPC Creation Guide.
-
To configure SageMaker HyperPod with a custom Amazon VPC, see Custom Amazon VPC Setup for SageMaker HyperPod.
scheduled_update_config: Option<ScheduledUpdateConfig>
The configuration object of the schedule that SageMaker uses to update the AMI.
Implementations§
Source§impl ClusterInstanceGroupSpecification
impl ClusterInstanceGroupSpecification
Sourcepub fn instance_count(&self) -> Option<i32>
pub fn instance_count(&self) -> Option<i32>
Specifies the number of instances to add to the instance group of a SageMaker HyperPod cluster.
Sourcepub fn instance_group_name(&self) -> Option<&str>
pub fn instance_group_name(&self) -> Option<&str>
Specifies the name of the instance group.
Sourcepub fn instance_type(&self) -> Option<&ClusterInstanceType>
pub fn instance_type(&self) -> Option<&ClusterInstanceType>
Specifies the instance type of the instance group.
Sourcepub fn life_cycle_config(&self) -> Option<&ClusterLifeCycleConfig>
pub fn life_cycle_config(&self) -> Option<&ClusterLifeCycleConfig>
Specifies the LifeCycle configuration for the instance group.
Sourcepub fn execution_role(&self) -> Option<&str>
pub fn execution_role(&self) -> Option<&str>
Specifies an IAM execution role to be assumed by the instance group.
Sourcepub fn threads_per_core(&self) -> Option<i32>
pub fn threads_per_core(&self) -> Option<i32>
Specifies the value for Threads per core. For instance types that support multithreading, you can specify 1
for disabling multithreading and 2
for enabling multithreading. For instance types that doesn't support multithreading, specify 1
. For more information, see the reference table of CPU cores and threads per CPU core per instance type in the Amazon Elastic Compute Cloud User Guide.
Sourcepub fn instance_storage_configs(&self) -> &[ClusterInstanceStorageConfig]
pub fn instance_storage_configs(&self) -> &[ClusterInstanceStorageConfig]
Specifies the additional storage configurations for the instances in the SageMaker HyperPod cluster instance group.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .instance_storage_configs.is_none()
.
Sourcepub fn on_start_deep_health_checks(&self) -> &[DeepHealthCheckType]
pub fn on_start_deep_health_checks(&self) -> &[DeepHealthCheckType]
A flag indicating whether deep health checks should be performed when the cluster instance group is created or updated.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .on_start_deep_health_checks.is_none()
.
Sourcepub fn training_plan_arn(&self) -> Option<&str>
pub fn training_plan_arn(&self) -> Option<&str>
The Amazon Resource Name (ARN); of the training plan to use for this cluster instance group.
For more information about how to reserve GPU capacity for your SageMaker HyperPod clusters using Amazon SageMaker Training Plan, see CreateTrainingPlan
.
Sourcepub fn override_vpc_config(&self) -> Option<&VpcConfig>
pub fn override_vpc_config(&self) -> Option<&VpcConfig>
To configure multi-AZ deployments, customize the Amazon VPC configuration at the instance group level. You can specify different subnets and security groups across different AZs in the instance group specification to override a SageMaker HyperPod cluster's default Amazon VPC configuration. For more information about deploying a cluster in multiple AZs, see Setting up SageMaker HyperPod clusters across multiple AZs.
When your Amazon VPC and subnets support IPv6, network communications differ based on the cluster orchestration platform:
-
Slurm-orchestrated clusters automatically configure nodes with dual IPv6 and IPv4 addresses, allowing immediate IPv6 network communications.
-
In Amazon EKS-orchestrated clusters, nodes receive dual-stack addressing, but pods can only use IPv6 when the Amazon EKS cluster is explicitly IPv6-enabled. For information about deploying an IPv6 Amazon EKS cluster, see Amazon EKS IPv6 Cluster Deployment.
Additional resources for IPv6 configuration:
-
For information about adding IPv6 support to your VPC, see to IPv6 Support for VPC.
-
For information about creating a new IPv6-compatible VPC, see Amazon VPC Creation Guide.
-
To configure SageMaker HyperPod with a custom Amazon VPC, see Custom Amazon VPC Setup for SageMaker HyperPod.
Sourcepub fn scheduled_update_config(&self) -> Option<&ScheduledUpdateConfig>
pub fn scheduled_update_config(&self) -> Option<&ScheduledUpdateConfig>
The configuration object of the schedule that SageMaker uses to update the AMI.
Source§impl ClusterInstanceGroupSpecification
impl ClusterInstanceGroupSpecification
Sourcepub fn builder() -> ClusterInstanceGroupSpecificationBuilder
pub fn builder() -> ClusterInstanceGroupSpecificationBuilder
Creates a new builder-style object to manufacture ClusterInstanceGroupSpecification
.
Trait Implementations§
Source§impl Clone for ClusterInstanceGroupSpecification
impl Clone for ClusterInstanceGroupSpecification
Source§fn clone(&self) -> ClusterInstanceGroupSpecification
fn clone(&self) -> ClusterInstanceGroupSpecification
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl PartialEq for ClusterInstanceGroupSpecification
impl PartialEq for ClusterInstanceGroupSpecification
Source§fn eq(&self, other: &ClusterInstanceGroupSpecification) -> bool
fn eq(&self, other: &ClusterInstanceGroupSpecification) -> bool
self
and other
values to be equal, and is used by ==
.impl StructuralPartialEq for ClusterInstanceGroupSpecification
Auto Trait Implementations§
impl Freeze for ClusterInstanceGroupSpecification
impl RefUnwindSafe for ClusterInstanceGroupSpecification
impl Send for ClusterInstanceGroupSpecification
impl Sync for ClusterInstanceGroupSpecification
impl Unpin for ClusterInstanceGroupSpecification
impl UnwindSafe for ClusterInstanceGroupSpecification
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);