Skip to content

Commit 1048205

Browse files
author
awstools
committed
feat(client-sagemaker): Adds support for model references in Hub service, and adds support for cross-account access of Hubs
1 parent e0f0232 commit 1048205

39 files changed

+1409
-622
lines changed

clients/client-sagemaker/README.md

+16
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,14 @@ CreateHub
433433

434434
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/sagemaker/command/CreateHubCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sagemaker/Interface/CreateHubCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sagemaker/Interface/CreateHubCommandOutput/)
435435

436+
</details>
437+
<details>
438+
<summary>
439+
CreateHubContentReference
440+
</summary>
441+
442+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/sagemaker/command/CreateHubContentReferenceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sagemaker/Interface/CreateHubContentReferenceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sagemaker/Interface/CreateHubContentReferenceCommandOutput/)
443+
436444
</details>
437445
<details>
438446
<summary>
@@ -889,6 +897,14 @@ DeleteHubContent
889897

890898
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/sagemaker/command/DeleteHubContentCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sagemaker/Interface/DeleteHubContentCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sagemaker/Interface/DeleteHubContentCommandOutput/)
891899

900+
</details>
901+
<details>
902+
<summary>
903+
DeleteHubContentReference
904+
</summary>
905+
906+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/sagemaker/command/DeleteHubContentReferenceCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sagemaker/Interface/DeleteHubContentReferenceCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-sagemaker/Interface/DeleteHubContentReferenceCommandOutput/)
907+
892908
</details>
893909
<details>
894910
<summary>

clients/client-sagemaker/src/SageMaker.ts

+46
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,11 @@ import {
125125
CreateFlowDefinitionCommandOutput,
126126
} from "./commands/CreateFlowDefinitionCommand";
127127
import { CreateHubCommand, CreateHubCommandInput, CreateHubCommandOutput } from "./commands/CreateHubCommand";
128+
import {
129+
CreateHubContentReferenceCommand,
130+
CreateHubContentReferenceCommandInput,
131+
CreateHubContentReferenceCommandOutput,
132+
} from "./commands/CreateHubContentReferenceCommand";
128133
import {
129134
CreateHumanTaskUiCommand,
130135
CreateHumanTaskUiCommandInput,
@@ -386,6 +391,11 @@ import {
386391
DeleteHubContentCommandInput,
387392
DeleteHubContentCommandOutput,
388393
} from "./commands/DeleteHubContentCommand";
394+
import {
395+
DeleteHubContentReferenceCommand,
396+
DeleteHubContentReferenceCommandInput,
397+
DeleteHubContentReferenceCommandOutput,
398+
} from "./commands/DeleteHubContentReferenceCommand";
389399
import {
390400
DeleteHumanTaskUiCommand,
391401
DeleteHumanTaskUiCommandInput,
@@ -1544,6 +1554,7 @@ const commands = {
15441554
CreateFeatureGroupCommand,
15451555
CreateFlowDefinitionCommand,
15461556
CreateHubCommand,
1557+
CreateHubContentReferenceCommand,
15471558
CreateHumanTaskUiCommand,
15481559
CreateHyperParameterTuningJobCommand,
15491560
CreateImageCommand,
@@ -1601,6 +1612,7 @@ const commands = {
16011612
DeleteFlowDefinitionCommand,
16021613
DeleteHubCommand,
16031614
DeleteHubContentCommand,
1615+
DeleteHubContentReferenceCommand,
16041616
DeleteHumanTaskUiCommand,
16051617
DeleteHyperParameterTuningJobCommand,
16061618
DeleteImageCommand,
@@ -2250,6 +2262,23 @@ export interface SageMaker {
22502262
cb: (err: any, data?: CreateHubCommandOutput) => void
22512263
): void;
22522264

2265+
/**
2266+
* @see {@link CreateHubContentReferenceCommand}
2267+
*/
2268+
createHubContentReference(
2269+
args: CreateHubContentReferenceCommandInput,
2270+
options?: __HttpHandlerOptions
2271+
): Promise<CreateHubContentReferenceCommandOutput>;
2272+
createHubContentReference(
2273+
args: CreateHubContentReferenceCommandInput,
2274+
cb: (err: any, data?: CreateHubContentReferenceCommandOutput) => void
2275+
): void;
2276+
createHubContentReference(
2277+
args: CreateHubContentReferenceCommandInput,
2278+
options: __HttpHandlerOptions,
2279+
cb: (err: any, data?: CreateHubContentReferenceCommandOutput) => void
2280+
): void;
2281+
22532282
/**
22542283
* @see {@link CreateHumanTaskUiCommand}
22552284
*/
@@ -3134,6 +3163,23 @@ export interface SageMaker {
31343163
cb: (err: any, data?: DeleteHubContentCommandOutput) => void
31353164
): void;
31363165

3166+
/**
3167+
* @see {@link DeleteHubContentReferenceCommand}
3168+
*/
3169+
deleteHubContentReference(
3170+
args: DeleteHubContentReferenceCommandInput,
3171+
options?: __HttpHandlerOptions
3172+
): Promise<DeleteHubContentReferenceCommandOutput>;
3173+
deleteHubContentReference(
3174+
args: DeleteHubContentReferenceCommandInput,
3175+
cb: (err: any, data?: DeleteHubContentReferenceCommandOutput) => void
3176+
): void;
3177+
deleteHubContentReference(
3178+
args: DeleteHubContentReferenceCommandInput,
3179+
options: __HttpHandlerOptions,
3180+
cb: (err: any, data?: DeleteHubContentReferenceCommandOutput) => void
3181+
): void;
3182+
31373183
/**
31383184
* @see {@link DeleteHumanTaskUiCommand}
31393185
*/

clients/client-sagemaker/src/SageMakerClient.ts

+12
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,10 @@ import {
113113
CreateFlowDefinitionCommandOutput,
114114
} from "./commands/CreateFlowDefinitionCommand";
115115
import { CreateHubCommandInput, CreateHubCommandOutput } from "./commands/CreateHubCommand";
116+
import {
117+
CreateHubContentReferenceCommandInput,
118+
CreateHubContentReferenceCommandOutput,
119+
} from "./commands/CreateHubContentReferenceCommand";
116120
import { CreateHumanTaskUiCommandInput, CreateHumanTaskUiCommandOutput } from "./commands/CreateHumanTaskUiCommand";
117121
import {
118122
CreateHyperParameterTuningJobCommandInput,
@@ -251,6 +255,10 @@ import {
251255
} from "./commands/DeleteFlowDefinitionCommand";
252256
import { DeleteHubCommandInput, DeleteHubCommandOutput } from "./commands/DeleteHubCommand";
253257
import { DeleteHubContentCommandInput, DeleteHubContentCommandOutput } from "./commands/DeleteHubContentCommand";
258+
import {
259+
DeleteHubContentReferenceCommandInput,
260+
DeleteHubContentReferenceCommandOutput,
261+
} from "./commands/DeleteHubContentReferenceCommand";
254262
import { DeleteHumanTaskUiCommandInput, DeleteHumanTaskUiCommandOutput } from "./commands/DeleteHumanTaskUiCommand";
255263
import {
256264
DeleteHyperParameterTuningJobCommandInput,
@@ -939,6 +947,7 @@ export type ServiceInputTypes =
939947
| CreateFeatureGroupCommandInput
940948
| CreateFlowDefinitionCommandInput
941949
| CreateHubCommandInput
950+
| CreateHubContentReferenceCommandInput
942951
| CreateHumanTaskUiCommandInput
943952
| CreateHyperParameterTuningJobCommandInput
944953
| CreateImageCommandInput
@@ -996,6 +1005,7 @@ export type ServiceInputTypes =
9961005
| DeleteFlowDefinitionCommandInput
9971006
| DeleteHubCommandInput
9981007
| DeleteHubContentCommandInput
1008+
| DeleteHubContentReferenceCommandInput
9991009
| DeleteHumanTaskUiCommandInput
10001010
| DeleteHyperParameterTuningJobCommandInput
10011011
| DeleteImageCommandInput
@@ -1272,6 +1282,7 @@ export type ServiceOutputTypes =
12721282
| CreateFeatureGroupCommandOutput
12731283
| CreateFlowDefinitionCommandOutput
12741284
| CreateHubCommandOutput
1285+
| CreateHubContentReferenceCommandOutput
12751286
| CreateHumanTaskUiCommandOutput
12761287
| CreateHyperParameterTuningJobCommandOutput
12771288
| CreateImageCommandOutput
@@ -1329,6 +1340,7 @@ export type ServiceOutputTypes =
13291340
| DeleteFlowDefinitionCommandOutput
13301341
| DeleteHubCommandOutput
13311342
| DeleteHubContentCommandOutput
1343+
| DeleteHubContentReferenceCommandOutput
13321344
| DeleteHumanTaskUiCommandOutput
13331345
| DeleteHyperParameterTuningJobCommandOutput
13341346
| DeleteImageCommandOutput

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

+3
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ export interface BatchDescribeModelPackageCommandOutput extends BatchDescribeMod
6565
* // ModelAccessConfig: { // ModelAccessConfig
6666
* // AcceptEula: true || false, // required
6767
* // },
68+
* // HubAccessConfig: { // InferenceHubAccessConfig
69+
* // HubContentArn: "STRING_VALUE", // required
70+
* // },
6871
* // },
6972
* // },
7073
* // ProductId: "STRING_VALUE",

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

+3
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,9 @@ export interface CreateAlgorithmCommandOutput extends CreateAlgorithmOutput, __M
119119
* ModelAccessConfig: { // ModelAccessConfig
120120
* AcceptEula: true || false, // required
121121
* },
122+
* HubAccessConfig: { // InferenceHubAccessConfig
123+
* HubContentArn: "STRING_VALUE", // required
124+
* },
122125
* },
123126
* },
124127
* ProductId: "STRING_VALUE",

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

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

77
import { commonParams } from "../endpoint/EndpointParameters";
8-
import { CreateCodeRepositoryInput, CreateCodeRepositoryOutput } from "../models/models_0";
8+
import { CreateCodeRepositoryInput } from "../models/models_0";
9+
import { CreateCodeRepositoryOutput } from "../models/models_1";
910
import { de_CreateCodeRepositoryCommand, se_CreateCodeRepositoryCommand } from "../protocols/Aws_json1_1";
1011
import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient";
1112

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

-3
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,6 @@ export interface CreateHubCommandOutput extends CreateHubResponse, __MetadataBea
2929

3030
/**
3131
* <p>Create a hub.</p>
32-
* <note>
33-
* <p>Hub APIs are only callable through SageMaker Studio.</p>
34-
* </note>
3532
* @example
3633
* Use a bare-bones client and the command you need to make an API call.
3734
* ```javascript
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
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 { CreateHubContentReferenceRequest, CreateHubContentReferenceResponse } from "../models/models_1";
9+
import { de_CreateHubContentReferenceCommand, se_CreateHubContentReferenceCommand } from "../protocols/Aws_json1_1";
10+
import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient";
11+
12+
/**
13+
* @public
14+
*/
15+
export type { __MetadataBearer };
16+
export { $Command };
17+
/**
18+
* @public
19+
*
20+
* The input for {@link CreateHubContentReferenceCommand}.
21+
*/
22+
export interface CreateHubContentReferenceCommandInput extends CreateHubContentReferenceRequest {}
23+
/**
24+
* @public
25+
*
26+
* The output of {@link CreateHubContentReferenceCommand}.
27+
*/
28+
export interface CreateHubContentReferenceCommandOutput extends CreateHubContentReferenceResponse, __MetadataBearer {}
29+
30+
/**
31+
* <p>Create a hub content reference in order to add a model in the JumpStart public hub to a private hub.</p>
32+
* @example
33+
* Use a bare-bones client and the command you need to make an API call.
34+
* ```javascript
35+
* import { SageMakerClient, CreateHubContentReferenceCommand } from "@aws-sdk/client-sagemaker"; // ES Modules import
36+
* // const { SageMakerClient, CreateHubContentReferenceCommand } = require("@aws-sdk/client-sagemaker"); // CommonJS import
37+
* const client = new SageMakerClient(config);
38+
* const input = { // CreateHubContentReferenceRequest
39+
* HubName: "STRING_VALUE", // required
40+
* SageMakerPublicHubContentArn: "STRING_VALUE", // required
41+
* HubContentName: "STRING_VALUE",
42+
* MinVersion: "STRING_VALUE",
43+
* Tags: [ // TagList
44+
* { // Tag
45+
* Key: "STRING_VALUE", // required
46+
* Value: "STRING_VALUE", // required
47+
* },
48+
* ],
49+
* };
50+
* const command = new CreateHubContentReferenceCommand(input);
51+
* const response = await client.send(command);
52+
* // { // CreateHubContentReferenceResponse
53+
* // HubArn: "STRING_VALUE", // required
54+
* // HubContentArn: "STRING_VALUE", // required
55+
* // };
56+
*
57+
* ```
58+
*
59+
* @param CreateHubContentReferenceCommandInput - {@link CreateHubContentReferenceCommandInput}
60+
* @returns {@link CreateHubContentReferenceCommandOutput}
61+
* @see {@link CreateHubContentReferenceCommandInput} for command's `input` shape.
62+
* @see {@link CreateHubContentReferenceCommandOutput} for command's `response` shape.
63+
* @see {@link SageMakerClientResolvedConfig | config} for SageMakerClient's `config` shape.
64+
*
65+
* @throws {@link ResourceInUse} (client fault)
66+
* <p>Resource being accessed is in use.</p>
67+
*
68+
* @throws {@link ResourceLimitExceeded} (client fault)
69+
* <p> You have exceeded an SageMaker resource limit. For example, you might have too many
70+
* training jobs created. </p>
71+
*
72+
* @throws {@link ResourceNotFound} (client fault)
73+
* <p>Resource being access is not found.</p>
74+
*
75+
* @throws {@link SageMakerServiceException}
76+
* <p>Base exception class for all service exceptions from SageMaker service.</p>
77+
*
78+
* @public
79+
*/
80+
export class CreateHubContentReferenceCommand extends $Command
81+
.classBuilder<
82+
CreateHubContentReferenceCommandInput,
83+
CreateHubContentReferenceCommandOutput,
84+
SageMakerClientResolvedConfig,
85+
ServiceInputTypes,
86+
ServiceOutputTypes
87+
>()
88+
.ep({
89+
...commonParams,
90+
})
91+
.m(function (this: any, Command: any, cs: any, config: SageMakerClientResolvedConfig, o: any) {
92+
return [
93+
getSerdePlugin(config, this.serialize, this.deserialize),
94+
getEndpointPlugin(config, Command.getEndpointParameterInstructions()),
95+
];
96+
})
97+
.s("SageMaker", "CreateHubContentReference", {})
98+
.n("SageMakerClient", "CreateHubContentReferenceCommand")
99+
.f(void 0, void 0)
100+
.ser(se_CreateHubContentReferenceCommand)
101+
.de(de_CreateHubContentReferenceCommand)
102+
.build() {}

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

+6
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,9 @@ export interface CreateModelCommandOutput extends CreateModelOutput, __MetadataB
7272
* ModelAccessConfig: { // ModelAccessConfig
7373
* AcceptEula: true || false, // required
7474
* },
75+
* HubAccessConfig: { // InferenceHubAccessConfig
76+
* HubContentArn: "STRING_VALUE", // required
77+
* },
7578
* },
7679
* },
7780
* Environment: { // EnvironmentMap
@@ -103,6 +106,9 @@ export interface CreateModelCommandOutput extends CreateModelOutput, __MetadataB
103106
* ModelAccessConfig: {
104107
* AcceptEula: true || false, // required
105108
* },
109+
* HubAccessConfig: {
110+
* HubContentArn: "STRING_VALUE", // required
111+
* },
106112
* },
107113
* },
108114
* Environment: {

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

+9
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,9 @@ export interface CreateModelPackageCommandOutput extends CreateModelPackageOutpu
7777
* ModelAccessConfig: { // ModelAccessConfig
7878
* AcceptEula: true || false, // required
7979
* },
80+
* HubAccessConfig: { // InferenceHubAccessConfig
81+
* HubContentArn: "STRING_VALUE", // required
82+
* },
8083
* },
8184
* },
8285
* ProductId: "STRING_VALUE",
@@ -159,6 +162,9 @@ export interface CreateModelPackageCommandOutput extends CreateModelPackageOutpu
159162
* ModelAccessConfig: {
160163
* AcceptEula: true || false, // required
161164
* },
165+
* HubAccessConfig: {
166+
* HubContentArn: "STRING_VALUE", // required
167+
* },
162168
* },
163169
* },
164170
* AlgorithmName: "STRING_VALUE", // required
@@ -269,6 +275,9 @@ export interface CreateModelPackageCommandOutput extends CreateModelPackageOutpu
269275
* ModelAccessConfig: {
270276
* AcceptEula: true || false, // required
271277
* },
278+
* HubAccessConfig: {
279+
* HubContentArn: "STRING_VALUE", // required
280+
* },
272281
* },
273282
* },
274283
* ProductId: "STRING_VALUE",

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

-3
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,6 @@ export interface DeleteHubCommandOutput extends __MetadataBearer {}
2929

3030
/**
3131
* <p>Delete a hub.</p>
32-
* <note>
33-
* <p>Hub APIs are only callable through SageMaker Studio.</p>
34-
* </note>
3532
* @example
3633
* Use a bare-bones client and the command you need to make an API call.
3734
* ```javascript

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

+1-4
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,6 @@ export interface DeleteHubContentCommandOutput extends __MetadataBearer {}
2929

3030
/**
3131
* <p>Delete the contents of a hub.</p>
32-
* <note>
33-
* <p>Hub APIs are only callable through SageMaker Studio.</p>
34-
* </note>
3532
* @example
3633
* Use a bare-bones client and the command you need to make an API call.
3734
* ```javascript
@@ -40,7 +37,7 @@ export interface DeleteHubContentCommandOutput extends __MetadataBearer {}
4037
* const client = new SageMakerClient(config);
4138
* const input = { // DeleteHubContentRequest
4239
* HubName: "STRING_VALUE", // required
43-
* HubContentType: "Model" || "Notebook", // required
40+
* HubContentType: "Model" || "Notebook" || "ModelReference", // required
4441
* HubContentName: "STRING_VALUE", // required
4542
* HubContentVersion: "STRING_VALUE", // required
4643
* };

0 commit comments

Comments
 (0)