From 833a3c388e7b2785ea5961a7cac3870b468b0cb8 Mon Sep 17 00:00:00 2001 From: awstools Date: Mon, 9 Sep 2024 18:17:41 +0000 Subject: [PATCH] feat(client-sagemaker): Amazon Sagemaker supports orchestrating SageMaker HyperPod clusters with Amazon EKS --- .../commands/CreateAppImageConfigCommand.ts | 2 +- .../src/commands/CreateArtifactCommand.ts | 3 +- .../src/commands/CreateClusterCommand.ts | 9 + ...PresignedMlflowTrackingServerUrlCommand.ts | 6 +- ...eatePresignedNotebookInstanceUrlCommand.ts | 2 +- .../src/commands/DescribeClusterCommand.ts | 9 + .../commands/DescribeClusterNodeCommand.ts | 2 +- .../DescribeMlflowTrackingServerCommand.ts | 2 +- .../src/commands/ListClusterNodesCommand.ts | 2 +- .../ListModelCardExportJobsCommand.ts | 2 +- .../src/commands/UpdateClusterCommand.ts | 4 + .../client-sagemaker/src/models/models_0.ts | 179 ++++------ .../client-sagemaker/src/models/models_1.ts | 233 +++++++------ .../client-sagemaker/src/models/models_2.ts | 258 ++++++--------- .../client-sagemaker/src/models/models_3.ts | 305 +++++++++--------- .../client-sagemaker/src/models/models_4.ts | 160 ++++++++- .../src/protocols/Aws_json1_1.ts | 68 +++- codegen/sdk-codegen/aws-models/sagemaker.json | 152 ++++++++- 18 files changed, 849 insertions(+), 549 deletions(-) diff --git a/clients/client-sagemaker/src/commands/CreateAppImageConfigCommand.ts b/clients/client-sagemaker/src/commands/CreateAppImageConfigCommand.ts index 61c6807d66398..3d6f2eab05dcf 100644 --- a/clients/client-sagemaker/src/commands/CreateAppImageConfigCommand.ts +++ b/clients/client-sagemaker/src/commands/CreateAppImageConfigCommand.ts @@ -5,7 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { CreateAppImageConfigRequest, CreateAppImageConfigResponse } from "../models/models_0"; +import { CreateAppImageConfigRequest, CreateAppImageConfigResponse } from "../models/models_1"; import { de_CreateAppImageConfigCommand, se_CreateAppImageConfigCommand } from "../protocols/Aws_json1_1"; import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; diff --git a/clients/client-sagemaker/src/commands/CreateArtifactCommand.ts b/clients/client-sagemaker/src/commands/CreateArtifactCommand.ts index 6dcfc605c3a48..5cd6dd95c47bc 100644 --- a/clients/client-sagemaker/src/commands/CreateArtifactCommand.ts +++ b/clients/client-sagemaker/src/commands/CreateArtifactCommand.ts @@ -5,8 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { CreateArtifactRequest } from "../models/models_0"; -import { CreateArtifactResponse } from "../models/models_1"; +import { CreateArtifactRequest, CreateArtifactResponse } from "../models/models_1"; import { de_CreateArtifactCommand, se_CreateArtifactCommand } from "../protocols/Aws_json1_1"; import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; diff --git a/clients/client-sagemaker/src/commands/CreateClusterCommand.ts b/clients/client-sagemaker/src/commands/CreateClusterCommand.ts index f143a643e044b..7084ec438653d 100644 --- a/clients/client-sagemaker/src/commands/CreateClusterCommand.ts +++ b/clients/client-sagemaker/src/commands/CreateClusterCommand.ts @@ -58,6 +58,9 @@ export interface CreateClusterCommandOutput extends CreateClusterResponse, __Met * }, * }, * ], + * OnStartDeepHealthChecks: [ // OnStartDeepHealthChecks + * "InstanceStress" || "InstanceConnectivity", + * ], * }, * ], * VpcConfig: { // VpcConfig @@ -74,6 +77,12 @@ export interface CreateClusterCommandOutput extends CreateClusterResponse, __Met * Value: "STRING_VALUE", // required * }, * ], + * Orchestrator: { // ClusterOrchestrator + * Eks: { // ClusterOrchestratorEksConfig + * ClusterArn: "STRING_VALUE", // required + * }, + * }, + * NodeRecovery: "Automatic" || "None", * }; * const command = new CreateClusterCommand(input); * const response = await client.send(command); diff --git a/clients/client-sagemaker/src/commands/CreatePresignedMlflowTrackingServerUrlCommand.ts b/clients/client-sagemaker/src/commands/CreatePresignedMlflowTrackingServerUrlCommand.ts index ed76c3d1f3eb3..d7323fd36608e 100644 --- a/clients/client-sagemaker/src/commands/CreatePresignedMlflowTrackingServerUrlCommand.ts +++ b/clients/client-sagemaker/src/commands/CreatePresignedMlflowTrackingServerUrlCommand.ts @@ -5,10 +5,8 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { - CreatePresignedMlflowTrackingServerUrlRequest, - CreatePresignedMlflowTrackingServerUrlResponse, -} from "../models/models_1"; +import { CreatePresignedMlflowTrackingServerUrlRequest } from "../models/models_1"; +import { CreatePresignedMlflowTrackingServerUrlResponse } from "../models/models_2"; import { de_CreatePresignedMlflowTrackingServerUrlCommand, se_CreatePresignedMlflowTrackingServerUrlCommand, diff --git a/clients/client-sagemaker/src/commands/CreatePresignedNotebookInstanceUrlCommand.ts b/clients/client-sagemaker/src/commands/CreatePresignedNotebookInstanceUrlCommand.ts index 3f1746459b916..8c2b6be11bfc4 100644 --- a/clients/client-sagemaker/src/commands/CreatePresignedNotebookInstanceUrlCommand.ts +++ b/clients/client-sagemaker/src/commands/CreatePresignedNotebookInstanceUrlCommand.ts @@ -5,7 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { CreatePresignedNotebookInstanceUrlInput, CreatePresignedNotebookInstanceUrlOutput } from "../models/models_1"; +import { CreatePresignedNotebookInstanceUrlInput, CreatePresignedNotebookInstanceUrlOutput } from "../models/models_2"; import { de_CreatePresignedNotebookInstanceUrlCommand, se_CreatePresignedNotebookInstanceUrlCommand, diff --git a/clients/client-sagemaker/src/commands/DescribeClusterCommand.ts b/clients/client-sagemaker/src/commands/DescribeClusterCommand.ts index 921053c3aff25..13a60980b28ea 100644 --- a/clients/client-sagemaker/src/commands/DescribeClusterCommand.ts +++ b/clients/client-sagemaker/src/commands/DescribeClusterCommand.ts @@ -65,6 +65,9 @@ export interface DescribeClusterCommandOutput extends DescribeClusterResponse, _ * // }, * // }, * // ], + * // OnStartDeepHealthChecks: [ // OnStartDeepHealthChecks + * // "InstanceStress" || "InstanceConnectivity", + * // ], * // }, * // ], * // VpcConfig: { // VpcConfig @@ -75,6 +78,12 @@ export interface DescribeClusterCommandOutput extends DescribeClusterResponse, _ * // "STRING_VALUE", * // ], * // }, + * // Orchestrator: { // ClusterOrchestrator + * // Eks: { // ClusterOrchestratorEksConfig + * // ClusterArn: "STRING_VALUE", // required + * // }, + * // }, + * // NodeRecovery: "Automatic" || "None", * // }; * * ``` diff --git a/clients/client-sagemaker/src/commands/DescribeClusterNodeCommand.ts b/clients/client-sagemaker/src/commands/DescribeClusterNodeCommand.ts index 482b7411d918f..02966ad7d36b0 100644 --- a/clients/client-sagemaker/src/commands/DescribeClusterNodeCommand.ts +++ b/clients/client-sagemaker/src/commands/DescribeClusterNodeCommand.ts @@ -47,7 +47,7 @@ export interface DescribeClusterNodeCommandOutput extends DescribeClusterNodeRes * // InstanceGroupName: "STRING_VALUE", * // InstanceId: "STRING_VALUE", * // InstanceStatus: { // ClusterInstanceStatusDetails - * // Status: "Running" || "Failure" || "Pending" || "ShuttingDown" || "SystemUpdating", // required + * // Status: "Running" || "Failure" || "Pending" || "ShuttingDown" || "SystemUpdating" || "DeepHealthCheckInProgress", // required * // Message: "STRING_VALUE", * // }, * // 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", diff --git a/clients/client-sagemaker/src/commands/DescribeMlflowTrackingServerCommand.ts b/clients/client-sagemaker/src/commands/DescribeMlflowTrackingServerCommand.ts index 264681fe6cb8c..700a4a5b3b43f 100644 --- a/clients/client-sagemaker/src/commands/DescribeMlflowTrackingServerCommand.ts +++ b/clients/client-sagemaker/src/commands/DescribeMlflowTrackingServerCommand.ts @@ -5,7 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DescribeMlflowTrackingServerRequest, DescribeMlflowTrackingServerResponse } from "../models/models_2"; +import { DescribeMlflowTrackingServerRequest, DescribeMlflowTrackingServerResponse } from "../models/models_3"; import { de_DescribeMlflowTrackingServerCommand, se_DescribeMlflowTrackingServerCommand, diff --git a/clients/client-sagemaker/src/commands/ListClusterNodesCommand.ts b/clients/client-sagemaker/src/commands/ListClusterNodesCommand.ts index b3f32c0adb93a..5b64b3152219a 100644 --- a/clients/client-sagemaker/src/commands/ListClusterNodesCommand.ts +++ b/clients/client-sagemaker/src/commands/ListClusterNodesCommand.ts @@ -57,7 +57,7 @@ export interface ListClusterNodesCommandOutput extends ListClusterNodesResponse, * // 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 * // LaunchTime: new Date("TIMESTAMP"), // required * // InstanceStatus: { // ClusterInstanceStatusDetails - * // Status: "Running" || "Failure" || "Pending" || "ShuttingDown" || "SystemUpdating", // required + * // Status: "Running" || "Failure" || "Pending" || "ShuttingDown" || "SystemUpdating" || "DeepHealthCheckInProgress", // required * // Message: "STRING_VALUE", * // }, * // }, diff --git a/clients/client-sagemaker/src/commands/ListModelCardExportJobsCommand.ts b/clients/client-sagemaker/src/commands/ListModelCardExportJobsCommand.ts index 510bdae0d2b56..74bd2ec4439ac 100644 --- a/clients/client-sagemaker/src/commands/ListModelCardExportJobsCommand.ts +++ b/clients/client-sagemaker/src/commands/ListModelCardExportJobsCommand.ts @@ -5,7 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { ListModelCardExportJobsRequest, ListModelCardExportJobsResponse } from "../models/models_3"; +import { ListModelCardExportJobsRequest, ListModelCardExportJobsResponse } from "../models/models_4"; import { de_ListModelCardExportJobsCommand, se_ListModelCardExportJobsCommand } from "../protocols/Aws_json1_1"; import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; diff --git a/clients/client-sagemaker/src/commands/UpdateClusterCommand.ts b/clients/client-sagemaker/src/commands/UpdateClusterCommand.ts index ef70a32989b96..cf5281bb7ddc5 100644 --- a/clients/client-sagemaker/src/commands/UpdateClusterCommand.ts +++ b/clients/client-sagemaker/src/commands/UpdateClusterCommand.ts @@ -55,8 +55,12 @@ export interface UpdateClusterCommandOutput extends UpdateClusterResponse, __Met * }, * }, * ], + * OnStartDeepHealthChecks: [ // OnStartDeepHealthChecks + * "InstanceStress" || "InstanceConnectivity", + * ], * }, * ], + * NodeRecovery: "Automatic" || "None", * }; * const command = new UpdateClusterCommand(input); * const response = await client.send(command); diff --git a/clients/client-sagemaker/src/models/models_0.ts b/clients/client-sagemaker/src/models/models_0.ts index 9d2137100c89a..783306fbaae56 100644 --- a/clients/client-sagemaker/src/models/models_0.ts +++ b/clients/client-sagemaker/src/models/models_0.ts @@ -9280,6 +9280,20 @@ export interface ClusterLifeCycleConfig { OnCreate: string | undefined; } +/** + * @public + * @enum + */ +export const DeepHealthCheckType = { + INSTANCE_CONNECTIVITY: "InstanceConnectivity", + INSTANCE_STRESS: "InstanceStress", +} as const; + +/** + * @public + */ +export type DeepHealthCheckType = (typeof DeepHealthCheckType)[keyof typeof DeepHealthCheckType]; + /** *

Details of an instance group in a SageMaker HyperPod cluster.

* @public @@ -9340,6 +9354,12 @@ export interface ClusterInstanceGroupDetails { * @public */ InstanceStorageConfigs?: ClusterInstanceStorageConfig[]; + + /** + *

A flag indicating whether deep health checks should be performed when the cluster instance group is created or updated.

+ * @public + */ + OnStartDeepHealthChecks?: DeepHealthCheckType[]; } /** @@ -9396,6 +9416,12 @@ export interface ClusterInstanceGroupSpecification { * @public */ InstanceStorageConfigs?: ClusterInstanceStorageConfig[]; + + /** + *

A flag indicating whether deep health checks should be performed when the cluster instance group is created or updated.

+ * @public + */ + OnStartDeepHealthChecks?: DeepHealthCheckType[]; } /** @@ -9423,6 +9449,7 @@ export interface ClusterInstancePlacement { * @enum */ export const ClusterInstanceStatus = { + DEEP_HEALTH_CHECK_IN_PROGRESS: "DeepHealthCheckInProgress", FAILURE: "Failure", PENDING: "Pending", RUNNING: "Running", @@ -9528,6 +9555,20 @@ export interface ClusterNodeDetails { Placement?: ClusterInstancePlacement; } +/** + * @public + * @enum + */ +export const ClusterNodeRecovery = { + AUTOMATIC: "Automatic", + NONE: "None", +} as const; + +/** + * @public + */ +export type ClusterNodeRecovery = (typeof ClusterNodeRecovery)[keyof typeof ClusterNodeRecovery]; + /** *

Lists a summary of the properties of an instance (also called a * node interchangeably) of a SageMaker HyperPod cluster.

@@ -9565,6 +9606,30 @@ export interface ClusterNodeSummary { InstanceStatus: ClusterInstanceStatusDetails | undefined; } +/** + *

The configuration settings for the Amazon EKS cluster used as the orchestrator for the SageMaker HyperPod cluster.

+ * @public + */ +export interface ClusterOrchestratorEksConfig { + /** + *

The Amazon Resource Name (ARN) of the Amazon EKS cluster associated with the SageMaker HyperPod cluster.

+ * @public + */ + ClusterArn: string | undefined; +} + +/** + *

The type of orchestrator used for the SageMaker HyperPod cluster.

+ * @public + */ +export interface ClusterOrchestrator { + /** + *

The Amazon EKS cluster used as the orchestrator for the SageMaker HyperPod cluster.

+ * @public + */ + Eks: ClusterOrchestratorEksConfig | undefined; +} + /** * @public * @enum @@ -9682,7 +9747,6 @@ export interface CodeEditorAppSettings { /** *

Settings that are used to configure and manage the lifecycle of CodeEditor applications.

- *

* @public */ AppLifecycleManagement?: AppLifecycleManagement; @@ -11122,116 +11186,3 @@ export interface CreateAppResponse { */ AppArn?: string; } - -/** - *

Resource being accessed is in use.

- * @public - */ -export class ResourceInUse extends __BaseException { - readonly name: "ResourceInUse" = "ResourceInUse"; - readonly $fault: "client" = "client"; - Message?: string; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ResourceInUse", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ResourceInUse.prototype); - this.Message = opts.Message; - } -} - -/** - * @public - */ -export interface CreateAppImageConfigRequest { - /** - *

The name of the AppImageConfig. Must be unique to your account.

- * @public - */ - AppImageConfigName: string | undefined; - - /** - *

A list of tags to apply to the AppImageConfig.

- * @public - */ - Tags?: Tag[]; - - /** - *

The KernelGatewayImageConfig. You can only specify one image kernel in the - * AppImageConfig API. This kernel will be shown to users before the - * image starts. Once the image runs, all kernels are visible in JupyterLab.

- * @public - */ - KernelGatewayImageConfig?: KernelGatewayImageConfig; - - /** - *

The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab.

- * @public - */ - JupyterLabAppImageConfig?: JupyterLabAppImageConfig; - - /** - *

The CodeEditorAppImageConfig. You can only specify one image kernel - * in the AppImageConfig API. This kernel is shown to users before the image starts. - * After the image runs, all kernels are visible in Code Editor.

- * @public - */ - CodeEditorAppImageConfig?: CodeEditorAppImageConfig; -} - -/** - * @public - */ -export interface CreateAppImageConfigResponse { - /** - *

The ARN of the AppImageConfig.

- * @public - */ - AppImageConfigArn?: string; -} - -/** - * @public - */ -export interface CreateArtifactRequest { - /** - *

The name of the artifact. Must be unique to your account in an Amazon Web Services Region.

- * @public - */ - ArtifactName?: string; - - /** - *

The ID, ID type, and URI of the source.

- * @public - */ - Source: ArtifactSource | undefined; - - /** - *

The artifact type.

- * @public - */ - ArtifactType: string | undefined; - - /** - *

A list of properties to add to the artifact.

- * @public - */ - Properties?: Record; - - /** - *

Metadata properties of the tracking entity, trial, or trial component.

- * @public - */ - MetadataProperties?: MetadataProperties; - - /** - *

A list of tags to apply to the artifact.

- * @public - */ - Tags?: Tag[]; -} diff --git a/clients/client-sagemaker/src/models/models_1.ts b/clients/client-sagemaker/src/models/models_1.ts index 4c4be0e4809da..16966cd4f88c8 100644 --- a/clients/client-sagemaker/src/models/models_1.ts +++ b/clients/client-sagemaker/src/models/models_1.ts @@ -1,5 +1,9 @@ // smithy-typescript generated code -import { LazyJsonString as __LazyJsonString, SENSITIVE_STRING } from "@smithy/smithy-client"; +import { + ExceptionOptionType as __ExceptionOptionType, + LazyJsonString as __LazyJsonString, + SENSITIVE_STRING, +} from "@smithy/smithy-client"; import { AdditionalInferenceSpecificationDefinition, @@ -9,6 +13,7 @@ import { AppNetworkAccessType, AppSecurityGroupManagement, AppType, + ArtifactSource, AsyncInferenceConfig, AuthMode, AutoMLChannel, @@ -39,6 +44,9 @@ import { CheckpointConfig, ClarifyExplainerConfig, ClusterInstanceGroupSpecification, + ClusterNodeRecovery, + ClusterOrchestrator, + CodeEditorAppImageConfig, CodeEditorAppSettings, CodeRepository, CollectionConfig, @@ -54,6 +62,8 @@ import { HyperParameterScalingType, HyperParameterTuningJobObjective, InferenceSpecification, + JupyterLabAppImageConfig, + KernelGatewayImageConfig, MetadataProperties, MetricDefinition, MetricsSource, @@ -78,6 +88,121 @@ import { VpcConfig, } from "./models_0"; +import { SageMakerServiceException as __BaseException } from "./SageMakerServiceException"; + +/** + *

Resource being accessed is in use.

+ * @public + */ +export class ResourceInUse extends __BaseException { + readonly name: "ResourceInUse" = "ResourceInUse"; + readonly $fault: "client" = "client"; + Message?: string; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ResourceInUse", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ResourceInUse.prototype); + this.Message = opts.Message; + } +} + +/** + * @public + */ +export interface CreateAppImageConfigRequest { + /** + *

The name of the AppImageConfig. Must be unique to your account.

+ * @public + */ + AppImageConfigName: string | undefined; + + /** + *

A list of tags to apply to the AppImageConfig.

+ * @public + */ + Tags?: Tag[]; + + /** + *

The KernelGatewayImageConfig. You can only specify one image kernel in the + * AppImageConfig API. This kernel will be shown to users before the + * image starts. Once the image runs, all kernels are visible in JupyterLab.

+ * @public + */ + KernelGatewayImageConfig?: KernelGatewayImageConfig; + + /** + *

The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab.

+ * @public + */ + JupyterLabAppImageConfig?: JupyterLabAppImageConfig; + + /** + *

The CodeEditorAppImageConfig. You can only specify one image kernel + * in the AppImageConfig API. This kernel is shown to users before the image starts. + * After the image runs, all kernels are visible in Code Editor.

+ * @public + */ + CodeEditorAppImageConfig?: CodeEditorAppImageConfig; +} + +/** + * @public + */ +export interface CreateAppImageConfigResponse { + /** + *

The ARN of the AppImageConfig.

+ * @public + */ + AppImageConfigArn?: string; +} + +/** + * @public + */ +export interface CreateArtifactRequest { + /** + *

The name of the artifact. Must be unique to your account in an Amazon Web Services Region.

+ * @public + */ + ArtifactName?: string; + + /** + *

The ID, ID type, and URI of the source.

+ * @public + */ + Source: ArtifactSource | undefined; + + /** + *

The artifact type.

+ * @public + */ + ArtifactType: string | undefined; + + /** + *

A list of properties to add to the artifact.

+ * @public + */ + Properties?: Record; + + /** + *

Metadata properties of the tracking entity, trial, or trial component.

+ * @public + */ + MetadataProperties?: MetadataProperties; + + /** + *

A list of tags to apply to the artifact.

+ * @public + */ + Tags?: Tag[]; +} + /** * @public */ @@ -382,6 +507,23 @@ export interface CreateClusterRequest { * @public */ Tags?: Tag[]; + + /** + *

The type of orchestrator to use for the SageMaker HyperPod cluster. Currently, the only supported + * value is "eks", which is to use an Amazon Elastic Kubernetes Service (EKS) + * cluster as the orchestrator.

+ * @public + */ + Orchestrator?: ClusterOrchestrator; + + /** + *

The node recovery mode for the SageMaker HyperPod cluster. When set to Automatic, + * SageMaker HyperPod will automatically reboot or replace faulty nodes when issues are detected. When set + * to None, cluster administrators will need to manually manage any faulty + * cluster instances.

+ * @public + */ + NodeRecovery?: ClusterNodeRecovery; } /** @@ -12828,95 +12970,6 @@ export interface CreatePresignedMlflowTrackingServerUrlRequest { SessionExpirationDurationInSeconds?: number; } -/** - * @public - */ -export interface CreatePresignedMlflowTrackingServerUrlResponse { - /** - *

A presigned URL with an authorization token.

- * @public - */ - AuthorizedUrl?: string; -} - -/** - * @public - */ -export interface CreatePresignedNotebookInstanceUrlInput { - /** - *

The name of the notebook instance.

- * @public - */ - NotebookInstanceName: string | undefined; - - /** - *

The duration of the session, in seconds. The default is 12 hours.

- * @public - */ - SessionExpirationDurationInSeconds?: number; -} - -/** - * @public - */ -export interface CreatePresignedNotebookInstanceUrlOutput { - /** - *

A JSON object that contains the URL string.

- * @public - */ - AuthorizedUrl?: string; -} - -/** - *

Associates a SageMaker job as a trial component with an experiment and trial. Specified when - * you call the following APIs:

- * - * @public - */ -export interface ExperimentConfig { - /** - *

The name of an existing experiment to associate with the trial component.

- * @public - */ - ExperimentName?: string; - - /** - *

The name of an existing trial to associate the trial component with. If not specified, a - * new trial is created.

- * @public - */ - TrialName?: string; - - /** - *

The display name for the trial component. If this key isn't specified, the display name is - * the trial component name.

- * @public - */ - TrialComponentDisplayName?: string; - - /** - *

The name of the experiment run to associate with the trial component.

- * @public - */ - RunName?: string; -} - /** * @internal */ diff --git a/clients/client-sagemaker/src/models/models_2.ts b/clients/client-sagemaker/src/models/models_2.ts index 3f72d4c21c29e..00c1b7e21fe60 100644 --- a/clients/client-sagemaker/src/models/models_2.ts +++ b/clients/client-sagemaker/src/models/models_2.ts @@ -42,6 +42,8 @@ import { CheckpointConfig, ClusterInstanceGroupDetails, ClusterNodeDetails, + ClusterNodeRecovery, + ClusterOrchestrator, ClusterStatus, CodeEditorAppImageConfig, CodeRepository, @@ -88,7 +90,6 @@ import { EdgeOutputConfig, EdgePresetDeploymentType, EndpointInfo, - ExperimentConfig, ExplainerConfig, FeatureDefinition, FeatureType, @@ -139,11 +140,99 @@ import { RetryStrategy, ShadowModeConfig, ThroughputMode, - TrackingServerSize, UserSettings, VendorGuidance, } from "./models_1"; +/** + * @public + */ +export interface CreatePresignedMlflowTrackingServerUrlResponse { + /** + *

A presigned URL with an authorization token.

+ * @public + */ + AuthorizedUrl?: string; +} + +/** + * @public + */ +export interface CreatePresignedNotebookInstanceUrlInput { + /** + *

The name of the notebook instance.

+ * @public + */ + NotebookInstanceName: string | undefined; + + /** + *

The duration of the session, in seconds. The default is 12 hours.

+ * @public + */ + SessionExpirationDurationInSeconds?: number; +} + +/** + * @public + */ +export interface CreatePresignedNotebookInstanceUrlOutput { + /** + *

A JSON object that contains the URL string.

+ * @public + */ + AuthorizedUrl?: string; +} + +/** + *

Associates a SageMaker job as a trial component with an experiment and trial. Specified when + * you call the following APIs:

+ * + * @public + */ +export interface ExperimentConfig { + /** + *

The name of an existing experiment to associate with the trial component.

+ * @public + */ + ExperimentName?: string; + + /** + *

The name of an existing trial to associate the trial component with. If not specified, a + * new trial is created.

+ * @public + */ + TrialName?: string; + + /** + *

The display name for the trial component. If this key isn't specified, the display name is + * the trial component name.

+ * @public + */ + TrialComponentDisplayName?: string; + + /** + *

The name of the experiment run to associate with the trial component.

+ * @public + */ + RunName?: string; +} + /** * @public * @enum @@ -4744,6 +4833,18 @@ export interface DescribeClusterResponse { * @public */ VpcConfig?: VpcConfig; + + /** + *

The type of orchestrator used for the SageMaker HyperPod cluster.

+ * @public + */ + Orchestrator?: ClusterOrchestrator; + + /** + *

The node recovery mode configured for the SageMaker HyperPod cluster.

+ * @public + */ + NodeRecovery?: ClusterNodeRecovery; } /** @@ -9192,159 +9293,6 @@ export interface DescribeLineageGroupResponse { LastModifiedBy?: UserContext; } -/** - * @public - */ -export interface DescribeMlflowTrackingServerRequest { - /** - *

The name of the MLflow Tracking Server to describe.

- * @public - */ - TrackingServerName: string | undefined; -} - -/** - * @public - * @enum - */ -export const IsTrackingServerActive = { - ACTIVE: "Active", - INACTIVE: "Inactive", -} as const; - -/** - * @public - */ -export type IsTrackingServerActive = (typeof IsTrackingServerActive)[keyof typeof IsTrackingServerActive]; - -/** - * @public - * @enum - */ -export const TrackingServerStatus = { - CREATED: "Created", - CREATE_FAILED: "CreateFailed", - CREATING: "Creating", - DELETE_FAILED: "DeleteFailed", - DELETING: "Deleting", - MAINTENANCE_COMPLETE: "MaintenanceComplete", - MAINTENANCE_FAILED: "MaintenanceFailed", - MAINTENANCE_IN_PROGRESS: "MaintenanceInProgress", - STARTED: "Started", - STARTING: "Starting", - START_FAILED: "StartFailed", - STOPPED: "Stopped", - STOPPING: "Stopping", - STOP_FAILED: "StopFailed", - UPDATED: "Updated", - UPDATE_FAILED: "UpdateFailed", - UPDATING: "Updating", -} as const; - -/** - * @public - */ -export type TrackingServerStatus = (typeof TrackingServerStatus)[keyof typeof TrackingServerStatus]; - -/** - * @public - */ -export interface DescribeMlflowTrackingServerResponse { - /** - *

The ARN of the described tracking server.

- * @public - */ - TrackingServerArn?: string; - - /** - *

The name of the described tracking server.

- * @public - */ - TrackingServerName?: string; - - /** - *

The S3 URI of the general purpose bucket used as the MLflow Tracking Server - * artifact store.

- * @public - */ - ArtifactStoreUri?: string; - - /** - *

The size of the described tracking server.

- * @public - */ - TrackingServerSize?: TrackingServerSize; - - /** - *

The MLflow version used for the described tracking server.

- * @public - */ - MlflowVersion?: string; - - /** - *

The Amazon Resource Name (ARN) for an IAM role in your account that the described MLflow Tracking Server - * uses to access the artifact store in Amazon S3.

- * @public - */ - RoleArn?: string; - - /** - *

The current creation status of the described MLflow Tracking Server.

- * @public - */ - TrackingServerStatus?: TrackingServerStatus; - - /** - *

Whether the described MLflow Tracking Server is currently active.

- * @public - */ - IsActive?: IsTrackingServerActive; - - /** - *

The URL to connect to the MLflow user interface for the described tracking server.

- * @public - */ - TrackingServerUrl?: string; - - /** - *

The day and time of the week when weekly maintenance occurs on the described tracking server.

- * @public - */ - WeeklyMaintenanceWindowStart?: string; - - /** - *

Whether automatic registration of new MLflow models to the SageMaker Model Registry is enabled.

- * @public - */ - AutomaticModelRegistration?: boolean; - - /** - *

The timestamp of when the described MLflow Tracking Server was created.

- * @public - */ - CreationTime?: Date; - - /** - *

Information about the user who created or modified an experiment, trial, trial - * component, lineage group, project, or model card.

- * @public - */ - CreatedBy?: UserContext; - - /** - *

The timestamp of when the described MLflow Tracking Server was last modified.

- * @public - */ - LastModifiedTime?: Date; - - /** - *

Information about the user who created or modified an experiment, trial, trial - * component, lineage group, project, or model card.

- * @public - */ - LastModifiedBy?: UserContext; -} - /** * @internal */ diff --git a/clients/client-sagemaker/src/models/models_3.ts b/clients/client-sagemaker/src/models/models_3.ts index 2da7db7f2eaf2..bfd9e257428be 100644 --- a/clients/client-sagemaker/src/models/models_3.ts +++ b/clients/client-sagemaker/src/models/models_3.ts @@ -63,7 +63,6 @@ import { DriftCheckBaselines, EdgeOutputConfig, ExecutionRoleIdentityConfig, - ExperimentConfig, FeatureDefinition, FeatureType, HyperParameterTrainingJobDefinition, @@ -115,6 +114,7 @@ import { RootAccess, SkipModelValidation, SourceAlgorithmSpecification, + TrackingServerSize, UserSettings, } from "./models_1"; @@ -130,6 +130,7 @@ import { EdgePackagingJobStatus, EndpointOutputConfiguration, EndpointStatus, + ExperimentConfig, ExperimentSource, FeatureGroupStatus, FeatureParameter, @@ -148,7 +149,6 @@ import { InferenceExperimentStatus, InferenceMetrics, InfraCheckConfig, - IsTrackingServerActive, LabelCounters, LabelingJobOutput, LabelingJobStatus, @@ -179,7 +179,6 @@ import { SpaceSharingSettings, StudioLifecycleConfigAppType, TensorBoardOutputConfig, - TrackingServerStatus, TrainingJobStatus, TrainingJobStatusCounters, TrialComponentArtifact, @@ -188,6 +187,159 @@ import { WorkerAccessConfiguration, } from "./models_2"; +/** + * @public + */ +export interface DescribeMlflowTrackingServerRequest { + /** + *

The name of the MLflow Tracking Server to describe.

+ * @public + */ + TrackingServerName: string | undefined; +} + +/** + * @public + * @enum + */ +export const IsTrackingServerActive = { + ACTIVE: "Active", + INACTIVE: "Inactive", +} as const; + +/** + * @public + */ +export type IsTrackingServerActive = (typeof IsTrackingServerActive)[keyof typeof IsTrackingServerActive]; + +/** + * @public + * @enum + */ +export const TrackingServerStatus = { + CREATED: "Created", + CREATE_FAILED: "CreateFailed", + CREATING: "Creating", + DELETE_FAILED: "DeleteFailed", + DELETING: "Deleting", + MAINTENANCE_COMPLETE: "MaintenanceComplete", + MAINTENANCE_FAILED: "MaintenanceFailed", + MAINTENANCE_IN_PROGRESS: "MaintenanceInProgress", + STARTED: "Started", + STARTING: "Starting", + START_FAILED: "StartFailed", + STOPPED: "Stopped", + STOPPING: "Stopping", + STOP_FAILED: "StopFailed", + UPDATED: "Updated", + UPDATE_FAILED: "UpdateFailed", + UPDATING: "Updating", +} as const; + +/** + * @public + */ +export type TrackingServerStatus = (typeof TrackingServerStatus)[keyof typeof TrackingServerStatus]; + +/** + * @public + */ +export interface DescribeMlflowTrackingServerResponse { + /** + *

The ARN of the described tracking server.

+ * @public + */ + TrackingServerArn?: string; + + /** + *

The name of the described tracking server.

+ * @public + */ + TrackingServerName?: string; + + /** + *

The S3 URI of the general purpose bucket used as the MLflow Tracking Server + * artifact store.

+ * @public + */ + ArtifactStoreUri?: string; + + /** + *

The size of the described tracking server.

+ * @public + */ + TrackingServerSize?: TrackingServerSize; + + /** + *

The MLflow version used for the described tracking server.

+ * @public + */ + MlflowVersion?: string; + + /** + *

The Amazon Resource Name (ARN) for an IAM role in your account that the described MLflow Tracking Server + * uses to access the artifact store in Amazon S3.

+ * @public + */ + RoleArn?: string; + + /** + *

The current creation status of the described MLflow Tracking Server.

+ * @public + */ + TrackingServerStatus?: TrackingServerStatus; + + /** + *

Whether the described MLflow Tracking Server is currently active.

+ * @public + */ + IsActive?: IsTrackingServerActive; + + /** + *

The URL to connect to the MLflow user interface for the described tracking server.

+ * @public + */ + TrackingServerUrl?: string; + + /** + *

The day and time of the week when weekly maintenance occurs on the described tracking server.

+ * @public + */ + WeeklyMaintenanceWindowStart?: string; + + /** + *

Whether automatic registration of new MLflow models to the SageMaker Model Registry is enabled.

+ * @public + */ + AutomaticModelRegistration?: boolean; + + /** + *

The timestamp of when the described MLflow Tracking Server was created.

+ * @public + */ + CreationTime?: Date; + + /** + *

Information about the user who created or modified an experiment, trial, trial + * component, lineage group, project, or model card.

+ * @public + */ + CreatedBy?: UserContext; + + /** + *

The timestamp of when the described MLflow Tracking Server was last modified.

+ * @public + */ + LastModifiedTime?: Date; + + /** + *

Information about the user who created or modified an experiment, trial, trial + * component, lineage group, project, or model card.

+ * @public + */ + LastModifiedBy?: UserContext; +} + /** * @public */ @@ -11435,153 +11587,6 @@ export const ModelCardExportJobSortOrder = { export type ModelCardExportJobSortOrder = (typeof ModelCardExportJobSortOrder)[keyof typeof ModelCardExportJobSortOrder]; -/** - * @public - */ -export interface ListModelCardExportJobsRequest { - /** - *

List export jobs for the model card with the specified name.

- * @public - */ - ModelCardName: string | undefined; - - /** - *

List export jobs for the model card with the specified version.

- * @public - */ - ModelCardVersion?: number; - - /** - *

Only list model card export jobs that were created after the time specified.

- * @public - */ - CreationTimeAfter?: Date; - - /** - *

Only list model card export jobs that were created before the time specified.

- * @public - */ - CreationTimeBefore?: Date; - - /** - *

Only list model card export jobs with names that contain the specified string.

- * @public - */ - ModelCardExportJobNameContains?: string; - - /** - *

Only list model card export jobs with the specified status.

- * @public - */ - StatusEquals?: ModelCardExportJobStatus; - - /** - *

Sort model card export jobs by either name or creation time. Sorts by creation time by default.

- * @public - */ - SortBy?: ModelCardExportJobSortBy; - - /** - *

Sort model card export jobs by ascending or descending order.

- * @public - */ - SortOrder?: ModelCardExportJobSortOrder; - - /** - *

If the response to a previous ListModelCardExportJobs request was - * truncated, the response includes a NextToken. To retrieve the next set of - * model card export jobs, use the token in the next request.

- * @public - */ - NextToken?: string; - - /** - *

The maximum number of model card export jobs to list.

- * @public - */ - MaxResults?: number; -} - -/** - *

The summary of the Amazon SageMaker Model Card export job.

- * @public - */ -export interface ModelCardExportJobSummary { - /** - *

The name of the model card export job.

- * @public - */ - ModelCardExportJobName: string | undefined; - - /** - *

The Amazon Resource Name (ARN) of the model card export job.

- * @public - */ - ModelCardExportJobArn: string | undefined; - - /** - *

The completion status of the model card export job.

- * @public - */ - Status: ModelCardExportJobStatus | undefined; - - /** - *

The name of the model card that the export job exports.

- * @public - */ - ModelCardName: string | undefined; - - /** - *

The version of the model card that the export job exports.

- * @public - */ - ModelCardVersion: number | undefined; - - /** - *

The date and time that the model card export job was created.

- * @public - */ - CreatedAt: Date | undefined; - - /** - *

The date and time that the model card export job was last modified..

- * @public - */ - LastModifiedAt: Date | undefined; -} - -/** - * @public - */ -export interface ListModelCardExportJobsResponse { - /** - *

The summaries of the listed model card export jobs.

- * @public - */ - ModelCardExportJobSummaries: ModelCardExportJobSummary[] | undefined; - - /** - *

If the response is truncated, SageMaker returns this token. To retrieve the next set of model - * card export jobs, use it in the subsequent request.

- * @public - */ - NextToken?: string; -} - -/** - * @public - * @enum - */ -export const ModelCardSortBy = { - CREATION_TIME: "CreationTime", - NAME: "Name", -} as const; - -/** - * @public - */ -export type ModelCardSortBy = (typeof ModelCardSortBy)[keyof typeof ModelCardSortBy]; - /** * @internal */ diff --git a/clients/client-sagemaker/src/models/models_4.ts b/clients/client-sagemaker/src/models/models_4.ts index 036b45f088a07..9c73a3d8b579f 100644 --- a/clients/client-sagemaker/src/models/models_4.ts +++ b/clients/client-sagemaker/src/models/models_4.ts @@ -20,6 +20,7 @@ import { CheckpointConfig, ClarifyCheckStepMetadata, ClusterInstanceGroupSpecification, + ClusterNodeRecovery, CodeEditorAppImageConfig, ConditionStepMetadata, ContainerDefinition, @@ -47,7 +48,6 @@ import { DeploymentConfig, DriftCheckBaselines, EdgeOutputConfig, - ExperimentConfig, FeatureDefinition, InferenceComponentRuntimeConfig, InferenceComponentSpecification, @@ -94,6 +94,7 @@ import { DebugRuleEvaluationStatus, DeploymentRecommendation, EndpointStatus, + ExperimentConfig, FeatureParameter, HyperParameterTrainingJobSummary, MemberDefinition, @@ -147,7 +148,9 @@ import { LambdaStepMetadata, LineageType, MetricData, - ModelCardSortBy, + ModelCardExportJobSortBy, + ModelCardExportJobSortOrder, + ModelCardExportJobStatus, ModelPackageGroupStatus, ModelPackageStatusDetails, MonitoringExecutionSummary, @@ -182,6 +185,153 @@ import { Workteam, } from "./models_3"; +/** + * @public + */ +export interface ListModelCardExportJobsRequest { + /** + *

List export jobs for the model card with the specified name.

+ * @public + */ + ModelCardName: string | undefined; + + /** + *

List export jobs for the model card with the specified version.

+ * @public + */ + ModelCardVersion?: number; + + /** + *

Only list model card export jobs that were created after the time specified.

+ * @public + */ + CreationTimeAfter?: Date; + + /** + *

Only list model card export jobs that were created before the time specified.

+ * @public + */ + CreationTimeBefore?: Date; + + /** + *

Only list model card export jobs with names that contain the specified string.

+ * @public + */ + ModelCardExportJobNameContains?: string; + + /** + *

Only list model card export jobs with the specified status.

+ * @public + */ + StatusEquals?: ModelCardExportJobStatus; + + /** + *

Sort model card export jobs by either name or creation time. Sorts by creation time by default.

+ * @public + */ + SortBy?: ModelCardExportJobSortBy; + + /** + *

Sort model card export jobs by ascending or descending order.

+ * @public + */ + SortOrder?: ModelCardExportJobSortOrder; + + /** + *

If the response to a previous ListModelCardExportJobs request was + * truncated, the response includes a NextToken. To retrieve the next set of + * model card export jobs, use the token in the next request.

+ * @public + */ + NextToken?: string; + + /** + *

The maximum number of model card export jobs to list.

+ * @public + */ + MaxResults?: number; +} + +/** + *

The summary of the Amazon SageMaker Model Card export job.

+ * @public + */ +export interface ModelCardExportJobSummary { + /** + *

The name of the model card export job.

+ * @public + */ + ModelCardExportJobName: string | undefined; + + /** + *

The Amazon Resource Name (ARN) of the model card export job.

+ * @public + */ + ModelCardExportJobArn: string | undefined; + + /** + *

The completion status of the model card export job.

+ * @public + */ + Status: ModelCardExportJobStatus | undefined; + + /** + *

The name of the model card that the export job exports.

+ * @public + */ + ModelCardName: string | undefined; + + /** + *

The version of the model card that the export job exports.

+ * @public + */ + ModelCardVersion: number | undefined; + + /** + *

The date and time that the model card export job was created.

+ * @public + */ + CreatedAt: Date | undefined; + + /** + *

The date and time that the model card export job was last modified..

+ * @public + */ + LastModifiedAt: Date | undefined; +} + +/** + * @public + */ +export interface ListModelCardExportJobsResponse { + /** + *

The summaries of the listed model card export jobs.

+ * @public + */ + ModelCardExportJobSummaries: ModelCardExportJobSummary[] | undefined; + + /** + *

If the response is truncated, SageMaker returns this token. To retrieve the next set of model + * card export jobs, use it in the subsequent request.

+ * @public + */ + NextToken?: string; +} + +/** + * @public + * @enum + */ +export const ModelCardSortBy = { + CREATION_TIME: "CreationTime", + NAME: "Name", +} as const; + +/** + * @public + */ +export type ModelCardSortBy = (typeof ModelCardSortBy)[keyof typeof ModelCardSortBy]; + /** * @public * @enum @@ -8285,6 +8435,12 @@ export interface UpdateClusterRequest { * @public */ InstanceGroups: ClusterInstanceGroupSpecification[] | undefined; + + /** + *

The node recovery mode to be applied to the SageMaker HyperPod cluster.

+ * @public + */ + NodeRecovery?: ClusterNodeRecovery; } /** diff --git a/clients/client-sagemaker/src/protocols/Aws_json1_1.ts b/clients/client-sagemaker/src/protocols/Aws_json1_1.ts index cc3b583cd7643..c418fb6a33fbc 100644 --- a/clients/client-sagemaker/src/protocols/Aws_json1_1.ts +++ b/clients/client-sagemaker/src/protocols/Aws_json1_1.ts @@ -1010,6 +1010,8 @@ import { ClusterLifeCycleConfig, ClusterNodeDetails, ClusterNodeSummary, + ClusterOrchestrator, + ClusterOrchestratorEksConfig, ClusterSummary, CodeEditorAppImageConfig, CodeEditorAppSettings, @@ -1035,13 +1037,11 @@ import { CreateActionResponse, CreateAlgorithmInput, CreateAlgorithmOutput, - CreateAppImageConfigRequest, - CreateAppImageConfigResponse, CreateAppRequest, CreateAppResponse, - CreateArtifactRequest, CustomImage, DataSource, + DeepHealthCheckType, DirectDeploySettings, EmrServerlessComputeConfig, EmrServerlessSettings, @@ -1087,7 +1087,6 @@ import { ProductionVariantInstanceType, RepositoryAuthConfig, ResourceConfig, - ResourceInUse, ResourceLimitExceeded, ResourceNotFound, ResourceSpec, @@ -1125,6 +1124,9 @@ import { WorkspaceSettings, } from "../models/models_0"; import { + CreateAppImageConfigRequest, + CreateAppImageConfigResponse, + CreateArtifactRequest, CreateArtifactResponse, CreateAutoMLJobRequest, CreateAutoMLJobResponse, @@ -1208,9 +1210,6 @@ import { CreatePresignedDomainUrlRequest, CreatePresignedDomainUrlResponse, CreatePresignedMlflowTrackingServerUrlRequest, - CreatePresignedMlflowTrackingServerUrlResponse, - CreatePresignedNotebookInstanceUrlInput, - CreatePresignedNotebookInstanceUrlOutput, CustomFileSystemConfig, CustomPosixUserConfig, DataCaptureConfig, @@ -1240,7 +1239,6 @@ import { EndpointInput, EndpointInputConfiguration, EnvironmentParameterRanges, - ExperimentConfig, Explainability, ExplainerConfig, FeatureDefinition, @@ -1357,6 +1355,7 @@ import { RecommendationJobResourceLimit, RecommendationJobStoppingConditions, RecommendationJobVpcConfig, + ResourceInUse, ResourceLimits, RetryStrategy, RollingUpdatePolicy, @@ -1384,6 +1383,9 @@ import { UserSettings, } from "../models/models_1"; import { + CreatePresignedMlflowTrackingServerUrlResponse, + CreatePresignedNotebookInstanceUrlInput, + CreatePresignedNotebookInstanceUrlOutput, CreateProcessingJobRequest, CreateProcessingJobResponse, CreateProjectInput, @@ -1559,8 +1561,6 @@ import { DescribeLabelingJobResponse, DescribeLineageGroupRequest, DescribeLineageGroupResponse, - DescribeMlflowTrackingServerRequest, - DescribeMlflowTrackingServerResponse, EbsStorageSettings, EdgeDeploymentStatus, EdgeModel, @@ -1570,6 +1570,7 @@ import { EndpointOutputConfiguration, EndpointPerformance, EnvironmentParameter, + ExperimentConfig, ExperimentSource, FeatureParameter, FinalHyperParameterTuningJobObjectiveMetric, @@ -1644,6 +1645,8 @@ import { WorkforceVpcConfigRequest, } from "../models/models_2"; import { + DescribeMlflowTrackingServerRequest, + DescribeMlflowTrackingServerResponse, DescribeModelBiasJobDefinitionRequest, DescribeModelBiasJobDefinitionResponse, DescribeModelCardExportJobRequest, @@ -1846,12 +1849,9 @@ import { ListMlflowTrackingServersResponse, ListModelBiasJobDefinitionsRequest, ListModelBiasJobDefinitionsResponse, - ListModelCardExportJobsRequest, - ListModelCardExportJobsResponse, MetricData, MetricSpecification, ModelCardExportArtifacts, - ModelCardExportJobSummary, ModelPackageStatusDetails, ModelPackageStatusItem, MonitoringExecutionSummary, @@ -1887,6 +1887,8 @@ import { Workteam, } from "../models/models_3"; import { + ListModelCardExportJobsRequest, + ListModelCardExportJobsResponse, ListModelCardsRequest, ListModelCardsResponse, ListModelCardVersionsRequest, @@ -1959,6 +1961,7 @@ import { ListWorkteamsResponse, Model, ModelCard, + ModelCardExportJobSummary, ModelCardSummary, ModelCardVersionSummary, ModelDashboardEndpoint, @@ -13340,6 +13343,10 @@ const se_BatchTransformInput = (input: BatchTransformInput, context: __SerdeCont // se_ClusterLifeCycleConfig omitted. +// se_ClusterOrchestrator omitted. + +// se_ClusterOrchestratorEksConfig omitted. + // se_CodeEditorAppImageConfig omitted. // se_CodeEditorAppSettings omitted. @@ -15793,6 +15800,8 @@ const se_MonitoringScheduleConfig = (input: MonitoringScheduleConfig, context: _ // se_OnlineStoreSecurityConfig omitted. +// se_OnStartDeepHealthChecks omitted. + // se_OptimizationConfig omitted. // se_OptimizationConfigs omitted. @@ -18095,6 +18104,7 @@ const de_ClusterInstanceGroupDetails = (output: any, context: __SerdeContext): C InstanceStorageConfigs: (_: any) => de_ClusterInstanceStorageConfigs(_, context), InstanceType: __expectString, LifeCycleConfig: (_: any) => de_ClusterLifeCycleConfig(_, context), + OnStartDeepHealthChecks: (_: any) => de_OnStartDeepHealthChecks(_, context), TargetCount: __expectInt32, ThreadsPerCore: __expectInt32, }) as any; @@ -18210,6 +18220,24 @@ const de_ClusterNodeSummary = (output: any, context: __SerdeContext): ClusterNod }) as any; }; +/** + * deserializeAws_json1_1ClusterOrchestrator + */ +const de_ClusterOrchestrator = (output: any, context: __SerdeContext): ClusterOrchestrator => { + return take(output, { + Eks: (_: any) => de_ClusterOrchestratorEksConfig(_, context), + }) as any; +}; + +/** + * deserializeAws_json1_1ClusterOrchestratorEksConfig + */ +const de_ClusterOrchestratorEksConfig = (output: any, context: __SerdeContext): ClusterOrchestratorEksConfig => { + return take(output, { + ClusterArn: __expectString, + }) as any; +}; + /** * deserializeAws_json1_1ClusterSummaries */ @@ -19939,6 +19967,8 @@ const de_DescribeClusterResponse = (output: any, context: __SerdeContext): Descr CreationTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), FailureMessage: __expectString, InstanceGroups: (_: any) => de_ClusterInstanceGroupDetailsList(_, context), + NodeRecovery: __expectString, + Orchestrator: (_: any) => de_ClusterOrchestrator(_, context), VpcConfig: (_: any) => de_VpcConfig(_, context), }) as any; }; @@ -26426,6 +26456,18 @@ const de_OnlineStoreSecurityConfig = (output: any, context: __SerdeContext): Onl }) as any; }; +/** + * deserializeAws_json1_1OnStartDeepHealthChecks + */ +const de_OnStartDeepHealthChecks = (output: any, context: __SerdeContext): DeepHealthCheckType[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return __expectString(entry) as any; + }); + return retVal; +}; + /** * deserializeAws_json1_1OptimizationConfig */ diff --git a/codegen/sdk-codegen/aws-models/sagemaker.json b/codegen/sdk-codegen/aws-models/sagemaker.json index ea27ec9962615..dcaceb1bb398c 100644 --- a/codegen/sdk-codegen/aws-models/sagemaker.json +++ b/codegen/sdk-codegen/aws-models/sagemaker.json @@ -6691,7 +6691,7 @@ } }, "ExecutionRole": { - "target": "com.amazonaws.sagemaker#IAMRoleArn", + "target": "com.amazonaws.sagemaker#RoleArn", "traits": { "smithy.api#documentation": "

The execution role for the instance group to assume.

" } @@ -6707,6 +6707,12 @@ "traits": { "smithy.api#documentation": "

The additional storage configurations for the instances in the SageMaker HyperPod cluster instance\n group.

" } + }, + "OnStartDeepHealthChecks": { + "target": "com.amazonaws.sagemaker#OnStartDeepHealthChecks", + "traits": { + "smithy.api#documentation": "

A flag indicating whether deep health checks should be performed when the cluster instance group is created or updated.

" + } } }, "traits": { @@ -6765,7 +6771,7 @@ } }, "ExecutionRole": { - "target": "com.amazonaws.sagemaker#IAMRoleArn", + "target": "com.amazonaws.sagemaker#RoleArn", "traits": { "smithy.api#clientOptional": {}, "smithy.api#documentation": "

Specifies an IAM execution role to be assumed by the instance group.

", @@ -6783,6 +6789,12 @@ "traits": { "smithy.api#documentation": "

Specifies the additional storage configurations for the instances in the SageMaker HyperPod cluster\n instance group.

" } + }, + "OnStartDeepHealthChecks": { + "target": "com.amazonaws.sagemaker#OnStartDeepHealthChecks", + "traits": { + "smithy.api#documentation": "

A flag indicating whether deep health checks should be performed when the cluster instance group is created or updated.

" + } } }, "traits": { @@ -6853,6 +6865,12 @@ "traits": { "smithy.api#enumValue": "SystemUpdating" } + }, + "DEEP_HEALTH_CHECK_IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DeepHealthCheckInProgress" + } } } }, @@ -7275,6 +7293,23 @@ "smithy.api#pattern": "^i-[a-f0-9]{8}(?:[a-f0-9]{9})?$" } }, + "com.amazonaws.sagemaker#ClusterNodeRecovery": { + "type": "enum", + "members": { + "AUTOMATIC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Automatic" + } + }, + "NONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "None" + } + } + } + }, "com.amazonaws.sagemaker#ClusterNodeSummaries": { "type": "list", "member": { @@ -7337,6 +7372,38 @@ } } }, + "com.amazonaws.sagemaker#ClusterOrchestrator": { + "type": "structure", + "members": { + "Eks": { + "target": "com.amazonaws.sagemaker#ClusterOrchestratorEksConfig", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon EKS cluster used as the orchestrator for the SageMaker HyperPod cluster.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The type of orchestrator used for the SageMaker HyperPod cluster.

" + } + }, + "com.amazonaws.sagemaker#ClusterOrchestratorEksConfig": { + "type": "structure", + "members": { + "ClusterArn": { + "target": "com.amazonaws.sagemaker#EksClusterArn", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon EKS cluster associated with the SageMaker HyperPod cluster.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration settings for the Amazon EKS cluster used as the orchestrator for the SageMaker HyperPod cluster.

" + } + }, "com.amazonaws.sagemaker#ClusterPrivateDnsHostname": { "type": "string", "traits": { @@ -7503,7 +7570,7 @@ "AppLifecycleManagement": { "target": "com.amazonaws.sagemaker#AppLifecycleManagement", "traits": { - "smithy.api#documentation": "

Settings that are used to configure and manage the lifecycle of CodeEditor applications.

\n

" + "smithy.api#documentation": "

Settings that are used to configure and manage the lifecycle of CodeEditor applications.

" } } }, @@ -9244,6 +9311,18 @@ "traits": { "smithy.api#documentation": "

Custom tags for managing the SageMaker HyperPod cluster as an Amazon Web Services resource. You can\n add tags to your cluster in the same way you add them in other Amazon Web Services services\n that support tagging. To learn more about tagging Amazon Web Services resources in general,\n see Tagging\n Amazon Web Services Resources User Guide.

" } + }, + "Orchestrator": { + "target": "com.amazonaws.sagemaker#ClusterOrchestrator", + "traits": { + "smithy.api#documentation": "

The type of orchestrator to use for the SageMaker HyperPod cluster. Currently, the only supported\n value is \"eks\", which is to use an Amazon Elastic Kubernetes Service (EKS)\n cluster as the orchestrator.

" + } + }, + "NodeRecovery": { + "target": "com.amazonaws.sagemaker#ClusterNodeRecovery", + "traits": { + "smithy.api#documentation": "

The node recovery mode for the SageMaker HyperPod cluster. When set to Automatic,\n SageMaker HyperPod will automatically reboot or replace faulty nodes when issues are detected. When set\n to None, cluster administrators will need to manually manage any faulty\n cluster instances.

" + } } }, "traits": { @@ -14858,6 +14937,23 @@ } } }, + "com.amazonaws.sagemaker#DeepHealthCheckType": { + "type": "enum", + "members": { + "INSTANCE_STRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InstanceStress" + } + }, + "INSTANCE_CONNECTIVITY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InstanceConnectivity" + } + } + } + }, "com.amazonaws.sagemaker#DefaultEbsStorageSettings": { "type": "structure", "members": { @@ -18321,6 +18417,18 @@ }, "VpcConfig": { "target": "com.amazonaws.sagemaker#VpcConfig" + }, + "Orchestrator": { + "target": "com.amazonaws.sagemaker#ClusterOrchestrator", + "traits": { + "smithy.api#documentation": "

The type of orchestrator used for the SageMaker HyperPod cluster.

" + } + }, + "NodeRecovery": { + "target": "com.amazonaws.sagemaker#ClusterNodeRecovery", + "traits": { + "smithy.api#documentation": "

The node recovery mode configured for the SageMaker HyperPod cluster.

" + } } }, "traits": { @@ -27218,6 +27326,16 @@ "smithy.api#pattern": "^\\d+$" } }, + "com.amazonaws.sagemaker#EksClusterArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^arn:aws[a-z\\-]*:eks:[a-z0-9\\-]*:[0-9]{12}:cluster\\/[0-9A-Za-z][A-Za-z0-9\\-_]{0,99}$" + } + }, "com.amazonaws.sagemaker#EmrServerlessComputeConfig": { "type": "structure", "members": { @@ -32134,16 +32252,6 @@ } } }, - "com.amazonaws.sagemaker#IAMRoleArn": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 20, - "max": 2048 - }, - "smithy.api#pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/[\\w+=,.@-]{1,64}$" - } - }, "com.amazonaws.sagemaker#IamIdentity": { "type": "structure", "members": { @@ -49381,6 +49489,18 @@ "smithy.api#documentation": "

A list of user groups that exist in your OIDC Identity Provider (IdP). \n One to ten groups can be used to create a single private work team. \n When you add a user group to the list of Groups, you can add that user group to one or more\n private work teams. If you add a user group to a private work team, all workers in that user group \n are added to the work team.

" } }, + "com.amazonaws.sagemaker#OnStartDeepHealthChecks": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#DeepHealthCheckType" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2 + } + } + }, "com.amazonaws.sagemaker#OnlineStoreConfig": { "type": "structure", "members": { @@ -67524,6 +67644,12 @@ "smithy.api#documentation": "

Specify the instance groups to update.

", "smithy.api#required": {} } + }, + "NodeRecovery": { + "target": "com.amazonaws.sagemaker#ClusterNodeRecovery", + "traits": { + "smithy.api#documentation": "

The node recovery mode to be applied to the SageMaker HyperPod cluster.

" + } } }, "traits": {