Skip to content

Commit c8b653f

Browse files
author
awstools
committed
feat(client-sagemaker): Add capability for Admins to customize Studio experience for the user by showing or hiding Apps and MLTools.
1 parent 2028122 commit c8b653f

15 files changed

+449
-186
lines changed

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,14 @@ export interface CreateDomainCommandOutput extends CreateDomainResponse, __Metad
243243
* },
244244
* },
245245
* ],
246+
* StudioWebPortalSettings: { // StudioWebPortalSettings
247+
* HiddenMlTools: [ // HiddenMlToolsList
248+
* "DataWrangler" || "FeatureStore" || "EmrClusters" || "AutoMl" || "Experiments" || "Training" || "ModelEvaluation" || "Pipelines" || "Models" || "JumpStart" || "InferenceRecommender" || "Endpoints" || "Projects",
249+
* ],
250+
* HiddenAppTypes: [ // HiddenAppTypesList
251+
* "JupyterServer" || "KernelGateway" || "DetailedProfiler" || "TensorBoard" || "CodeEditor" || "JupyterLab" || "RStudioServerPro" || "RSessionGateway" || "Canvas",
252+
* ],
253+
* },
246254
* },
247255
* DomainSettings: { // DomainSettings
248256
* SecurityGroupIds: [ // DomainSecurityGroupIds

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ 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 { CreateProjectInput, CreateProjectOutput } from "../models/models_1";
8+
import { CreateProjectInput, CreateProjectOutput } from "../models/models_2";
99
import { de_CreateProjectCommand, se_CreateProjectCommand } from "../protocols/Aws_json1_1";
1010
import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient";
1111

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,14 @@ export interface CreateUserProfileCommandOutput extends CreateUserProfileRespons
214214
* },
215215
* },
216216
* ],
217+
* StudioWebPortalSettings: { // StudioWebPortalSettings
218+
* HiddenMlTools: [ // HiddenMlToolsList
219+
* "DataWrangler" || "FeatureStore" || "EmrClusters" || "AutoMl" || "Experiments" || "Training" || "ModelEvaluation" || "Pipelines" || "Models" || "JumpStart" || "InferenceRecommender" || "Endpoints" || "Projects",
220+
* ],
221+
* HiddenAppTypes: [ // HiddenAppTypesList
222+
* "JupyterServer" || "KernelGateway" || "DetailedProfiler" || "TensorBoard" || "CodeEditor" || "JupyterLab" || "RStudioServerPro" || "RSessionGateway" || "Canvas",
223+
* ],
224+
* },
217225
* },
218226
* };
219227
* const command = new CreateUserProfileCommand(input);

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,14 @@ export interface DescribeDomainCommandOutput extends DescribeDomainResponse, __M
215215
* // },
216216
* // },
217217
* // ],
218+
* // StudioWebPortalSettings: { // StudioWebPortalSettings
219+
* // HiddenMlTools: [ // HiddenMlToolsList
220+
* // "DataWrangler" || "FeatureStore" || "EmrClusters" || "AutoMl" || "Experiments" || "Training" || "ModelEvaluation" || "Pipelines" || "Models" || "JumpStart" || "InferenceRecommender" || "Endpoints" || "Projects",
221+
* // ],
222+
* // HiddenAppTypes: [ // HiddenAppTypesList
223+
* // "JupyterServer" || "KernelGateway" || "DetailedProfiler" || "TensorBoard" || "CodeEditor" || "JupyterLab" || "RStudioServerPro" || "RSessionGateway" || "Canvas",
224+
* // ],
225+
* // },
218226
* // },
219227
* // DomainSettings: { // DomainSettings
220228
* // SecurityGroupIds: [ // DomainSecurityGroupIds

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,14 @@ export interface DescribeUserProfileCommandOutput extends DescribeUserProfileRes
214214
* // },
215215
* // },
216216
* // ],
217+
* // StudioWebPortalSettings: { // StudioWebPortalSettings
218+
* // HiddenMlTools: [ // HiddenMlToolsList
219+
* // "DataWrangler" || "FeatureStore" || "EmrClusters" || "AutoMl" || "Experiments" || "Training" || "ModelEvaluation" || "Pipelines" || "Models" || "JumpStart" || "InferenceRecommender" || "Endpoints" || "Projects",
220+
* // ],
221+
* // HiddenAppTypes: [ // HiddenAppTypesList
222+
* // "JupyterServer" || "KernelGateway" || "DetailedProfiler" || "TensorBoard" || "CodeEditor" || "JupyterLab" || "RStudioServerPro" || "RSessionGateway" || "Canvas",
223+
* // ],
224+
* // },
217225
* // },
218226
* // };
219227
*

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

Lines changed: 2 additions & 1 deletion
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 { ListModelsInput, ListModelsOutput } from "../models/models_3";
8+
import { ListModelsInput } from "../models/models_3";
9+
import { ListModelsOutput } from "../models/models_4";
910
import { de_ListModelsCommand, se_ListModelsCommand } from "../protocols/Aws_json1_1";
1011
import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient";
1112

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,14 @@ export interface UpdateDomainCommandOutput extends UpdateDomainResponse, __Metad
199199
* },
200200
* },
201201
* ],
202+
* StudioWebPortalSettings: { // StudioWebPortalSettings
203+
* HiddenMlTools: [ // HiddenMlToolsList
204+
* "DataWrangler" || "FeatureStore" || "EmrClusters" || "AutoMl" || "Experiments" || "Training" || "ModelEvaluation" || "Pipelines" || "Models" || "JumpStart" || "InferenceRecommender" || "Endpoints" || "Projects",
205+
* ],
206+
* HiddenAppTypes: [ // HiddenAppTypesList
207+
* "JupyterServer" || "KernelGateway" || "DetailedProfiler" || "TensorBoard" || "CodeEditor" || "JupyterLab" || "RStudioServerPro" || "RSessionGateway" || "Canvas",
208+
* ],
209+
* },
202210
* },
203211
* DomainSettingsForUpdate: { // DomainSettingsForUpdate
204212
* RStudioServerProDomainSettingsForUpdate: { // RStudioServerProDomainSettingsForUpdate

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,14 @@ export interface UpdateUserProfileCommandOutput extends UpdateUserProfileRespons
200200
* },
201201
* },
202202
* ],
203+
* StudioWebPortalSettings: { // StudioWebPortalSettings
204+
* HiddenMlTools: [ // HiddenMlToolsList
205+
* "DataWrangler" || "FeatureStore" || "EmrClusters" || "AutoMl" || "Experiments" || "Training" || "ModelEvaluation" || "Pipelines" || "Models" || "JumpStart" || "InferenceRecommender" || "Endpoints" || "Projects",
206+
* ],
207+
* HiddenAppTypes: [ // HiddenAppTypesList
208+
* "JupyterServer" || "KernelGateway" || "DetailedProfiler" || "TensorBoard" || "CodeEditor" || "JupyterLab" || "RStudioServerPro" || "RSessionGateway" || "Canvas",
209+
* ],
210+
* },
203211
* },
204212
* };
205213
* const command = new UpdateUserProfileCommand(input);

clients/client-sagemaker/src/models/models_0.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8938,7 +8938,7 @@ export interface ClarifyExplainerConfig {
89388938

89398939
/**
89408940
* <p>Defines the configuration for attaching an additional Amazon Elastic Block Store (EBS)
8941-
* volume to each instance of the SageMaker HyperPod cluster instance group.</p>
8941+
* volume to each instance of the SageMaker HyperPod cluster instance group. To learn more, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-release-notes.html#sagemaker-hyperpod-release-notes-20240620">SageMaker HyperPod release notes: June 20, 2024</a>.</p>
89428942
* @public
89438943
*/
89448944
export interface ClusterEbsVolumeConfig {
@@ -8954,7 +8954,7 @@ export interface ClusterEbsVolumeConfig {
89548954

89558955
/**
89568956
* <p>Defines the configuration for attaching additional storage to the instances in the
8957-
* SageMaker HyperPod cluster instance group.</p>
8957+
* SageMaker HyperPod cluster instance group. To learn more, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-release-notes.html#sagemaker-hyperpod-release-notes-20240620">SageMaker HyperPod release notes: June 20, 2024</a>.</p>
89588958
* @public
89598959
*/
89608960
export type ClusterInstanceStorageConfig =

clients/client-sagemaker/src/models/models_1.ts

Lines changed: 50 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {
77
AppNetworkAccessType,
88
AppSecurityGroupManagement,
99
AppSpecification,
10+
AppType,
1011
AsyncInferenceConfig,
1112
AthenaDatasetDefinition,
1213
AuthMode,
@@ -2025,6 +2026,49 @@ export const StudioWebPortal = {
20252026
*/
20262027
export type StudioWebPortal = (typeof StudioWebPortal)[keyof typeof StudioWebPortal];
20272028

2029+
/**
2030+
* @public
2031+
* @enum
2032+
*/
2033+
export const MlTools = {
2034+
AUTO_ML: "AutoMl",
2035+
DATA_WRANGLER: "DataWrangler",
2036+
EMR_CLUSTERS: "EmrClusters",
2037+
ENDPOINTS: "Endpoints",
2038+
EXPERIMENTS: "Experiments",
2039+
FEATURE_STORE: "FeatureStore",
2040+
INFERENCE_RECOMMENDER: "InferenceRecommender",
2041+
JUMP_START: "JumpStart",
2042+
MODELS: "Models",
2043+
MODEL_EVALUATION: "ModelEvaluation",
2044+
PIPELINES: "Pipelines",
2045+
PROJECTS: "Projects",
2046+
TRAINING: "Training",
2047+
} as const;
2048+
2049+
/**
2050+
* @public
2051+
*/
2052+
export type MlTools = (typeof MlTools)[keyof typeof MlTools];
2053+
2054+
/**
2055+
* <p>Studio settings. If these settings are applied on a user level, they take priority over the settings applied on a domain level.</p>
2056+
* @public
2057+
*/
2058+
export interface StudioWebPortalSettings {
2059+
/**
2060+
* <p>The machine learning tools that are hidden from the Studio left navigation pane.</p>
2061+
* @public
2062+
*/
2063+
HiddenMlTools?: MlTools[];
2064+
2065+
/**
2066+
* <p>The <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-apps.html">Applications supported in Studio</a> that are hidden from the Studio left navigation pane.</p>
2067+
* @public
2068+
*/
2069+
HiddenAppTypes?: AppType[];
2070+
}
2071+
20282072
/**
20292073
* <p>The TensorBoard app settings.</p>
20302074
* @public
@@ -2161,6 +2205,12 @@ export interface UserSettings {
21612205
* @public
21622206
*/
21632207
CustomFileSystemConfigs?: CustomFileSystemConfig[];
2208+
2209+
/**
2210+
* <p>Studio settings. If these settings are applied on a user level, they take priority over the settings applied on a domain level.</p>
2211+
* @public
2212+
*/
2213+
StudioWebPortalSettings?: StudioWebPortalSettings;
21642214
}
21652215

21662216
/**
@@ -12673,56 +12723,6 @@ export interface ServiceCatalogProvisioningDetails {
1267312723
ProvisioningParameters?: ProvisioningParameter[];
1267412724
}
1267512725

12676-
/**
12677-
* @public
12678-
*/
12679-
export interface CreateProjectInput {
12680-
/**
12681-
* <p>The name of the project.</p>
12682-
* @public
12683-
*/
12684-
ProjectName: string | undefined;
12685-
12686-
/**
12687-
* <p>A description for the project.</p>
12688-
* @public
12689-
*/
12690-
ProjectDescription?: string;
12691-
12692-
/**
12693-
* <p>The product ID and provisioning artifact ID to provision a service catalog. The provisioning
12694-
* artifact ID will default to the latest provisioning artifact ID of the product, if you don't
12695-
* provide the provisioning artifact ID. For more information, see <a href="https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html">What is Amazon Web Services Service
12696-
* Catalog</a>.</p>
12697-
* @public
12698-
*/
12699-
ServiceCatalogProvisioningDetails: ServiceCatalogProvisioningDetails | undefined;
12700-
12701-
/**
12702-
* <p>An array of key-value pairs that you want to use to organize and track your Amazon Web Services
12703-
* resource costs. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging Amazon Web Services resources</a> in the <i>Amazon Web Services General Reference Guide</i>.</p>
12704-
* @public
12705-
*/
12706-
Tags?: Tag[];
12707-
}
12708-
12709-
/**
12710-
* @public
12711-
*/
12712-
export interface CreateProjectOutput {
12713-
/**
12714-
* <p>The Amazon Resource Name (ARN) of the project.</p>
12715-
* @public
12716-
*/
12717-
ProjectArn: string | undefined;
12718-
12719-
/**
12720-
* <p>The ID of the new project.</p>
12721-
* @public
12722-
*/
12723-
ProjectId: string | undefined;
12724-
}
12725-
1272612726
/**
1272712727
* @internal
1272812728
*/

0 commit comments

Comments
 (0)