Skip to content

Commit bfe260b

Browse files
author
awstools
committed
feat(client-sagemaker): This release adds a new API UpdateClusterSoftware for SageMaker HyperPod. This API allows users to patch HyperPod clusters with latest platform softwares.
1 parent 2905d17 commit bfe260b

File tree

16 files changed

+319
-58
lines changed

16 files changed

+319
-58
lines changed

clients/client-sagemaker/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2513,6 +2513,14 @@ UpdateCluster
25132513

25142514
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/sagemaker/command/UpdateClusterCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sagemaker/Interface/UpdateClusterCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sagemaker/Interface/UpdateClusterCommandOutput/)
25152515

2516+
</details>
2517+
<details>
2518+
<summary>
2519+
UpdateClusterSoftware
2520+
</summary>
2521+
2522+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/sagemaker/command/UpdateClusterSoftwareCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sagemaker/Interface/UpdateClusterSoftwareCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sagemaker/Interface/UpdateClusterSoftwareCommandOutput/)
2523+
25162524
</details>
25172525
<details>
25182526
<summary>

clients/client-sagemaker/src/SageMaker.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1325,6 +1325,11 @@ import {
13251325
UpdateClusterCommandInput,
13261326
UpdateClusterCommandOutput,
13271327
} from "./commands/UpdateClusterCommand";
1328+
import {
1329+
UpdateClusterSoftwareCommand,
1330+
UpdateClusterSoftwareCommandInput,
1331+
UpdateClusterSoftwareCommandOutput,
1332+
} from "./commands/UpdateClusterSoftwareCommand";
13281333
import {
13291334
UpdateCodeRepositoryCommand,
13301335
UpdateCodeRepositoryCommandInput,
@@ -1759,6 +1764,7 @@ const commands = {
17591764
UpdateAppImageConfigCommand,
17601765
UpdateArtifactCommand,
17611766
UpdateClusterCommand,
1767+
UpdateClusterSoftwareCommand,
17621768
UpdateCodeRepositoryCommand,
17631769
UpdateContextCommand,
17641770
UpdateDeviceFleetCommand,
@@ -6259,6 +6265,23 @@ export interface SageMaker {
62596265
cb: (err: any, data?: UpdateClusterCommandOutput) => void
62606266
): void;
62616267

6268+
/**
6269+
* @see {@link UpdateClusterSoftwareCommand}
6270+
*/
6271+
updateClusterSoftware(
6272+
args: UpdateClusterSoftwareCommandInput,
6273+
options?: __HttpHandlerOptions
6274+
): Promise<UpdateClusterSoftwareCommandOutput>;
6275+
updateClusterSoftware(
6276+
args: UpdateClusterSoftwareCommandInput,
6277+
cb: (err: any, data?: UpdateClusterSoftwareCommandOutput) => void
6278+
): void;
6279+
updateClusterSoftware(
6280+
args: UpdateClusterSoftwareCommandInput,
6281+
options: __HttpHandlerOptions,
6282+
cb: (err: any, data?: UpdateClusterSoftwareCommandOutput) => void
6283+
): void;
6284+
62626285
/**
62636286
* @see {@link UpdateCodeRepositoryCommand}
62646287
*/

clients/client-sagemaker/src/SageMakerClient.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -793,6 +793,10 @@ import {
793793
} from "./commands/UpdateAppImageConfigCommand";
794794
import { UpdateArtifactCommandInput, UpdateArtifactCommandOutput } from "./commands/UpdateArtifactCommand";
795795
import { UpdateClusterCommandInput, UpdateClusterCommandOutput } from "./commands/UpdateClusterCommand";
796+
import {
797+
UpdateClusterSoftwareCommandInput,
798+
UpdateClusterSoftwareCommandOutput,
799+
} from "./commands/UpdateClusterSoftwareCommand";
796800
import {
797801
UpdateCodeRepositoryCommandInput,
798802
UpdateCodeRepositoryCommandOutput,
@@ -1163,6 +1167,7 @@ export type ServiceInputTypes =
11631167
| UpdateAppImageConfigCommandInput
11641168
| UpdateArtifactCommandInput
11651169
| UpdateClusterCommandInput
1170+
| UpdateClusterSoftwareCommandInput
11661171
| UpdateCodeRepositoryCommandInput
11671172
| UpdateContextCommandInput
11681173
| UpdateDeviceFleetCommandInput
@@ -1487,6 +1492,7 @@ export type ServiceOutputTypes =
14871492
| UpdateAppImageConfigCommandOutput
14881493
| UpdateArtifactCommandOutput
14891494
| UpdateClusterCommandOutput
1495+
| UpdateClusterSoftwareCommandOutput
14901496
| UpdateCodeRepositoryCommandOutput
14911497
| UpdateContextCommandOutput
14921498
| UpdateDeviceFleetCommandOutput

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,13 @@ export interface AddTagsCommandOutput extends AddTagsOutput, __MetadataBearer {}
4545
* </p>
4646
* </note>
4747
* <note>
48-
* <p>Tags that you add to a SageMaker Domain or User Profile by calling this API
49-
* are also added to any Apps that the Domain or User Profile launches after you call
50-
* this API, but not to Apps that the Domain or User Profile launched before you called
51-
* this API. To make sure that the tags associated with a Domain or User Profile are
52-
* also added to all Apps that the Domain or User Profile launches, add the tags when
53-
* you first create the Domain or User Profile by specifying them in the
54-
* <code>Tags</code> parameter of <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html">CreateDomain</a>
48+
* <p>Tags that you add to a SageMaker Domain or User Profile by calling this API are
49+
* also added to any Apps that the Domain or User Profile launches after you call this
50+
* API, but not to Apps that the Domain or User Profile launched before you called this
51+
* API. To make sure that the tags associated with a Domain or User Profile are also
52+
* added to all Apps that the Domain or User Profile launches, add the tags when you
53+
* first create the Domain or User Profile by specifying them in the <code>Tags</code>
54+
* parameter of <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html">CreateDomain</a>
5555
* or <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html">CreateUserProfile</a>.</p>
5656
* </note>
5757
* @example

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export interface DeleteHyperParameterTuningJobCommandOutput extends __MetadataBe
3333
* @public
3434
* <p>Deletes a hyperparameter tuning job. The <code>DeleteHyperParameterTuningJob</code>
3535
* API deletes only the tuning job entry that was created in SageMaker when you called the
36-
* <code>CreateHyperParameterTuningJob</code> API. It does not delete training jobs,
36+
* <code>CreateHyperParameterTuningJob</code> API. It does not delete training jobs,
3737
* artifacts, or the IAM role that you specified when creating the model.</p>
3838
* @example
3939
* Use a bare-bones client and the command you need to make an API call.

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ export interface DeleteTagsCommandOutput extends DeleteTagsOutput, __MetadataBea
3636
* launched before you called this API.</p>
3737
* </note>
3838
* <note>
39-
* <p>When you call this API to delete tags from a SageMaker Domain or User
40-
* Profile, the deleted tags are not removed from Apps that the SageMaker Domain
41-
* or User Profile launched before you called this API.</p>
39+
* <p>When you call this API to delete tags from a SageMaker Domain or User Profile, the
40+
* deleted tags are not removed from Apps that the SageMaker Domain or User Profile
41+
* launched before you called this API.</p>
4242
* </note>
4343
* @example
4444
* Use a bare-bones client and the command you need to make an API call.

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export interface UpdateClusterCommandOutput extends UpdateClusterResponse, __Met
2828

2929
/**
3030
* @public
31-
* <p>Update a SageMaker HyperPod cluster.</p>
31+
* <p>Updates a SageMaker HyperPod cluster.</p>
3232
* @example
3333
* Use a bare-bones client and the command you need to make an API call.
3434
* ```javascript
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
// smithy-typescript generated code
2+
import { getEndpointPlugin } from "@smithy/middleware-endpoint";
3+
import { getSerdePlugin } from "@smithy/middleware-serde";
4+
import { Command as $Command } from "@smithy/smithy-client";
5+
import { MetadataBearer as __MetadataBearer } from "@smithy/types";
6+
7+
import { commonParams } from "../endpoint/EndpointParameters";
8+
import { UpdateClusterSoftwareRequest, UpdateClusterSoftwareResponse } from "../models/models_4";
9+
import { de_UpdateClusterSoftwareCommand, se_UpdateClusterSoftwareCommand } from "../protocols/Aws_json1_1";
10+
import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient";
11+
12+
/**
13+
* @public
14+
*/
15+
export { __MetadataBearer, $Command };
16+
/**
17+
* @public
18+
*
19+
* The input for {@link UpdateClusterSoftwareCommand}.
20+
*/
21+
export interface UpdateClusterSoftwareCommandInput extends UpdateClusterSoftwareRequest {}
22+
/**
23+
* @public
24+
*
25+
* The output of {@link UpdateClusterSoftwareCommand}.
26+
*/
27+
export interface UpdateClusterSoftwareCommandOutput extends UpdateClusterSoftwareResponse, __MetadataBearer {}
28+
29+
/**
30+
* @public
31+
* <p>Updates the platform software of a SageMaker HyperPod cluster for security patching. To learn how to
32+
* use this API, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-operate.html#sagemaker-hyperpod-operate-cli-command-update-cluster-software">Update the SageMaker HyperPod platform software of a cluster</a>.</p>
33+
* @example
34+
* Use a bare-bones client and the command you need to make an API call.
35+
* ```javascript
36+
* import { SageMakerClient, UpdateClusterSoftwareCommand } from "@aws-sdk/client-sagemaker"; // ES Modules import
37+
* // const { SageMakerClient, UpdateClusterSoftwareCommand } = require("@aws-sdk/client-sagemaker"); // CommonJS import
38+
* const client = new SageMakerClient(config);
39+
* const input = { // UpdateClusterSoftwareRequest
40+
* ClusterName: "STRING_VALUE", // required
41+
* };
42+
* const command = new UpdateClusterSoftwareCommand(input);
43+
* const response = await client.send(command);
44+
* // { // UpdateClusterSoftwareResponse
45+
* // ClusterArn: "STRING_VALUE", // required
46+
* // };
47+
*
48+
* ```
49+
*
50+
* @param UpdateClusterSoftwareCommandInput - {@link UpdateClusterSoftwareCommandInput}
51+
* @returns {@link UpdateClusterSoftwareCommandOutput}
52+
* @see {@link UpdateClusterSoftwareCommandInput} for command's `input` shape.
53+
* @see {@link UpdateClusterSoftwareCommandOutput} for command's `response` shape.
54+
* @see {@link SageMakerClientResolvedConfig | config} for SageMakerClient's `config` shape.
55+
*
56+
* @throws {@link ConflictException} (client fault)
57+
* <p>There was a conflict when you attempted to modify a SageMaker entity such as an
58+
* <code>Experiment</code> or <code>Artifact</code>.</p>
59+
*
60+
* @throws {@link ResourceNotFound} (client fault)
61+
* <p>Resource being access is not found.</p>
62+
*
63+
* @throws {@link SageMakerServiceException}
64+
* <p>Base exception class for all service exceptions from SageMaker service.</p>
65+
*
66+
*/
67+
export class UpdateClusterSoftwareCommand extends $Command
68+
.classBuilder<
69+
UpdateClusterSoftwareCommandInput,
70+
UpdateClusterSoftwareCommandOutput,
71+
SageMakerClientResolvedConfig,
72+
ServiceInputTypes,
73+
ServiceOutputTypes
74+
>()
75+
.ep({
76+
...commonParams,
77+
})
78+
.m(function (this: any, Command: any, cs: any, config: SageMakerClientResolvedConfig, o: any) {
79+
return [
80+
getSerdePlugin(config, this.serialize, this.deserialize),
81+
getEndpointPlugin(config, Command.getEndpointParameterInstructions()),
82+
];
83+
})
84+
.s("SageMaker", "UpdateClusterSoftware", {})
85+
.n("SageMakerClient", "UpdateClusterSoftwareCommand")
86+
.f(void 0, void 0)
87+
.ser(se_UpdateClusterSoftwareCommand)
88+
.de(de_UpdateClusterSoftwareCommand)
89+
.build() {}

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

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,15 @@ export interface UpdateEndpointCommandOutput extends UpdateEndpointOutput, __Met
2828

2929
/**
3030
* @public
31-
* <p>Deploys the <code>EndpointConfig</code> specified in the request
32-
* to a new fleet of instances. SageMaker shifts endpoint traffic to the new instances
33-
* with the updated endpoint configuration and then deletes the old instances
34-
* using the previous <code>EndpointConfig</code> (there is no availability loss).
35-
* For more information about how to control the update and traffic shifting process, see
36-
* <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails.html">
37-
* Update models in production</a>.</p>
38-
* <p>When SageMaker receives the request, it sets the endpoint status to
39-
* <code>Updating</code>. After updating the endpoint, it sets the status to
40-
* <code>InService</code>. To check the status of an endpoint, use the <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html">DescribeEndpoint</a> API.
31+
* <p>Deploys the <code>EndpointConfig</code> specified in the request to a new fleet of
32+
* instances. SageMaker shifts endpoint traffic to the new instances with the updated endpoint
33+
* configuration and then deletes the old instances using the previous
34+
* <code>EndpointConfig</code> (there is no availability loss). For more information
35+
* about how to control the update and traffic shifting process, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails.html"> Update
36+
* models in production</a>.</p>
37+
* <p>When SageMaker receives the request, it sets the endpoint status to <code>Updating</code>.
38+
* After updating the endpoint, it sets the status to <code>InService</code>. To check the
39+
* status of an endpoint, use the <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html">DescribeEndpoint</a> API.
4140
*
4241
* </p>
4342
* <note>

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,7 @@ export * from "./UpdateActionCommand";
286286
export * from "./UpdateAppImageConfigCommand";
287287
export * from "./UpdateArtifactCommand";
288288
export * from "./UpdateClusterCommand";
289+
export * from "./UpdateClusterSoftwareCommand";
289290
export * from "./UpdateCodeRepositoryCommand";
290291
export * from "./UpdateContextCommand";
291292
export * from "./UpdateDeviceFleetCommand";

0 commit comments

Comments
 (0)