Skip to content

Commit e4918c1

Browse files
author
awstools
committed
feat(client-sagemaker): Cross account support for SageMaker Feature Store
1 parent 72eb598 commit e4918c1

20 files changed

+1441
-695
lines changed

clients/client-sagemaker/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2049,6 +2049,14 @@ ListProjects
20492049

20502050
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sagemaker/classes/listprojectscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sagemaker/interfaces/listprojectscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sagemaker/interfaces/listprojectscommandoutput.html)
20512051

2052+
</details>
2053+
<details>
2054+
<summary>
2055+
ListResourceCatalogs
2056+
</summary>
2057+
2058+
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sagemaker/classes/listresourcecatalogscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sagemaker/interfaces/listresourcecatalogscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sagemaker/interfaces/listresourcecatalogscommandoutput.html)
2059+
20522060
</details>
20532061
<details>
20542062
<summary>

clients/client-sagemaker/src/SageMaker.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1051,6 +1051,11 @@ import {
10511051
ListProjectsCommandInput,
10521052
ListProjectsCommandOutput,
10531053
} from "./commands/ListProjectsCommand";
1054+
import {
1055+
ListResourceCatalogsCommand,
1056+
ListResourceCatalogsCommandInput,
1057+
ListResourceCatalogsCommandOutput,
1058+
} from "./commands/ListResourceCatalogsCommand";
10541059
import { ListSpacesCommand, ListSpacesCommandInput, ListSpacesCommandOutput } from "./commands/ListSpacesCommand";
10551060
import {
10561061
ListStageDevicesCommand,
@@ -1616,6 +1621,7 @@ const commands = {
16161621
ListPipelinesCommand,
16171622
ListProcessingJobsCommand,
16181623
ListProjectsCommand,
1624+
ListResourceCatalogsCommand,
16191625
ListSpacesCommand,
16201626
ListStageDevicesCommand,
16211627
ListStudioLifecycleConfigsCommand,
@@ -5261,6 +5267,23 @@ export interface SageMaker {
52615267
cb: (err: any, data?: ListProjectsCommandOutput) => void
52625268
): void;
52635269

5270+
/**
5271+
* @see {@link ListResourceCatalogsCommand}
5272+
*/
5273+
listResourceCatalogs(
5274+
args: ListResourceCatalogsCommandInput,
5275+
options?: __HttpHandlerOptions
5276+
): Promise<ListResourceCatalogsCommandOutput>;
5277+
listResourceCatalogs(
5278+
args: ListResourceCatalogsCommandInput,
5279+
cb: (err: any, data?: ListResourceCatalogsCommandOutput) => void
5280+
): void;
5281+
listResourceCatalogs(
5282+
args: ListResourceCatalogsCommandInput,
5283+
options: __HttpHandlerOptions,
5284+
cb: (err: any, data?: ListResourceCatalogsCommandOutput) => void
5285+
): void;
5286+
52645287
/**
52655288
* @see {@link ListSpacesCommand}
52665289
*/

clients/client-sagemaker/src/SageMakerClient.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -638,6 +638,10 @@ import {
638638
import { ListPipelinesCommandInput, ListPipelinesCommandOutput } from "./commands/ListPipelinesCommand";
639639
import { ListProcessingJobsCommandInput, ListProcessingJobsCommandOutput } from "./commands/ListProcessingJobsCommand";
640640
import { ListProjectsCommandInput, ListProjectsCommandOutput } from "./commands/ListProjectsCommand";
641+
import {
642+
ListResourceCatalogsCommandInput,
643+
ListResourceCatalogsCommandOutput,
644+
} from "./commands/ListResourceCatalogsCommand";
641645
import { ListSpacesCommandInput, ListSpacesCommandOutput } from "./commands/ListSpacesCommand";
642646
import { ListStageDevicesCommandInput, ListStageDevicesCommandOutput } from "./commands/ListStageDevicesCommand";
643647
import {
@@ -1050,6 +1054,7 @@ export type ServiceInputTypes =
10501054
| ListPipelinesCommandInput
10511055
| ListProcessingJobsCommandInput
10521056
| ListProjectsCommandInput
1057+
| ListResourceCatalogsCommandInput
10531058
| ListSpacesCommandInput
10541059
| ListStageDevicesCommandInput
10551060
| ListStudioLifecycleConfigsCommandInput
@@ -1357,6 +1362,7 @@ export type ServiceOutputTypes =
13571362
| ListPipelinesCommandOutput
13581363
| ListProcessingJobsCommandOutput
13591364
| ListProjectsCommandOutput
1365+
| ListResourceCatalogsCommandOutput
13601366
| ListSpacesCommandOutput
13611367
| ListStageDevicesCommandOutput
13621368
| ListStudioLifecycleConfigsCommandOutput

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,9 @@ export interface CreateFeatureGroupCommandOutput extends CreateFeatureGroupRespo
4343
* FeatureGroup. A <code>FeatureGroup</code> definition is composed of a list of
4444
* <code>Features</code>, a <code>RecordIdentifierFeatureName</code>, an
4545
* <code>EventTimeFeatureName</code> and configurations for its <code>OnlineStore</code>
46-
* and <code>OfflineStore</code>. Check <a href="https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html">Amazon Web Services service quotas</a> to see
47-
* the <code>FeatureGroup</code>s quota for your Amazon Web Services account.</p>
46+
* and <code>OfflineStore</code>. Check <a href="https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html">Amazon Web Services service
47+
* quotas</a> to see the <code>FeatureGroup</code>s quota for your Amazon Web Services
48+
* account.</p>
4849
* <important>
4950
* <p>You must include at least one of <code>OnlineStoreConfig</code> and
5051
* <code>OfflineStoreConfig</code> to create a <code>FeatureGroup</code>.</p>

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,8 @@ export interface DeleteFeatureGroupCommandOutput extends __MetadataBearer {}
3939
* <p>Delete the <code>FeatureGroup</code> and any data that was written to the
4040
* <code>OnlineStore</code> of the <code>FeatureGroup</code>. Data cannot be accessed from
4141
* the <code>OnlineStore</code> immediately after <code>DeleteFeatureGroup</code> is called. </p>
42-
* <p>Data written into the <code>OfflineStore</code> will not be deleted. The Amazon Web Services Glue
43-
* database and tables that are automatically created for your <code>OfflineStore</code> are
44-
* not deleted. </p>
42+
* <p>Data written into the <code>OfflineStore</code> will not be deleted. The Amazon Web Services Glue database and tables that are automatically created for your
43+
* <code>OfflineStore</code> are not deleted. </p>
4544
* @example
4645
* Use a bare-bones client and the command you need to make an API call.
4746
* ```javascript

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {
1313
SerdeContext as __SerdeContext,
1414
} from "@smithy/types";
1515

16-
import { DeleteHubContentRequest } from "../models/models_1";
16+
import { DeleteHubContentRequest } from "../models/models_2";
1717
import { de_DeleteHubContentCommand, se_DeleteHubContentCommand } from "../protocols/Aws_json1_1";
1818
import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient";
1919

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

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,8 @@ import {
1313
SerdeContext as __SerdeContext,
1414
} from "@smithy/types";
1515

16-
import {
17-
GetSagemakerServicecatalogPortfolioStatusInput,
18-
GetSagemakerServicecatalogPortfolioStatusOutput,
19-
} from "../models/models_2";
16+
import { GetSagemakerServicecatalogPortfolioStatusInput } from "../models/models_2";
17+
import { GetSagemakerServicecatalogPortfolioStatusOutput } from "../models/models_3";
2018
import {
2119
de_GetSagemakerServicecatalogPortfolioStatusCommand,
2220
se_GetSagemakerServicecatalogPortfolioStatusCommand,
Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
// smithy-typescript generated code
2+
import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint";
3+
import { getSerdePlugin } from "@smithy/middleware-serde";
4+
import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http";
5+
import { Command as $Command } from "@smithy/smithy-client";
6+
import {
7+
FinalizeHandlerArguments,
8+
Handler,
9+
HandlerExecutionContext,
10+
HttpHandlerOptions as __HttpHandlerOptions,
11+
MetadataBearer as __MetadataBearer,
12+
MiddlewareStack,
13+
SerdeContext as __SerdeContext,
14+
} from "@smithy/types";
15+
16+
import { ListResourceCatalogsRequest, ListResourceCatalogsResponse } from "../models/models_3";
17+
import { de_ListResourceCatalogsCommand, se_ListResourceCatalogsCommand } from "../protocols/Aws_json1_1";
18+
import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient";
19+
20+
/**
21+
* @public
22+
*/
23+
export { __MetadataBearer, $Command };
24+
/**
25+
* @public
26+
*
27+
* The input for {@link ListResourceCatalogsCommand}.
28+
*/
29+
export interface ListResourceCatalogsCommandInput extends ListResourceCatalogsRequest {}
30+
/**
31+
* @public
32+
*
33+
* The output of {@link ListResourceCatalogsCommand}.
34+
*/
35+
export interface ListResourceCatalogsCommandOutput extends ListResourceCatalogsResponse, __MetadataBearer {}
36+
37+
/**
38+
* @public
39+
* <p> Lists Amazon SageMaker Catalogs based on given filters and orders. The maximum number of
40+
* <code>ResourceCatalog</code>s viewable is 1000. </p>
41+
* @example
42+
* Use a bare-bones client and the command you need to make an API call.
43+
* ```javascript
44+
* import { SageMakerClient, ListResourceCatalogsCommand } from "@aws-sdk/client-sagemaker"; // ES Modules import
45+
* // const { SageMakerClient, ListResourceCatalogsCommand } = require("@aws-sdk/client-sagemaker"); // CommonJS import
46+
* const client = new SageMakerClient(config);
47+
* const input = { // ListResourceCatalogsRequest
48+
* NameContains: "STRING_VALUE",
49+
* CreationTimeAfter: new Date("TIMESTAMP"),
50+
* CreationTimeBefore: new Date("TIMESTAMP"),
51+
* SortOrder: "Ascending" || "Descending",
52+
* SortBy: "CreationTime",
53+
* MaxResults: Number("int"),
54+
* NextToken: "STRING_VALUE",
55+
* };
56+
* const command = new ListResourceCatalogsCommand(input);
57+
* const response = await client.send(command);
58+
* // { // ListResourceCatalogsResponse
59+
* // ResourceCatalogs: [ // ResourceCatalogList
60+
* // { // ResourceCatalog
61+
* // ResourceCatalogArn: "STRING_VALUE", // required
62+
* // ResourceCatalogName: "STRING_VALUE", // required
63+
* // Description: "STRING_VALUE", // required
64+
* // CreationTime: new Date("TIMESTAMP"), // required
65+
* // },
66+
* // ],
67+
* // NextToken: "STRING_VALUE",
68+
* // };
69+
*
70+
* ```
71+
*
72+
* @param ListResourceCatalogsCommandInput - {@link ListResourceCatalogsCommandInput}
73+
* @returns {@link ListResourceCatalogsCommandOutput}
74+
* @see {@link ListResourceCatalogsCommandInput} for command's `input` shape.
75+
* @see {@link ListResourceCatalogsCommandOutput} for command's `response` shape.
76+
* @see {@link SageMakerClientResolvedConfig | config} for SageMakerClient's `config` shape.
77+
*
78+
* @throws {@link SageMakerServiceException}
79+
* <p>Base exception class for all service exceptions from SageMaker service.</p>
80+
*
81+
*/
82+
export class ListResourceCatalogsCommand extends $Command<
83+
ListResourceCatalogsCommandInput,
84+
ListResourceCatalogsCommandOutput,
85+
SageMakerClientResolvedConfig
86+
> {
87+
// Start section: command_properties
88+
// End section: command_properties
89+
90+
public static getEndpointParameterInstructions(): EndpointParameterInstructions {
91+
return {
92+
UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
93+
Endpoint: { type: "builtInParams", name: "endpoint" },
94+
Region: { type: "builtInParams", name: "region" },
95+
UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
96+
};
97+
}
98+
99+
/**
100+
* @public
101+
*/
102+
constructor(readonly input: ListResourceCatalogsCommandInput) {
103+
// Start section: command_constructor
104+
super();
105+
// End section: command_constructor
106+
}
107+
108+
/**
109+
* @internal
110+
*/
111+
resolveMiddleware(
112+
clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>,
113+
configuration: SageMakerClientResolvedConfig,
114+
options?: __HttpHandlerOptions
115+
): Handler<ListResourceCatalogsCommandInput, ListResourceCatalogsCommandOutput> {
116+
this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
117+
this.middlewareStack.use(
118+
getEndpointPlugin(configuration, ListResourceCatalogsCommand.getEndpointParameterInstructions())
119+
);
120+
121+
const stack = clientStack.concat(this.middlewareStack);
122+
123+
const { logger } = configuration;
124+
const clientName = "SageMakerClient";
125+
const commandName = "ListResourceCatalogsCommand";
126+
const handlerExecutionContext: HandlerExecutionContext = {
127+
logger,
128+
clientName,
129+
commandName,
130+
inputFilterSensitiveLog: (_: any) => _,
131+
outputFilterSensitiveLog: (_: any) => _,
132+
};
133+
const { requestHandler } = configuration;
134+
return stack.resolve(
135+
(request: FinalizeHandlerArguments<any>) =>
136+
requestHandler.handle(request.request as __HttpRequest, options || {}),
137+
handlerExecutionContext
138+
);
139+
}
140+
141+
/**
142+
* @internal
143+
*/
144+
private serialize(input: ListResourceCatalogsCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
145+
return se_ListResourceCatalogsCommand(input, context);
146+
}
147+
148+
/**
149+
* @internal
150+
*/
151+
private deserialize(output: __HttpResponse, context: __SerdeContext): Promise<ListResourceCatalogsCommandOutput> {
152+
return de_ListResourceCatalogsCommand(output, context);
153+
}
154+
155+
// Start section: command_body_extra
156+
// End section: command_body_extra
157+
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {
1313
SerdeContext as __SerdeContext,
1414
} from "@smithy/types";
1515

16-
import { RetryPipelineExecutionRequest, RetryPipelineExecutionResponse } from "../models/models_3";
16+
import { RetryPipelineExecutionRequest, RetryPipelineExecutionResponse } from "../models/models_4";
1717
import { de_RetryPipelineExecutionCommand, se_RetryPipelineExecutionCommand } from "../protocols/Aws_json1_1";
1818
import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient";
1919

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ export interface SearchCommandOutput extends SearchResponse, __MetadataBearer {}
101101
* SortOrder: "Ascending" || "Descending",
102102
* NextToken: "STRING_VALUE",
103103
* MaxResults: Number("int"),
104+
* CrossAccountFilterOption: "SameAccount" || "CrossAccount",
104105
* };
105106
* const command = new SearchCommand(input);
106107
* const response = await client.send(command);

0 commit comments

Comments
 (0)