import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { BatchReplaceClusterNodesRequest, BatchReplaceClusterNodesResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link BatchReplaceClusterNodesCommand}. */ export interface BatchReplaceClusterNodesCommandInput extends BatchReplaceClusterNodesRequest { } /** * @public * * The output of {@link BatchReplaceClusterNodesCommand}. */ export interface BatchReplaceClusterNodesCommandOutput extends BatchReplaceClusterNodesResponse, __MetadataBearer { } declare const BatchReplaceClusterNodesCommand_base: { new (input: BatchReplaceClusterNodesCommandInput): import("@smithy/core/client").CommandImpl; new (input: BatchReplaceClusterNodesCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

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.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { SageMakerClient, BatchReplaceClusterNodesCommand } from "@aws-sdk/client-sagemaker"; // ES Modules import * // const { SageMakerClient, BatchReplaceClusterNodesCommand } = require("@aws-sdk/client-sagemaker"); // CommonJS import * // import type { SageMakerClientConfig } from "@aws-sdk/client-sagemaker"; * const config = {}; // type is SageMakerClientConfig * const client = new SageMakerClient(config); * const input = { // BatchReplaceClusterNodesRequest * ClusterName: "STRING_VALUE", // required * NodeIds: [ // ClusterNodeIds * "STRING_VALUE", * ], * NodeLogicalIds: [ // ClusterNodeLogicalIdList * "STRING_VALUE", * ], * }; * const command = new BatchReplaceClusterNodesCommand(input); * const response = await client.send(command); * // { // BatchReplaceClusterNodesResponse * // Successful: [ // ClusterNodeIds * // "STRING_VALUE", * // ], * // Failed: [ // BatchReplaceClusterNodesErrors * // { // BatchReplaceClusterNodesError * // NodeId: "STRING_VALUE", // required * // ErrorCode: "InstanceIdNotFound" || "InvalidInstanceStatus" || "InstanceIdInUse" || "InternalServerError", // required * // Message: "STRING_VALUE", // required * // }, * // ], * // FailedNodeLogicalIds: [ // BatchReplaceClusterNodeLogicalIdsErrors * // { // BatchReplaceClusterNodeLogicalIdsError * // NodeLogicalId: "STRING_VALUE", // required * // ErrorCode: "InstanceIdNotFound" || "InvalidInstanceStatus" || "InstanceIdInUse" || "InternalServerError", // required * // Message: "STRING_VALUE", // required * // }, * // ], * // SuccessfulNodeLogicalIds: [ // ClusterNodeLogicalIdList * // "STRING_VALUE", * // ], * // }; * * ``` * * @param BatchReplaceClusterNodesCommandInput - {@link BatchReplaceClusterNodesCommandInput} * @returns {@link BatchReplaceClusterNodesCommandOutput} * @see {@link BatchReplaceClusterNodesCommandInput} for command's `input` shape. * @see {@link BatchReplaceClusterNodesCommandOutput} for command's `response` shape. * @see {@link SageMakerClientResolvedConfig | config} for SageMakerClient's `config` shape. * * @throws {@link ResourceNotFound} (client fault) *

Resource being access is not found.

* * @throws {@link SageMakerServiceException} *

Base exception class for all service exceptions from SageMaker service.

* * * @public */ export declare class BatchReplaceClusterNodesCommand extends BatchReplaceClusterNodesCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: BatchReplaceClusterNodesRequest; output: BatchReplaceClusterNodesResponse; }; sdk: { input: BatchReplaceClusterNodesCommandInput; output: BatchReplaceClusterNodesCommandOutput; }; }; }