diff --git a/clients/client-sagemaker/src/commands/CreateSpaceCommand.ts b/clients/client-sagemaker/src/commands/CreateSpaceCommand.ts index 008fe888ee205..191bb9320d068 100644 --- a/clients/client-sagemaker/src/commands/CreateSpaceCommand.ts +++ b/clients/client-sagemaker/src/commands/CreateSpaceCommand.ts @@ -5,7 +5,8 @@ import { Command as $Command } from "@smithy/smithy-client"; import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { commonParams } from "../endpoint/EndpointParameters"; -import { CreateSpaceRequest, CreateSpaceResponse } from "../models/models_1"; +import { CreateSpaceRequest } from "../models/models_1"; +import { CreateSpaceResponse } from "../models/models_2"; import { de_CreateSpaceCommand, se_CreateSpaceCommand } from "../protocols/Aws_json1_1"; import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; diff --git a/clients/client-sagemaker/src/commands/DescribeClusterNodeCommand.ts b/clients/client-sagemaker/src/commands/DescribeClusterNodeCommand.ts index 4e9b2b22c1074..9841a1ef287d2 100644 --- a/clients/client-sagemaker/src/commands/DescribeClusterNodeCommand.ts +++ b/clients/client-sagemaker/src/commands/DescribeClusterNodeCommand.ts @@ -27,7 +27,7 @@ export interface DescribeClusterNodeCommandInput extends DescribeClusterNodeRequ export interface DescribeClusterNodeCommandOutput extends DescribeClusterNodeResponse, __MetadataBearer {} /** - *

Retrieves information of an instance (also called a node + *

Retrieves information of a node (also called a instance * interchangeably) of a SageMaker HyperPod cluster.

* @example * Use a bare-bones client and the command you need to make an API call. @@ -56,6 +56,12 @@ export interface DescribeClusterNodeCommandOutput extends DescribeClusterNodeRes * // OnCreate: "STRING_VALUE", // required * // }, * // ThreadsPerCore: Number("int"), + * // PrivatePrimaryIp: "STRING_VALUE", + * // PrivateDnsHostname: "STRING_VALUE", + * // Placement: { // ClusterInstancePlacement + * // AvailabilityZone: "STRING_VALUE", + * // AvailabilityZoneId: "STRING_VALUE", + * // }, * // }, * // }; * diff --git a/clients/client-sagemaker/src/commands/ListNotebookInstancesCommand.ts b/clients/client-sagemaker/src/commands/ListNotebookInstancesCommand.ts index 4ada4117b4465..f3b0615eb23ef 100644 --- a/clients/client-sagemaker/src/commands/ListNotebookInstancesCommand.ts +++ b/clients/client-sagemaker/src/commands/ListNotebookInstancesCommand.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 { ListNotebookInstancesInput } from "../models/models_3"; -import { ListNotebookInstancesOutput } from "../models/models_4"; +import { ListNotebookInstancesInput, ListNotebookInstancesOutput } from "../models/models_4"; import { de_ListNotebookInstancesCommand, se_ListNotebookInstancesCommand } from "../protocols/Aws_json1_1"; import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; diff --git a/clients/client-sagemaker/src/models/models_0.ts b/clients/client-sagemaker/src/models/models_0.ts index b7ad2b5d30fb3..3ed7f35837034 100644 --- a/clients/client-sagemaker/src/models/models_0.ts +++ b/clients/client-sagemaker/src/models/models_0.ts @@ -9094,6 +9094,26 @@ export interface ClusterInstanceGroupSpecification { ThreadsPerCore?: number; } +/** + *

Specifies the placement details for the node in the SageMaker HyperPod cluster, including the + * Availability Zone and the unique identifier (ID) of the Availability Zone.

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

The Availability Zone where the node in the SageMaker HyperPod cluster is launched.

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

The unique identifier (ID) of the Availability Zone where the node in the SageMaker HyperPod cluster + * is launched.

+ * @public + */ + AvailabilityZoneId?: string; +} + /** * @public * @enum @@ -9177,6 +9197,24 @@ export interface ClusterNodeDetails { * @public */ ThreadsPerCore?: number; + + /** + *

The private primary IP address of the SageMaker HyperPod cluster node.

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

The private DNS hostname of the SageMaker HyperPod cluster node.

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

The placement details of the SageMaker HyperPod cluster node.

+ * @public + */ + Placement?: ClusterInstancePlacement; } /** @@ -11614,81 +11652,3 @@ export interface InputConfig { */ FrameworkVersion?: string; } - -/** - *

Contains information about a target platform that you want your model to run on, such - * as OS, architecture, and accelerators. It is an alternative of - * TargetDevice.

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

Specifies a target platform OS.

- * - * @public - */ - Os: TargetPlatformOs | undefined; - - /** - *

Specifies a target platform architecture.

- * - * @public - */ - Arch: TargetPlatformArch | undefined; - - /** - *

Specifies a target platform accelerator (optional).

- * - * @public - */ - Accelerator?: TargetPlatformAccelerator; -} diff --git a/clients/client-sagemaker/src/models/models_1.ts b/clients/client-sagemaker/src/models/models_1.ts index 900af2329129d..35524c5a7dc36 100644 --- a/clients/client-sagemaker/src/models/models_1.ts +++ b/clients/client-sagemaker/src/models/models_1.ts @@ -57,13 +57,93 @@ import { StoppingCondition, Tag, TargetDevice, - TargetPlatform, + TargetPlatformAccelerator, + TargetPlatformArch, + TargetPlatformOs, TrainingInputMode, TrainingInstanceType, TransformJobDefinition, VpcConfig, } from "./models_0"; +/** + *

Contains information about a target platform that you want your model to run on, such + * as OS, architecture, and accelerators. It is an alternative of + * TargetDevice.

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

Specifies a target platform OS.

+ * + * @public + */ + Os: TargetPlatformOs | undefined; + + /** + *

Specifies a target platform architecture.

+ * + * @public + */ + Arch: TargetPlatformArch | undefined; + + /** + *

Specifies a target platform accelerator (optional).

+ * + * @public + */ + Accelerator?: TargetPlatformAccelerator; +} + /** *

Contains information about the output location for the compiled model and the target * device that the model runs on. TargetDevice and TargetPlatform @@ -12269,17 +12349,6 @@ export interface CreateSpaceRequest { SpaceDisplayName?: string; } -/** - * @public - */ -export interface CreateSpaceResponse { - /** - *

The space's Amazon Resource Name (ARN).

- * @public - */ - SpaceArn?: string; -} - /** * @internal */ diff --git a/clients/client-sagemaker/src/models/models_2.ts b/clients/client-sagemaker/src/models/models_2.ts index bc5c2b9b1bdff..9f6dadb595a17 100644 --- a/clients/client-sagemaker/src/models/models_2.ts +++ b/clients/client-sagemaker/src/models/models_2.ts @@ -167,6 +167,17 @@ import { VendorGuidance, } from "./models_1"; +/** + * @public + */ +export interface CreateSpaceResponse { + /** + *

The space's Amazon Resource Name (ARN).

+ * @public + */ + SpaceArn?: string; +} + /** * @public * @enum @@ -3721,13 +3732,13 @@ export interface DescribeClusterResponse { */ export interface DescribeClusterNodeRequest { /** - *

The string name or the Amazon Resource Name (ARN) of the SageMaker HyperPod cluster in which the instance is.

+ *

The string name or the Amazon Resource Name (ARN) of the SageMaker HyperPod cluster in which the node is.

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

The ID of the instance.

+ *

The ID of the SageMaker HyperPod cluster node.

* @public */ NodeId: string | undefined; @@ -3738,7 +3749,7 @@ export interface DescribeClusterNodeRequest { */ export interface DescribeClusterNodeResponse { /** - *

The details of the instance.

+ *

The details of the SageMaker HyperPod cluster node.

* @public */ NodeDetails: ClusterNodeDetails | undefined; @@ -9849,23 +9860,6 @@ export interface DescribeProcessingJobRequest { ProcessingJobName: string | undefined; } -/** - * @public - * @enum - */ -export const ProcessingJobStatus = { - COMPLETED: "Completed", - FAILED: "Failed", - IN_PROGRESS: "InProgress", - STOPPED: "Stopped", - STOPPING: "Stopping", -} as const; - -/** - * @public - */ -export type ProcessingJobStatus = (typeof ProcessingJobStatus)[keyof typeof ProcessingJobStatus]; - /** * @internal */ diff --git a/clients/client-sagemaker/src/models/models_3.ts b/clients/client-sagemaker/src/models/models_3.ts index c226adb63c1f7..cb0e50ee0862f 100644 --- a/clients/client-sagemaker/src/models/models_3.ts +++ b/clients/client-sagemaker/src/models/models_3.ts @@ -124,12 +124,10 @@ import { ModelConfiguration, ModelPackageGroupStatus, MonitoringExecutionSummary, - NotebookInstanceStatus, NotificationConfiguration, ObjectiveStatusCounters, OfflineStoreStatus, OfflineStoreStatusValue, - ProcessingJobStatus, ProductionVariantSummary, ProfilerConfig, ProfilerRuleConfiguration, @@ -149,6 +147,23 @@ import { WorkerAccessConfiguration, } from "./models_2"; +/** + * @public + * @enum + */ +export const ProcessingJobStatus = { + COMPLETED: "Completed", + FAILED: "Failed", + IN_PROGRESS: "InProgress", + STOPPED: "Stopped", + STOPPING: "Stopping", +} as const; + +/** + * @public + */ +export type ProcessingJobStatus = (typeof ProcessingJobStatus)[keyof typeof ProcessingJobStatus]; + /** * @public */ @@ -11177,104 +11192,3 @@ export const NotebookInstanceSortOrder = { * @public */ export type NotebookInstanceSortOrder = (typeof NotebookInstanceSortOrder)[keyof typeof NotebookInstanceSortOrder]; - -/** - * @public - */ -export interface ListNotebookInstancesInput { - /** - *

If the previous call to the ListNotebookInstances is truncated, the - * response includes a NextToken. You can use this token in your subsequent - * ListNotebookInstances request to fetch the next set of notebook - * instances.

- * - *

You might specify a filter or a sort order in your request. When response is - * truncated, you must use the same values for the filer and sort order in the next - * request.

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

The maximum number of notebook instances to return.

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

The field to sort results by. The default is Name.

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

The sort order for results.

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

A string in the notebook instances' name. This filter returns only notebook - * instances whose name contains the specified string.

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

A filter that returns only notebook instances that were created before the - * specified time (timestamp).

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

A filter that returns only notebook instances that were created after the specified - * time (timestamp).

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

A filter that returns only notebook instances that were modified before the - * specified time (timestamp).

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

A filter that returns only notebook instances that were modified after the - * specified time (timestamp).

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

A filter that returns only notebook instances with the specified status.

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

A string in the name of a notebook instances lifecycle configuration associated with - * this notebook instance. This filter returns only notebook instances associated with a - * lifecycle configuration with a name that contains the specified string.

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

A string in the name or URL of a Git repository associated with this notebook - * instance. This filter returns only notebook instances associated with a git repository - * with a name that contains the specified string.

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

A filter that returns only notebook instances with associated with the specified git - * repository.

- * @public - */ - AdditionalCodeRepositoryEquals?: string; -} diff --git a/clients/client-sagemaker/src/models/models_4.ts b/clients/client-sagemaker/src/models/models_4.ts index ea463a77da8c4..aadaa3f84f092 100644 --- a/clients/client-sagemaker/src/models/models_4.ts +++ b/clients/client-sagemaker/src/models/models_4.ts @@ -116,7 +116,6 @@ import { PipelineExecutionStatus, PipelineExperimentConfig, PipelineStatus, - ProcessingJobStatus, ProfilerConfig, ProfilerRuleConfiguration, ScheduleStatus, @@ -153,6 +152,9 @@ import { LineageType, MetricData, MonitoringAlertSummary, + NotebookInstanceSortKey, + NotebookInstanceSortOrder, + ProcessingJobStatus, ProjectStatus, ResourceType, SecondaryStatus, @@ -173,6 +175,107 @@ import { Workteam, } from "./models_3"; +/** + * @public + */ +export interface ListNotebookInstancesInput { + /** + *

If the previous call to the ListNotebookInstances is truncated, the + * response includes a NextToken. You can use this token in your subsequent + * ListNotebookInstances request to fetch the next set of notebook + * instances.

+ * + *

You might specify a filter or a sort order in your request. When response is + * truncated, you must use the same values for the filer and sort order in the next + * request.

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

The maximum number of notebook instances to return.

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

The field to sort results by. The default is Name.

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

The sort order for results.

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

A string in the notebook instances' name. This filter returns only notebook + * instances whose name contains the specified string.

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

A filter that returns only notebook instances that were created before the + * specified time (timestamp).

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

A filter that returns only notebook instances that were created after the specified + * time (timestamp).

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

A filter that returns only notebook instances that were modified before the + * specified time (timestamp).

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

A filter that returns only notebook instances that were modified after the + * specified time (timestamp).

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

A filter that returns only notebook instances with the specified status.

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

A string in the name of a notebook instances lifecycle configuration associated with + * this notebook instance. This filter returns only notebook instances associated with a + * lifecycle configuration with a name that contains the specified string.

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

A string in the name or URL of a Git repository associated with this notebook + * instance. This filter returns only notebook instances associated with a git repository + * with a name that contains the specified string.

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

A filter that returns only notebook instances with associated with the specified git + * repository.

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

Provides summary information for an SageMaker notebook instance.

* @public diff --git a/clients/client-sagemaker/src/protocols/Aws_json1_1.ts b/clients/client-sagemaker/src/protocols/Aws_json1_1.ts index 2d6b887cd1cb3..9fc55718a07c6 100644 --- a/clients/client-sagemaker/src/protocols/Aws_json1_1.ts +++ b/clients/client-sagemaker/src/protocols/Aws_json1_1.ts @@ -938,6 +938,7 @@ import { ClarifyTextConfig, ClusterInstanceGroupDetails, ClusterInstanceGroupSpecification, + ClusterInstancePlacement, ClusterInstanceStatusDetails, ClusterLifeCycleConfig, ClusterNodeDetails, @@ -1037,7 +1038,6 @@ import { TabularJobConfig, TabularResolvedAttributes, Tag, - TargetPlatform, TextClassificationJobConfig, TextGenerationJobConfig, TextGenerationResolvedAttributes, @@ -1139,7 +1139,6 @@ import { CreateProjectInput, CreateProjectOutput, CreateSpaceRequest, - CreateSpaceResponse, CustomFileSystem, CustomFileSystemConfig, CustomPosixUserConfig, @@ -1310,6 +1309,7 @@ import { SpaceSharingSettings, SpaceStorageSettings, Stairs, + TargetPlatform, TensorBoardAppSettings, ThroughputConfig, TrafficPattern, @@ -1321,6 +1321,7 @@ import { UserSettings, } from "../models/models_1"; import { + CreateSpaceResponse, CreateStudioLifecycleConfigRequest, CreateStudioLifecycleConfigResponse, CreateTrainingJobRequest, @@ -1776,7 +1777,6 @@ import { ListMonitoringSchedulesResponse, ListNotebookInstanceLifecycleConfigsInput, ListNotebookInstanceLifecycleConfigsOutput, - ListNotebookInstancesInput, MetricData, MetricSpecification, ModelCardExportJobSummary, @@ -1821,6 +1821,7 @@ import { Workteam, } from "../models/models_3"; import { + ListNotebookInstancesInput, ListNotebookInstancesOutput, ListPipelineExecutionsRequest, ListPipelineExecutionsResponse, @@ -17293,6 +17294,16 @@ const de_ClusterInstanceGroupDetailsList = (output: any, context: __SerdeContext return retVal; }; +/** + * deserializeAws_json1_1ClusterInstancePlacement + */ +const de_ClusterInstancePlacement = (output: any, context: __SerdeContext): ClusterInstancePlacement => { + return take(output, { + AvailabilityZone: __expectString, + AvailabilityZoneId: __expectString, + }) as any; +}; + /** * deserializeAws_json1_1ClusterInstanceStatusDetails */ @@ -17324,6 +17335,9 @@ const de_ClusterNodeDetails = (output: any, context: __SerdeContext): ClusterNod InstanceType: __expectString, LaunchTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), LifeCycleConfig: (_: any) => de_ClusterLifeCycleConfig(_, context), + Placement: (_: any) => de_ClusterInstancePlacement(_, context), + PrivateDnsHostname: __expectString, + PrivatePrimaryIp: __expectString, ThreadsPerCore: __expectInt32, }) as any; }; diff --git a/codegen/sdk-codegen/aws-models/sagemaker.json b/codegen/sdk-codegen/aws-models/sagemaker.json index cbbb16357a581..c18108b5f7f4e 100644 --- a/codegen/sdk-codegen/aws-models/sagemaker.json +++ b/codegen/sdk-codegen/aws-models/sagemaker.json @@ -6443,6 +6443,18 @@ "smithy.api#pattern": "^arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:cluster/[a-z0-9]{12}$" } }, + "com.amazonaws.sagemaker#ClusterAvailabilityZone": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[a-z]{2}-[a-z]+-\\d[a-z]$" + } + }, + "com.amazonaws.sagemaker#ClusterAvailabilityZoneId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[a-z]{3}\\d-az\\d$" + } + }, "com.amazonaws.sagemaker#ClusterInstanceCount": { "type": "integer", "traits": { @@ -6583,6 +6595,26 @@ } } }, + "com.amazonaws.sagemaker#ClusterInstancePlacement": { + "type": "structure", + "members": { + "AvailabilityZone": { + "target": "com.amazonaws.sagemaker#ClusterAvailabilityZone", + "traits": { + "smithy.api#documentation": "

The Availability Zone where the node in the SageMaker HyperPod cluster is launched.

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

The unique identifier (ID) of the Availability Zone where the node in the SageMaker HyperPod cluster\n is launched.

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

Specifies the placement details for the node in the SageMaker HyperPod cluster, including the\n Availability Zone and the unique identifier (ID) of the Availability Zone.

" + } + }, "com.amazonaws.sagemaker#ClusterInstanceStatus": { "type": "enum", "members": { @@ -6971,6 +7003,24 @@ "traits": { "smithy.api#documentation": "

The number of threads per CPU core you specified under\n CreateCluster.

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

The private primary IP address of the SageMaker HyperPod cluster node.

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

The private DNS hostname of the SageMaker HyperPod cluster node.

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

The placement details of the SageMaker HyperPod cluster node.

" + } } }, "traits": { @@ -7049,6 +7099,18 @@ } } }, + "com.amazonaws.sagemaker#ClusterPrivateDnsHostname": { + "type": "string", + "traits": { + "smithy.api#pattern": "^ip-((25[0-5]|(2[0-4]|1\\d|[1-9]|)\\d)-?\\b){4}\\..*$" + } + }, + "com.amazonaws.sagemaker#ClusterPrivatePrimaryIp": { + "type": "string", + "traits": { + "smithy.api#pattern": "^((25[0-5]|(2[0-4]|1\\d|[1-9]|)\\d)\\.?\\b){4}$" + } + }, "com.amazonaws.sagemaker#ClusterSortBy": { "type": "enum", "members": { @@ -17404,7 +17466,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves information of an instance (also called a node\n interchangeably) of a SageMaker HyperPod cluster.

" + "smithy.api#documentation": "

Retrieves information of a node (also called a instance\n interchangeably) of a SageMaker HyperPod cluster.

" } }, "com.amazonaws.sagemaker#DescribeClusterNodeRequest": { @@ -17414,7 +17476,7 @@ "target": "com.amazonaws.sagemaker#ClusterNameOrArn", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The string name or the Amazon Resource Name (ARN) of the SageMaker HyperPod cluster in which the instance is.

", + "smithy.api#documentation": "

The string name or the Amazon Resource Name (ARN) of the SageMaker HyperPod cluster in which the node is.

", "smithy.api#required": {} } }, @@ -17422,7 +17484,7 @@ "target": "com.amazonaws.sagemaker#ClusterNodeId", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the instance.

", + "smithy.api#documentation": "

The ID of the SageMaker HyperPod cluster node.

", "smithy.api#required": {} } } @@ -17438,7 +17500,7 @@ "target": "com.amazonaws.sagemaker#ClusterNodeDetails", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The details of the instance.

", + "smithy.api#documentation": "

The details of the SageMaker HyperPod cluster node.

", "smithy.api#required": {} } }