Skip to content

Commit 833a3c3

Browse files
author
awstools
committed
feat(client-sagemaker): Amazon Sagemaker supports orchestrating SageMaker HyperPod clusters with Amazon EKS
1 parent 67542d3 commit 833a3c3

18 files changed

+849
-549
lines changed

clients/client-sagemaker/src/commands/CreateAppImageConfigCommand.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client";
55
import { MetadataBearer as __MetadataBearer } from "@smithy/types";
66

77
import { commonParams } from "../endpoint/EndpointParameters";
8-
import { CreateAppImageConfigRequest, CreateAppImageConfigResponse } from "../models/models_0";
8+
import { CreateAppImageConfigRequest, CreateAppImageConfigResponse } from "../models/models_1";
99
import { de_CreateAppImageConfigCommand, se_CreateAppImageConfigCommand } from "../protocols/Aws_json1_1";
1010
import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient";
1111

clients/client-sagemaker/src/commands/CreateArtifactCommand.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client";
55
import { MetadataBearer as __MetadataBearer } from "@smithy/types";
66

77
import { commonParams } from "../endpoint/EndpointParameters";
8-
import { CreateArtifactRequest } from "../models/models_0";
9-
import { CreateArtifactResponse } from "../models/models_1";
8+
import { CreateArtifactRequest, CreateArtifactResponse } from "../models/models_1";
109
import { de_CreateArtifactCommand, se_CreateArtifactCommand } from "../protocols/Aws_json1_1";
1110
import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient";
1211

clients/client-sagemaker/src/commands/CreateClusterCommand.ts

+9
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,9 @@ export interface CreateClusterCommandOutput extends CreateClusterResponse, __Met
5858
* },
5959
* },
6060
* ],
61+
* OnStartDeepHealthChecks: [ // OnStartDeepHealthChecks
62+
* "InstanceStress" || "InstanceConnectivity",
63+
* ],
6164
* },
6265
* ],
6366
* VpcConfig: { // VpcConfig
@@ -74,6 +77,12 @@ export interface CreateClusterCommandOutput extends CreateClusterResponse, __Met
7477
* Value: "STRING_VALUE", // required
7578
* },
7679
* ],
80+
* Orchestrator: { // ClusterOrchestrator
81+
* Eks: { // ClusterOrchestratorEksConfig
82+
* ClusterArn: "STRING_VALUE", // required
83+
* },
84+
* },
85+
* NodeRecovery: "Automatic" || "None",
7786
* };
7887
* const command = new CreateClusterCommand(input);
7988
* const response = await client.send(command);

clients/client-sagemaker/src/commands/CreatePresignedMlflowTrackingServerUrlCommand.ts

+2-4
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,8 @@ import { Command as $Command } from "@smithy/smithy-client";
55
import { MetadataBearer as __MetadataBearer } from "@smithy/types";
66

77
import { commonParams } from "../endpoint/EndpointParameters";
8-
import {
9-
CreatePresignedMlflowTrackingServerUrlRequest,
10-
CreatePresignedMlflowTrackingServerUrlResponse,
11-
} from "../models/models_1";
8+
import { CreatePresignedMlflowTrackingServerUrlRequest } from "../models/models_1";
9+
import { CreatePresignedMlflowTrackingServerUrlResponse } from "../models/models_2";
1210
import {
1311
de_CreatePresignedMlflowTrackingServerUrlCommand,
1412
se_CreatePresignedMlflowTrackingServerUrlCommand,

clients/client-sagemaker/src/commands/CreatePresignedNotebookInstanceUrlCommand.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client";
55
import { MetadataBearer as __MetadataBearer } from "@smithy/types";
66

77
import { commonParams } from "../endpoint/EndpointParameters";
8-
import { CreatePresignedNotebookInstanceUrlInput, CreatePresignedNotebookInstanceUrlOutput } from "../models/models_1";
8+
import { CreatePresignedNotebookInstanceUrlInput, CreatePresignedNotebookInstanceUrlOutput } from "../models/models_2";
99
import {
1010
de_CreatePresignedNotebookInstanceUrlCommand,
1111
se_CreatePresignedNotebookInstanceUrlCommand,

clients/client-sagemaker/src/commands/DescribeClusterCommand.ts

+9
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ export interface DescribeClusterCommandOutput extends DescribeClusterResponse, _
6565
* // },
6666
* // },
6767
* // ],
68+
* // OnStartDeepHealthChecks: [ // OnStartDeepHealthChecks
69+
* // "InstanceStress" || "InstanceConnectivity",
70+
* // ],
6871
* // },
6972
* // ],
7073
* // VpcConfig: { // VpcConfig
@@ -75,6 +78,12 @@ export interface DescribeClusterCommandOutput extends DescribeClusterResponse, _
7578
* // "STRING_VALUE",
7679
* // ],
7780
* // },
81+
* // Orchestrator: { // ClusterOrchestrator
82+
* // Eks: { // ClusterOrchestratorEksConfig
83+
* // ClusterArn: "STRING_VALUE", // required
84+
* // },
85+
* // },
86+
* // NodeRecovery: "Automatic" || "None",
7887
* // };
7988
*
8089
* ```

clients/client-sagemaker/src/commands/DescribeClusterNodeCommand.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ export interface DescribeClusterNodeCommandOutput extends DescribeClusterNodeRes
4747
* // InstanceGroupName: "STRING_VALUE",
4848
* // InstanceId: "STRING_VALUE",
4949
* // InstanceStatus: { // ClusterInstanceStatusDetails
50-
* // Status: "Running" || "Failure" || "Pending" || "ShuttingDown" || "SystemUpdating", // required
50+
* // Status: "Running" || "Failure" || "Pending" || "ShuttingDown" || "SystemUpdating" || "DeepHealthCheckInProgress", // required
5151
* // Message: "STRING_VALUE",
5252
* // },
5353
* // InstanceType: "ml.p4d.24xlarge" || "ml.p4de.24xlarge" || "ml.p5.48xlarge" || "ml.trn1.32xlarge" || "ml.trn1n.32xlarge" || "ml.g5.xlarge" || "ml.g5.2xlarge" || "ml.g5.4xlarge" || "ml.g5.8xlarge" || "ml.g5.12xlarge" || "ml.g5.16xlarge" || "ml.g5.24xlarge" || "ml.g5.48xlarge" || "ml.c5.large" || "ml.c5.xlarge" || "ml.c5.2xlarge" || "ml.c5.4xlarge" || "ml.c5.9xlarge" || "ml.c5.12xlarge" || "ml.c5.18xlarge" || "ml.c5.24xlarge" || "ml.c5n.large" || "ml.c5n.2xlarge" || "ml.c5n.4xlarge" || "ml.c5n.9xlarge" || "ml.c5n.18xlarge" || "ml.m5.large" || "ml.m5.xlarge" || "ml.m5.2xlarge" || "ml.m5.4xlarge" || "ml.m5.8xlarge" || "ml.m5.12xlarge" || "ml.m5.16xlarge" || "ml.m5.24xlarge" || "ml.t3.medium" || "ml.t3.large" || "ml.t3.xlarge" || "ml.t3.2xlarge",

clients/client-sagemaker/src/commands/DescribeMlflowTrackingServerCommand.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client";
55
import { MetadataBearer as __MetadataBearer } from "@smithy/types";
66

77
import { commonParams } from "../endpoint/EndpointParameters";
8-
import { DescribeMlflowTrackingServerRequest, DescribeMlflowTrackingServerResponse } from "../models/models_2";
8+
import { DescribeMlflowTrackingServerRequest, DescribeMlflowTrackingServerResponse } from "../models/models_3";
99
import {
1010
de_DescribeMlflowTrackingServerCommand,
1111
se_DescribeMlflowTrackingServerCommand,

clients/client-sagemaker/src/commands/ListClusterNodesCommand.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export interface ListClusterNodesCommandOutput extends ListClusterNodesResponse,
5757
* // InstanceType: "ml.p4d.24xlarge" || "ml.p4de.24xlarge" || "ml.p5.48xlarge" || "ml.trn1.32xlarge" || "ml.trn1n.32xlarge" || "ml.g5.xlarge" || "ml.g5.2xlarge" || "ml.g5.4xlarge" || "ml.g5.8xlarge" || "ml.g5.12xlarge" || "ml.g5.16xlarge" || "ml.g5.24xlarge" || "ml.g5.48xlarge" || "ml.c5.large" || "ml.c5.xlarge" || "ml.c5.2xlarge" || "ml.c5.4xlarge" || "ml.c5.9xlarge" || "ml.c5.12xlarge" || "ml.c5.18xlarge" || "ml.c5.24xlarge" || "ml.c5n.large" || "ml.c5n.2xlarge" || "ml.c5n.4xlarge" || "ml.c5n.9xlarge" || "ml.c5n.18xlarge" || "ml.m5.large" || "ml.m5.xlarge" || "ml.m5.2xlarge" || "ml.m5.4xlarge" || "ml.m5.8xlarge" || "ml.m5.12xlarge" || "ml.m5.16xlarge" || "ml.m5.24xlarge" || "ml.t3.medium" || "ml.t3.large" || "ml.t3.xlarge" || "ml.t3.2xlarge", // required
5858
* // LaunchTime: new Date("TIMESTAMP"), // required
5959
* // InstanceStatus: { // ClusterInstanceStatusDetails
60-
* // Status: "Running" || "Failure" || "Pending" || "ShuttingDown" || "SystemUpdating", // required
60+
* // Status: "Running" || "Failure" || "Pending" || "ShuttingDown" || "SystemUpdating" || "DeepHealthCheckInProgress", // required
6161
* // Message: "STRING_VALUE",
6262
* // },
6363
* // },

clients/client-sagemaker/src/commands/ListModelCardExportJobsCommand.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client";
55
import { MetadataBearer as __MetadataBearer } from "@smithy/types";
66

77
import { commonParams } from "../endpoint/EndpointParameters";
8-
import { ListModelCardExportJobsRequest, ListModelCardExportJobsResponse } from "../models/models_3";
8+
import { ListModelCardExportJobsRequest, ListModelCardExportJobsResponse } from "../models/models_4";
99
import { de_ListModelCardExportJobsCommand, se_ListModelCardExportJobsCommand } from "../protocols/Aws_json1_1";
1010
import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient";
1111

clients/client-sagemaker/src/commands/UpdateClusterCommand.ts

+4
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,12 @@ export interface UpdateClusterCommandOutput extends UpdateClusterResponse, __Met
5555
* },
5656
* },
5757
* ],
58+
* OnStartDeepHealthChecks: [ // OnStartDeepHealthChecks
59+
* "InstanceStress" || "InstanceConnectivity",
60+
* ],
5861
* },
5962
* ],
63+
* NodeRecovery: "Automatic" || "None",
6064
* };
6165
* const command = new UpdateClusterCommand(input);
6266
* const response = await client.send(command);

clients/client-sagemaker/src/models/models_0.ts

+65-114
Original file line numberDiff line numberDiff line change
@@ -9280,6 +9280,20 @@ export interface ClusterLifeCycleConfig {
92809280
OnCreate: string | undefined;
92819281
}
92829282

9283+
/**
9284+
* @public
9285+
* @enum
9286+
*/
9287+
export const DeepHealthCheckType = {
9288+
INSTANCE_CONNECTIVITY: "InstanceConnectivity",
9289+
INSTANCE_STRESS: "InstanceStress",
9290+
} as const;
9291+
9292+
/**
9293+
* @public
9294+
*/
9295+
export type DeepHealthCheckType = (typeof DeepHealthCheckType)[keyof typeof DeepHealthCheckType];
9296+
92839297
/**
92849298
* <p>Details of an instance group in a SageMaker HyperPod cluster.</p>
92859299
* @public
@@ -9340,6 +9354,12 @@ export interface ClusterInstanceGroupDetails {
93409354
* @public
93419355
*/
93429356
InstanceStorageConfigs?: ClusterInstanceStorageConfig[];
9357+
9358+
/**
9359+
* <p>A flag indicating whether deep health checks should be performed when the cluster instance group is created or updated.</p>
9360+
* @public
9361+
*/
9362+
OnStartDeepHealthChecks?: DeepHealthCheckType[];
93439363
}
93449364

93459365
/**
@@ -9396,6 +9416,12 @@ export interface ClusterInstanceGroupSpecification {
93969416
* @public
93979417
*/
93989418
InstanceStorageConfigs?: ClusterInstanceStorageConfig[];
9419+
9420+
/**
9421+
* <p>A flag indicating whether deep health checks should be performed when the cluster instance group is created or updated.</p>
9422+
* @public
9423+
*/
9424+
OnStartDeepHealthChecks?: DeepHealthCheckType[];
93999425
}
94009426

94019427
/**
@@ -9423,6 +9449,7 @@ export interface ClusterInstancePlacement {
94239449
* @enum
94249450
*/
94259451
export const ClusterInstanceStatus = {
9452+
DEEP_HEALTH_CHECK_IN_PROGRESS: "DeepHealthCheckInProgress",
94269453
FAILURE: "Failure",
94279454
PENDING: "Pending",
94289455
RUNNING: "Running",
@@ -9528,6 +9555,20 @@ export interface ClusterNodeDetails {
95289555
Placement?: ClusterInstancePlacement;
95299556
}
95309557

9558+
/**
9559+
* @public
9560+
* @enum
9561+
*/
9562+
export const ClusterNodeRecovery = {
9563+
AUTOMATIC: "Automatic",
9564+
NONE: "None",
9565+
} as const;
9566+
9567+
/**
9568+
* @public
9569+
*/
9570+
export type ClusterNodeRecovery = (typeof ClusterNodeRecovery)[keyof typeof ClusterNodeRecovery];
9571+
95319572
/**
95329573
* <p>Lists a summary of the properties of an instance (also called a
95339574
* <i>node</i> interchangeably) of a SageMaker HyperPod cluster.</p>
@@ -9565,6 +9606,30 @@ export interface ClusterNodeSummary {
95659606
InstanceStatus: ClusterInstanceStatusDetails | undefined;
95669607
}
95679608

9609+
/**
9610+
* <p>The configuration settings for the Amazon EKS cluster used as the orchestrator for the SageMaker HyperPod cluster.</p>
9611+
* @public
9612+
*/
9613+
export interface ClusterOrchestratorEksConfig {
9614+
/**
9615+
* <p>The Amazon Resource Name (ARN) of the Amazon EKS cluster associated with the SageMaker HyperPod cluster.</p>
9616+
* @public
9617+
*/
9618+
ClusterArn: string | undefined;
9619+
}
9620+
9621+
/**
9622+
* <p>The type of orchestrator used for the SageMaker HyperPod cluster.</p>
9623+
* @public
9624+
*/
9625+
export interface ClusterOrchestrator {
9626+
/**
9627+
* <p>The Amazon EKS cluster used as the orchestrator for the SageMaker HyperPod cluster.</p>
9628+
* @public
9629+
*/
9630+
Eks: ClusterOrchestratorEksConfig | undefined;
9631+
}
9632+
95689633
/**
95699634
* @public
95709635
* @enum
@@ -9682,7 +9747,6 @@ export interface CodeEditorAppSettings {
96829747

96839748
/**
96849749
* <p>Settings that are used to configure and manage the lifecycle of CodeEditor applications.</p>
9685-
* <p></p>
96869750
* @public
96879751
*/
96889752
AppLifecycleManagement?: AppLifecycleManagement;
@@ -11122,116 +11186,3 @@ export interface CreateAppResponse {
1112211186
*/
1112311187
AppArn?: string;
1112411188
}
11125-
11126-
/**
11127-
* <p>Resource being accessed is in use.</p>
11128-
* @public
11129-
*/
11130-
export class ResourceInUse extends __BaseException {
11131-
readonly name: "ResourceInUse" = "ResourceInUse";
11132-
readonly $fault: "client" = "client";
11133-
Message?: string;
11134-
/**
11135-
* @internal
11136-
*/
11137-
constructor(opts: __ExceptionOptionType<ResourceInUse, __BaseException>) {
11138-
super({
11139-
name: "ResourceInUse",
11140-
$fault: "client",
11141-
...opts,
11142-
});
11143-
Object.setPrototypeOf(this, ResourceInUse.prototype);
11144-
this.Message = opts.Message;
11145-
}
11146-
}
11147-
11148-
/**
11149-
* @public
11150-
*/
11151-
export interface CreateAppImageConfigRequest {
11152-
/**
11153-
* <p>The name of the AppImageConfig. Must be unique to your account.</p>
11154-
* @public
11155-
*/
11156-
AppImageConfigName: string | undefined;
11157-
11158-
/**
11159-
* <p>A list of tags to apply to the AppImageConfig.</p>
11160-
* @public
11161-
*/
11162-
Tags?: Tag[];
11163-
11164-
/**
11165-
* <p>The KernelGatewayImageConfig. You can only specify one image kernel in the
11166-
* AppImageConfig API. This kernel will be shown to users before the
11167-
* image starts. Once the image runs, all kernels are visible in JupyterLab.</p>
11168-
* @public
11169-
*/
11170-
KernelGatewayImageConfig?: KernelGatewayImageConfig;
11171-
11172-
/**
11173-
* <p>The <code>JupyterLabAppImageConfig</code>. You can only specify one image kernel in the <code>AppImageConfig</code> API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab.</p>
11174-
* @public
11175-
*/
11176-
JupyterLabAppImageConfig?: JupyterLabAppImageConfig;
11177-
11178-
/**
11179-
* <p>The <code>CodeEditorAppImageConfig</code>. You can only specify one image kernel
11180-
* in the AppImageConfig API. This kernel is shown to users before the image starts.
11181-
* After the image runs, all kernels are visible in Code Editor.</p>
11182-
* @public
11183-
*/
11184-
CodeEditorAppImageConfig?: CodeEditorAppImageConfig;
11185-
}
11186-
11187-
/**
11188-
* @public
11189-
*/
11190-
export interface CreateAppImageConfigResponse {
11191-
/**
11192-
* <p>The ARN of the AppImageConfig.</p>
11193-
* @public
11194-
*/
11195-
AppImageConfigArn?: string;
11196-
}
11197-
11198-
/**
11199-
* @public
11200-
*/
11201-
export interface CreateArtifactRequest {
11202-
/**
11203-
* <p>The name of the artifact. Must be unique to your account in an Amazon Web Services Region.</p>
11204-
* @public
11205-
*/
11206-
ArtifactName?: string;
11207-
11208-
/**
11209-
* <p>The ID, ID type, and URI of the source.</p>
11210-
* @public
11211-
*/
11212-
Source: ArtifactSource | undefined;
11213-
11214-
/**
11215-
* <p>The artifact type.</p>
11216-
* @public
11217-
*/
11218-
ArtifactType: string | undefined;
11219-
11220-
/**
11221-
* <p>A list of properties to add to the artifact.</p>
11222-
* @public
11223-
*/
11224-
Properties?: Record<string, string>;
11225-
11226-
/**
11227-
* <p>Metadata properties of the tracking entity, trial, or trial component.</p>
11228-
* @public
11229-
*/
11230-
MetadataProperties?: MetadataProperties;
11231-
11232-
/**
11233-
* <p>A list of tags to apply to the artifact.</p>
11234-
* @public
11235-
*/
11236-
Tags?: Tag[];
11237-
}

0 commit comments

Comments
 (0)