pub struct BatchReplaceClusterNodesFluentBuilder { /* private fields */ }Expand description
Fluent builder constructing a request to BatchReplaceClusterNodes.
Replaces specific nodes within a SageMaker HyperPod cluster with new hardware. BatchReplaceClusterNodes terminates the specified instances and provisions new replacement instances with the same configuration but fresh hardware. The Amazon Machine Image (AMI) and instance configuration remain the same.
This operation is useful for recovering from hardware failures or persistent issues that cannot be resolved through a reboot.
-
Data Loss Warning: Replacing nodes destroys all instance volumes, including both root and secondary volumes. All data stored on these volumes will be permanently lost and cannot be recovered.
-
To safeguard your work, back up your data to Amazon S3 or an FSx for Lustre file system before invoking the API on a worker node group. This will help prevent any potential data loss from the instance root volume. For more information about backup, see Use the backup script provided by SageMaker HyperPod.
-
If you want to invoke this API on an existing cluster, you'll first need to patch the cluster by running the UpdateClusterSoftware API. For more information about patching a cluster, see Update the SageMaker HyperPod platform software of a cluster.
-
You can replace up to 25 nodes in a single request.
Implementations§
Source§impl BatchReplaceClusterNodesFluentBuilder
impl BatchReplaceClusterNodesFluentBuilder
Sourcepub fn as_input(&self) -> &BatchReplaceClusterNodesInputBuilder
pub fn as_input(&self) -> &BatchReplaceClusterNodesInputBuilder
Access the BatchReplaceClusterNodes as a reference.
Sourcepub async fn send(
self,
) -> Result<BatchReplaceClusterNodesOutput, SdkError<BatchReplaceClusterNodesError, HttpResponse>>
pub async fn send( self, ) -> Result<BatchReplaceClusterNodesOutput, SdkError<BatchReplaceClusterNodesError, HttpResponse>>
Sends the request and returns the response.
If an error occurs, an SdkError will be returned with additional details that
can be matched against.
By default, any retryable failures will be retried twice. Retry behavior is configurable with the RetryConfig, which can be set when configuring the client.
Sourcepub fn customize(
self,
) -> CustomizableOperation<BatchReplaceClusterNodesOutput, BatchReplaceClusterNodesError, Self>
pub fn customize( self, ) -> CustomizableOperation<BatchReplaceClusterNodesOutput, BatchReplaceClusterNodesError, Self>
Consumes this builder, creating a customizable operation that can be modified before being sent.
Sourcepub fn cluster_name(self, input: impl Into<String>) -> Self
pub fn cluster_name(self, input: impl Into<String>) -> Self
The name or Amazon Resource Name (ARN) of the SageMaker HyperPod cluster containing the nodes to replace.
Sourcepub fn set_cluster_name(self, input: Option<String>) -> Self
pub fn set_cluster_name(self, input: Option<String>) -> Self
The name or Amazon Resource Name (ARN) of the SageMaker HyperPod cluster containing the nodes to replace.
Sourcepub fn get_cluster_name(&self) -> &Option<String>
pub fn get_cluster_name(&self) -> &Option<String>
The name or Amazon Resource Name (ARN) of the SageMaker HyperPod cluster containing the nodes to replace.
Sourcepub fn node_ids(self, input: impl Into<String>) -> Self
pub fn node_ids(self, input: impl Into<String>) -> Self
Appends an item to NodeIds.
To override the contents of this collection use set_node_ids.
A list of EC2 instance IDs to replace with new hardware. You can specify between 1 and 25 instance IDs.
Replace operations destroy all instance volumes (root and secondary). Ensure you have backed up any important data before proceeding.
-
Either
NodeIdsorNodeLogicalIdsmust be provided (or both), but at least one is required. -
Each instance ID must follow the pattern
i-followed by 17 hexadecimal characters (for example,i-0123456789abcdef0). -
For SageMaker HyperPod clusters using the Slurm workload manager, you cannot replace instances that are configured as Slurm controller nodes.
Sourcepub fn set_node_ids(self, input: Option<Vec<String>>) -> Self
pub fn set_node_ids(self, input: Option<Vec<String>>) -> Self
A list of EC2 instance IDs to replace with new hardware. You can specify between 1 and 25 instance IDs.
Replace operations destroy all instance volumes (root and secondary). Ensure you have backed up any important data before proceeding.
-
Either
NodeIdsorNodeLogicalIdsmust be provided (or both), but at least one is required. -
Each instance ID must follow the pattern
i-followed by 17 hexadecimal characters (for example,i-0123456789abcdef0). -
For SageMaker HyperPod clusters using the Slurm workload manager, you cannot replace instances that are configured as Slurm controller nodes.
Sourcepub fn get_node_ids(&self) -> &Option<Vec<String>>
pub fn get_node_ids(&self) -> &Option<Vec<String>>
A list of EC2 instance IDs to replace with new hardware. You can specify between 1 and 25 instance IDs.
Replace operations destroy all instance volumes (root and secondary). Ensure you have backed up any important data before proceeding.
-
Either
NodeIdsorNodeLogicalIdsmust be provided (or both), but at least one is required. -
Each instance ID must follow the pattern
i-followed by 17 hexadecimal characters (for example,i-0123456789abcdef0). -
For SageMaker HyperPod clusters using the Slurm workload manager, you cannot replace instances that are configured as Slurm controller nodes.
Sourcepub fn node_logical_ids(self, input: impl Into<String>) -> Self
pub fn node_logical_ids(self, input: impl Into<String>) -> Self
Appends an item to NodeLogicalIds.
To override the contents of this collection use set_node_logical_ids.
A list of logical node IDs to replace with new hardware. You can specify between 1 and 25 logical node IDs.
The NodeLogicalId is a unique identifier that persists throughout the node's lifecycle and can be used to track nodes that are still being provisioned and don't yet have an EC2 instance ID assigned.
-
Replace operations destroy all instance volumes (root and secondary). Ensure you have backed up any important data before proceeding.
-
This parameter is only supported for clusters using
Continuousas theNodeProvisioningMode. For clusters using the default provisioning mode, useNodeIdsinstead. -
Either
NodeIdsorNodeLogicalIdsmust be provided (or both), but at least one is required.
Sourcepub fn set_node_logical_ids(self, input: Option<Vec<String>>) -> Self
pub fn set_node_logical_ids(self, input: Option<Vec<String>>) -> Self
A list of logical node IDs to replace with new hardware. You can specify between 1 and 25 logical node IDs.
The NodeLogicalId is a unique identifier that persists throughout the node's lifecycle and can be used to track nodes that are still being provisioned and don't yet have an EC2 instance ID assigned.
-
Replace operations destroy all instance volumes (root and secondary). Ensure you have backed up any important data before proceeding.
-
This parameter is only supported for clusters using
Continuousas theNodeProvisioningMode. For clusters using the default provisioning mode, useNodeIdsinstead. -
Either
NodeIdsorNodeLogicalIdsmust be provided (or both), but at least one is required.
Sourcepub fn get_node_logical_ids(&self) -> &Option<Vec<String>>
pub fn get_node_logical_ids(&self) -> &Option<Vec<String>>
A list of logical node IDs to replace with new hardware. You can specify between 1 and 25 logical node IDs.
The NodeLogicalId is a unique identifier that persists throughout the node's lifecycle and can be used to track nodes that are still being provisioned and don't yet have an EC2 instance ID assigned.
-
Replace operations destroy all instance volumes (root and secondary). Ensure you have backed up any important data before proceeding.
-
This parameter is only supported for clusters using
Continuousas theNodeProvisioningMode. For clusters using the default provisioning mode, useNodeIdsinstead. -
Either
NodeIdsorNodeLogicalIdsmust be provided (or both), but at least one is required.
Trait Implementations§
Source§impl Clone for BatchReplaceClusterNodesFluentBuilder
impl Clone for BatchReplaceClusterNodesFluentBuilder
Source§fn clone(&self) -> BatchReplaceClusterNodesFluentBuilder
fn clone(&self) -> BatchReplaceClusterNodesFluentBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for BatchReplaceClusterNodesFluentBuilder
impl !RefUnwindSafe for BatchReplaceClusterNodesFluentBuilder
impl Send for BatchReplaceClusterNodesFluentBuilder
impl Sync for BatchReplaceClusterNodesFluentBuilder
impl Unpin for BatchReplaceClusterNodesFluentBuilder
impl !UnwindSafe for BatchReplaceClusterNodesFluentBuilder
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);