Skip to content

Commit

Permalink
feat(client-sagemaker): Extend DescribeClusterNode response with priv…
Browse files Browse the repository at this point in the history
…ate DNS hostname and IP address, and placement information about availability zone and availability zone ID.
  • Loading branch information
awstools committed Jun 4, 2024
1 parent 370c001 commit 60d759d
Show file tree
Hide file tree
Showing 10 changed files with 347 additions and 225 deletions.
3 changes: 2 additions & 1 deletion clients/client-sagemaker/src/commands/CreateSpaceCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ export interface DescribeClusterNodeCommandInput extends DescribeClusterNodeRequ
export interface DescribeClusterNodeCommandOutput extends DescribeClusterNodeResponse, __MetadataBearer {}

/**
* <p>Retrieves information of an instance (also called a <i>node</i>
* <p>Retrieves information of a node (also called a <i>instance</i>
* interchangeably) of a SageMaker HyperPod cluster.</p>
* @example
* Use a bare-bones client and the command you need to make an API call.
Expand Down Expand Up @@ -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",
* // },
* // },
* // };
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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";

Expand Down
116 changes: 38 additions & 78 deletions clients/client-sagemaker/src/models/models_0.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9094,6 +9094,26 @@ export interface ClusterInstanceGroupSpecification {
ThreadsPerCore?: number;
}

/**
* <p>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.</p>
* @public
*/
export interface ClusterInstancePlacement {
/**
* <p>The Availability Zone where the node in the SageMaker HyperPod cluster is launched.</p>
* @public
*/
AvailabilityZone?: string;

/**
* <p>The unique identifier (ID) of the Availability Zone where the node in the SageMaker HyperPod cluster
* is launched.</p>
* @public
*/
AvailabilityZoneId?: string;
}

/**
* @public
* @enum
Expand Down Expand Up @@ -9177,6 +9197,24 @@ export interface ClusterNodeDetails {
* @public
*/
ThreadsPerCore?: number;

/**
* <p>The private primary IP address of the SageMaker HyperPod cluster node.</p>
* @public
*/
PrivatePrimaryIp?: string;

/**
* <p>The private DNS hostname of the SageMaker HyperPod cluster node.</p>
* @public
*/
PrivateDnsHostname?: string;

/**
* <p>The placement details of the SageMaker HyperPod cluster node.</p>
* @public
*/
Placement?: ClusterInstancePlacement;
}

/**
Expand Down Expand Up @@ -11614,81 +11652,3 @@ export interface InputConfig {
*/
FrameworkVersion?: string;
}

/**
* <p>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
* <code>TargetDevice</code>.</p>
* @public
*/
export interface TargetPlatform {
/**
* <p>Specifies a target platform OS.</p>
* <ul>
* <li>
* <p>
* <code>LINUX</code>: Linux-based operating systems.</p>
* </li>
* <li>
* <p>
* <code>ANDROID</code>: Android operating systems. Android API level can be
* specified using the <code>ANDROID_PLATFORM</code> compiler option. For example,
* <code>"CompilerOptions": \{'ANDROID_PLATFORM': 28\}</code>
* </p>
* </li>
* </ul>
* @public
*/
Os: TargetPlatformOs | undefined;

/**
* <p>Specifies a target platform architecture.</p>
* <ul>
* <li>
* <p>
* <code>X86_64</code>: 64-bit version of the x86 instruction set.</p>
* </li>
* <li>
* <p>
* <code>X86</code>: 32-bit version of the x86 instruction set.</p>
* </li>
* <li>
* <p>
* <code>ARM64</code>: ARMv8 64-bit CPU.</p>
* </li>
* <li>
* <p>
* <code>ARM_EABIHF</code>: ARMv7 32-bit, Hard Float.</p>
* </li>
* <li>
* <p>
* <code>ARM_EABI</code>: ARMv7 32-bit, Soft Float. Used by Android 32-bit ARM
* platform.</p>
* </li>
* </ul>
* @public
*/
Arch: TargetPlatformArch | undefined;

/**
* <p>Specifies a target platform accelerator (optional).</p>
* <ul>
* <li>
* <p>
* <code>NVIDIA</code>: Nvidia graphics processing unit. It also requires
* <code>gpu-code</code>, <code>trt-ver</code>, <code>cuda-ver</code> compiler
* options</p>
* </li>
* <li>
* <p>
* <code>MALI</code>: ARM Mali graphics processor</p>
* </li>
* <li>
* <p>
* <code>INTEL_GRAPHICS</code>: Integrated Intel graphics</p>
* </li>
* </ul>
* @public
*/
Accelerator?: TargetPlatformAccelerator;
}
93 changes: 81 additions & 12 deletions clients/client-sagemaker/src/models/models_1.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,13 +57,93 @@ import {
StoppingCondition,
Tag,
TargetDevice,
TargetPlatform,
TargetPlatformAccelerator,
TargetPlatformArch,
TargetPlatformOs,
TrainingInputMode,
TrainingInstanceType,
TransformJobDefinition,
VpcConfig,
} from "./models_0";

/**
* <p>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
* <code>TargetDevice</code>.</p>
* @public
*/
export interface TargetPlatform {
/**
* <p>Specifies a target platform OS.</p>
* <ul>
* <li>
* <p>
* <code>LINUX</code>: Linux-based operating systems.</p>
* </li>
* <li>
* <p>
* <code>ANDROID</code>: Android operating systems. Android API level can be
* specified using the <code>ANDROID_PLATFORM</code> compiler option. For example,
* <code>"CompilerOptions": \{'ANDROID_PLATFORM': 28\}</code>
* </p>
* </li>
* </ul>
* @public
*/
Os: TargetPlatformOs | undefined;

/**
* <p>Specifies a target platform architecture.</p>
* <ul>
* <li>
* <p>
* <code>X86_64</code>: 64-bit version of the x86 instruction set.</p>
* </li>
* <li>
* <p>
* <code>X86</code>: 32-bit version of the x86 instruction set.</p>
* </li>
* <li>
* <p>
* <code>ARM64</code>: ARMv8 64-bit CPU.</p>
* </li>
* <li>
* <p>
* <code>ARM_EABIHF</code>: ARMv7 32-bit, Hard Float.</p>
* </li>
* <li>
* <p>
* <code>ARM_EABI</code>: ARMv7 32-bit, Soft Float. Used by Android 32-bit ARM
* platform.</p>
* </li>
* </ul>
* @public
*/
Arch: TargetPlatformArch | undefined;

/**
* <p>Specifies a target platform accelerator (optional).</p>
* <ul>
* <li>
* <p>
* <code>NVIDIA</code>: Nvidia graphics processing unit. It also requires
* <code>gpu-code</code>, <code>trt-ver</code>, <code>cuda-ver</code> compiler
* options</p>
* </li>
* <li>
* <p>
* <code>MALI</code>: ARM Mali graphics processor</p>
* </li>
* <li>
* <p>
* <code>INTEL_GRAPHICS</code>: Integrated Intel graphics</p>
* </li>
* </ul>
* @public
*/
Accelerator?: TargetPlatformAccelerator;
}

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

/**
* @public
*/
export interface CreateSpaceResponse {
/**
* <p>The space's Amazon Resource Name (ARN).</p>
* @public
*/
SpaceArn?: string;
}

/**
* @internal
*/
Expand Down
34 changes: 14 additions & 20 deletions clients/client-sagemaker/src/models/models_2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,17 @@ import {
VendorGuidance,
} from "./models_1";

/**
* @public
*/
export interface CreateSpaceResponse {
/**
* <p>The space's Amazon Resource Name (ARN).</p>
* @public
*/
SpaceArn?: string;
}

/**
* @public
* @enum
Expand Down Expand Up @@ -3721,13 +3732,13 @@ export interface DescribeClusterResponse {
*/
export interface DescribeClusterNodeRequest {
/**
* <p>The string name or the Amazon Resource Name (ARN) of the SageMaker HyperPod cluster in which the instance is.</p>
* <p>The string name or the Amazon Resource Name (ARN) of the SageMaker HyperPod cluster in which the node is.</p>
* @public
*/
ClusterName: string | undefined;

/**
* <p>The ID of the instance.</p>
* <p>The ID of the SageMaker HyperPod cluster node.</p>
* @public
*/
NodeId: string | undefined;
Expand All @@ -3738,7 +3749,7 @@ export interface DescribeClusterNodeRequest {
*/
export interface DescribeClusterNodeResponse {
/**
* <p>The details of the instance.</p>
* <p>The details of the SageMaker HyperPod cluster node.</p>
* @public
*/
NodeDetails: ClusterNodeDetails | undefined;
Expand Down Expand Up @@ -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
*/
Expand Down
Loading

0 comments on commit 60d759d

Please sign in to comment.