Skip to content

Commit e2afd65

Browse files
author
awstools
committed
feat(client-sagemaker): SageMaker now allows customization on Canvas Application settings, including enabling/disabling time-series forecasting and specifying an Amazon Forecast execution role at both the Domain and UserProfile levels.
1 parent 20cd3c1 commit e2afd65

File tree

13 files changed

+7171
-5224
lines changed

13 files changed

+7171
-5224
lines changed

clients/client-sagemaker/src/SageMaker.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3120,11 +3120,12 @@ export class SageMaker extends SageMakerClient {
31203120
* be tuned to optimize this learning process. For a list of hyperparameters for
31213121
* each training algorithm provided by SageMaker, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html">Algorithms</a>. </p>
31223122
* <important>
3123-
* <p>You must not include any security-sensitive information, such as
3124-
* account access IDs, secrets, and tokens, in the dictionary for configuring
3125-
* hyperparameters. SageMaker rejects the training job request and returns an
3126-
* exception error for detected credentials, if such user input is found.</p>
3127-
* </important>
3123+
* <p>You must not include any security-sensitive information, such as account
3124+
* access IDs, secrets, and tokens, in the dictionary for configuring
3125+
* hyperparameters. SageMaker rejects the training job request and returns an
3126+
* exception error for detected credentials, if such user input is
3127+
* found.</p>
3128+
* </important>
31283129
* </li>
31293130
* <li>
31303131
* <p>
@@ -3354,7 +3355,7 @@ export class SageMaker extends SageMakerClient {
33543355
* <p>Creates a user profile. A user profile represents a single user within a domain, and is
33553356
* the main way to reference a "person" for the purposes of sharing, reporting, and other
33563357
* user-oriented features. This entity is created when a user onboards to Amazon SageMaker Studio. If an
3357-
* administrator invites a person by email or imports them from Amazon Web Services SSO, a user profile is
3358+
* administrator invites a person by email or imports them from IAM Identity Center, a user profile is
33583359
* automatically created. A user profile is the primary holder of settings for an individual
33593360
* user and has a reference to the user's private Amazon Elastic File System (EFS) home directory.
33603361
* </p>
@@ -3789,7 +3790,7 @@ export class SageMaker extends SageMakerClient {
37893790

37903791
/**
37913792
* <p>Used to delete a domain.
3792-
* If you onboarded with IAM mode, you will need to delete your domain to onboard again using Amazon Web Services SSO.
3793+
* If you onboarded with IAM mode, you will need to delete your domain to onboard again using IAM Identity Center.
37933794
* Use with caution. All of the members of the domain will lose access to their EFS volume,
37943795
* including data, notebooks, and other artifacts.
37953796
* </p>

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

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,12 @@ export interface CreateTrainingJobCommandOutput extends CreateTrainingJobRespons
5050
* be tuned to optimize this learning process. For a list of hyperparameters for
5151
* each training algorithm provided by SageMaker, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html">Algorithms</a>. </p>
5252
* <important>
53-
* <p>You must not include any security-sensitive information, such as
54-
* account access IDs, secrets, and tokens, in the dictionary for configuring
55-
* hyperparameters. SageMaker rejects the training job request and returns an
56-
* exception error for detected credentials, if such user input is found.</p>
57-
* </important>
53+
* <p>You must not include any security-sensitive information, such as account
54+
* access IDs, secrets, and tokens, in the dictionary for configuring
55+
* hyperparameters. SageMaker rejects the training job request and returns an
56+
* exception error for detected credentials, if such user input is
57+
* found.</p>
58+
* </important>
5859
* </li>
5960
* <li>
6061
* <p>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ export interface CreateUserProfileCommandOutput extends CreateUserProfileRespons
3131
* <p>Creates a user profile. A user profile represents a single user within a domain, and is
3232
* the main way to reference a "person" for the purposes of sharing, reporting, and other
3333
* user-oriented features. This entity is created when a user onboards to Amazon SageMaker Studio. If an
34-
* administrator invites a person by email or imports them from Amazon Web Services SSO, a user profile is
34+
* administrator invites a person by email or imports them from IAM Identity Center, a user profile is
3535
* automatically created. A user profile is the primary holder of settings for an individual
3636
* user and has a reference to the user's private Amazon Elastic File System (EFS) home directory.
3737
* </p>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export interface DeleteDomainCommandOutput extends __MetadataBearer {}
2424

2525
/**
2626
* <p>Used to delete a domain.
27-
* If you onboarded with IAM mode, you will need to delete your domain to onboard again using Amazon Web Services SSO.
27+
* If you onboarded with IAM mode, you will need to delete your domain to onboard again using IAM Identity Center.
2828
* Use with caution. All of the members of the domain will lose access to their EFS volume,
2929
* including data, notebooks, and other artifacts.
3030
* </p>

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

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,8 @@ import {
1212
SerdeContext as __SerdeContext,
1313
} from "@aws-sdk/types";
1414

15-
import {
16-
DescribeFeatureGroupRequest,
17-
DescribeFeatureGroupRequestFilterSensitiveLog,
18-
DescribeFeatureGroupResponse,
19-
DescribeFeatureGroupResponseFilterSensitiveLog,
20-
} from "../models/models_1";
15+
import { DescribeFeatureGroupRequest, DescribeFeatureGroupRequestFilterSensitiveLog } from "../models/models_1";
16+
import { DescribeFeatureGroupResponse, DescribeFeatureGroupResponseFilterSensitiveLog } from "../models/models_2";
2117
import {
2218
deserializeAws_json1_1DescribeFeatureGroupCommand,
2319
serializeAws_json1_1DescribeFeatureGroupCommand,

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,12 @@ import {
1212
SerdeContext as __SerdeContext,
1313
} from "@aws-sdk/types";
1414

15-
import { DescribeFeatureMetadataRequest, DescribeFeatureMetadataRequestFilterSensitiveLog } from "../models/models_1";
16-
import { DescribeFeatureMetadataResponse, DescribeFeatureMetadataResponseFilterSensitiveLog } from "../models/models_2";
15+
import {
16+
DescribeFeatureMetadataRequest,
17+
DescribeFeatureMetadataRequestFilterSensitiveLog,
18+
DescribeFeatureMetadataResponse,
19+
DescribeFeatureMetadataResponseFilterSensitiveLog,
20+
} from "../models/models_2";
1721
import {
1822
deserializeAws_json1_1DescribeFeatureMetadataCommand,
1923
serializeAws_json1_1DescribeFeatureMetadataCommand,

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ import {
1515
import {
1616
ListNotebookInstanceLifecycleConfigsInput,
1717
ListNotebookInstanceLifecycleConfigsInputFilterSensitiveLog,
18-
} from "../models/models_2";
19-
import {
2018
ListNotebookInstanceLifecycleConfigsOutput,
2119
ListNotebookInstanceLifecycleConfigsOutputFilterSensitiveLog,
2220
} from "../models/models_3";

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

Lines changed: 86 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -4030,9 +4030,28 @@ export interface AutoMLCandidate {
40304030
export interface AutoMLCandidateGenerationConfig {
40314031
/**
40324032
* <p>A URL to the Amazon S3 data source containing selected features from the input data source to
4033-
* run an Autopilot job (optional). This file should be in json format as shown below: </p>
4033+
* run an Autopilot job. You can input <code>FeatureAttributeNames</code> (optional) in JSON
4034+
* format as shown below: </p>
40344035
* <p>
40354036
* <code>{ "FeatureAttributeNames":["col1", "col2", ...] }</code>.</p>
4037+
* <p>You can also specify the data type of the feature (optional) in the format shown
4038+
* below:</p>
4039+
* <p>
4040+
* <code>{ "FeatureDataTypes":{"col1":"numeric", "col2":"categorical" ... } }</code>
4041+
* </p>
4042+
* <note>
4043+
* <p>These column keys may not include the target column.</p>
4044+
* </note>
4045+
* <p>In ensembling mode, Autopilot will only support the following data types:
4046+
* <code>numeric</code>, <code>categorical</code>, <code>text</code> and
4047+
* <code>datetime</code>. In HPO mode, Autopilot can support <code>numeric</code>,
4048+
* <code>categorical</code>, <code>text</code>, <code>datetime</code> and
4049+
* <code>sequence</code>.</p>
4050+
* <p>If only <code>FeatureDataTypes</code> is provided, the column keys (<code>col1</code>,
4051+
* <code>col2</code>,..) should be a subset of the column names in the input data. </p>
4052+
* <p>If both <code>FeatureDataTypes</code> and <code>FeatureAttributeNames</code> are
4053+
* provided, then the column keys should be a subset of the column names provided in
4054+
* <code>FeatureAttributeNames</code>. </p>
40364055
* <p>The key name <code>FeatureAttributeNames</code> is fixed. The values listed in
40374056
* <code>["col1", "col2", ...]</code> is case sensitive and should be a list of strings
40384057
* containing unique values that are a subset of the column names in the input data. The list
@@ -4854,6 +4873,43 @@ export enum CandidateSortBy {
48544873
Status = "Status",
48554874
}
48564875

4876+
export enum FeatureStatus {
4877+
Disabled = "DISABLED",
4878+
Enabled = "ENABLED",
4879+
}
4880+
4881+
/**
4882+
* <p>Time series forecast settings for the SageMaker Canvas app.</p>
4883+
*/
4884+
export interface TimeSeriesForecastingSettings {
4885+
/**
4886+
* <p>Describes whether time series forecasting is enabled or disabled in the Canvas app.</p>
4887+
*/
4888+
Status?: FeatureStatus | string;
4889+
4890+
/**
4891+
* <p>The IAM role that Canvas passes to Amazon Forecast for time series forecasting. By default,
4892+
* Canvas uses the execution role specified in the <code>UserProfile</code> that launches the Canvas app.
4893+
* If an execution role is not specified in the <code>UserProfile</code>, Canvas uses the execution
4894+
* role specified in the Domain that owns the <code>UserProfile</code>.
4895+
* To allow time series forecasting, this IAM role should have the
4896+
* <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasForecastAccess">
4897+
* AmazonSageMakerCanvasForecastAccess</a> policy attached and <code>forecast.amazonaws.com</code> added
4898+
* in the trust relationship as a service principal.</p>
4899+
*/
4900+
AmazonForecastRoleArn?: string;
4901+
}
4902+
4903+
/**
4904+
* <p>The SageMaker Canvas app settings.</p>
4905+
*/
4906+
export interface CanvasAppSettings {
4907+
/**
4908+
* <p>Time series forecast settings for the Canvas app.</p>
4909+
*/
4910+
TimeSeriesForecastingSettings?: TimeSeriesForecastingSettings;
4911+
}
4912+
48574913
/**
48584914
* <p>Configuration specifying how to treat different headers. If no headers are specified SageMaker
48594915
* will by default base64 encode when capturing the data.</p>
@@ -7885,6 +7941,11 @@ export interface UserSettings {
78857941
* <p>A collection of settings that configure the <code>RSessionGateway</code> app.</p>
78867942
*/
78877943
RSessionAppSettings?: RSessionAppSettings;
7944+
7945+
/**
7946+
* <p>The Canvas app settings.</p>
7947+
*/
7948+
CanvasAppSettings?: CanvasAppSettings;
78887949
}
78897950

78907951
export enum ExecutionRoleIdentityConfig {
@@ -7938,7 +7999,8 @@ export interface DomainSettings {
79387999
RStudioServerProDomainSettings?: RStudioServerProDomainSettings;
79398000

79408001
/**
7941-
* <p>The configuration for attaching a SageMaker user profile name to the execution role as a <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html">sts:SourceIdentity key</a>.</p>
8002+
* <p>The configuration for attaching a SageMaker user profile name to the execution role as a
8003+
* <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html">sts:SourceIdentity key</a>.</p>
79428004
*/
79438005
ExecutionRoleIdentityConfig?: ExecutionRoleIdentityConfig | string;
79448006
}
@@ -8464,25 +8526,22 @@ export interface ProductionVariant {
84648526
ServerlessConfig?: ProductionVariantServerlessConfig;
84658527

84668528
/**
8467-
* <p>The size, in GB, of the ML storage volume attached to individual
8468-
* inference instance associated with the production variant. Currenly only
8469-
* Amazon EBS gp2 storage volumes are supported.</p>
8529+
* <p>The size, in GB, of the ML storage volume attached to individual inference instance
8530+
* associated with the production variant. Currenly only Amazon EBS gp2 storage volumes are
8531+
* supported.</p>
84708532
*/
84718533
VolumeSizeInGB?: number;
84728534

84738535
/**
8474-
* <p>The timeout value, in seconds, to download and extract the
8475-
* model that you want to host from Amazon S3 to the individual inference instance associated with
8476-
* this production variant.</p>
8536+
* <p>The timeout value, in seconds, to download and extract the model that you want to host
8537+
* from Amazon S3 to the individual inference instance associated with this production
8538+
* variant.</p>
84778539
*/
84788540
ModelDataDownloadTimeoutInSeconds?: number;
84798541

84808542
/**
8481-
* <p>The timeout value, in seconds, for your inference container
8482-
* to pass health check by SageMaker Hosting. For more information about health
8483-
* check, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-inference-code.html#your-algorithms-inference-algo-ping-requests">How
8484-
* Your Container Should Respond to Health Check (Ping)
8485-
* Requests</a>.</p>
8543+
* <p>The timeout value, in seconds, for your inference container to pass health check by
8544+
* SageMaker Hosting. For more information about health check, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-inference-code.html#your-algorithms-inference-algo-ping-requests">How Your Container Should Respond to Health Check (Ping) Requests</a>.</p>
84868545
*/
84878546
ContainerStartupHealthCheckTimeoutInSeconds?: number;
84888547
}
@@ -9825,69 +9884,6 @@ export interface IntegerParameterRange {
98259884
ScalingType?: HyperParameterScalingType | string;
98269885
}
98279886

9828-
/**
9829-
* <p>Specifies ranges of integer, continuous, and categorical hyperparameters that a
9830-
* hyperparameter tuning job searches. The hyperparameter tuning job launches training jobs
9831-
* with hyperparameter values within these ranges to find the combination of values that
9832-
* result in the training job with the best performance as measured by the objective metric
9833-
* of the hyperparameter tuning job.</p>
9834-
* <note>
9835-
* <p>The maximum number of items specified for <code>Array Members</code> refers to the
9836-
* maximum number of hyperparameters for each range and also the maximum for the
9837-
* hyperparameter tuning job itself. That is, the sum of the number of hyperparameters
9838-
* for all the ranges can't exceed the maximum number specified.</p>
9839-
* </note>
9840-
*/
9841-
export interface ParameterRanges {
9842-
/**
9843-
* <p>The array of <a>IntegerParameterRange</a> objects that specify ranges of
9844-
* integer hyperparameters that a hyperparameter tuning job searches.</p>
9845-
*/
9846-
IntegerParameterRanges?: IntegerParameterRange[];
9847-
9848-
/**
9849-
* <p>The array of <a>ContinuousParameterRange</a> objects that specify ranges of
9850-
* continuous hyperparameters that a hyperparameter tuning job searches.</p>
9851-
*/
9852-
ContinuousParameterRanges?: ContinuousParameterRange[];
9853-
9854-
/**
9855-
* <p>The array of <a>CategoricalParameterRange</a> objects that specify ranges
9856-
* of categorical hyperparameters that a hyperparameter tuning job searches.</p>
9857-
*/
9858-
CategoricalParameterRanges?: CategoricalParameterRange[];
9859-
}
9860-
9861-
/**
9862-
* <p>Specifies the maximum number of
9863-
* training
9864-
* jobs and parallel training jobs that a hyperparameter tuning job can
9865-
* launch.</p>
9866-
*/
9867-
export interface ResourceLimits {
9868-
/**
9869-
* <p>The
9870-
* maximum
9871-
* number of training jobs that a hyperparameter tuning job can
9872-
* launch.</p>
9873-
*/
9874-
MaxNumberOfTrainingJobs: number | undefined;
9875-
9876-
/**
9877-
* <p>The
9878-
* maximum
9879-
* number of concurrent training jobs that a hyperparameter tuning job can
9880-
* launch.</p>
9881-
*/
9882-
MaxParallelTrainingJobs: number | undefined;
9883-
}
9884-
9885-
export enum HyperParameterTuningJobStrategyType {
9886-
BAYESIAN = "Bayesian",
9887-
HYPERBAND = "Hyperband",
9888-
RANDOM = "Random",
9889-
}
9890-
98919887
/**
98929888
* @internal
98939889
*/
@@ -10513,6 +10509,20 @@ export const CallbackStepMetadataFilterSensitiveLog = (obj: CallbackStepMetadata
1051310509
...obj,
1051410510
});
1051510511

10512+
/**
10513+
* @internal
10514+
*/
10515+
export const TimeSeriesForecastingSettingsFilterSensitiveLog = (obj: TimeSeriesForecastingSettings): any => ({
10516+
...obj,
10517+
});
10518+
10519+
/**
10520+
* @internal
10521+
*/
10522+
export const CanvasAppSettingsFilterSensitiveLog = (obj: CanvasAppSettings): any => ({
10523+
...obj,
10524+
});
10525+
1051610526
/**
1051710527
* @internal
1051810528
*/
@@ -11376,17 +11386,3 @@ export const CreateHumanTaskUiResponseFilterSensitiveLog = (obj: CreateHumanTask
1137611386
export const IntegerParameterRangeFilterSensitiveLog = (obj: IntegerParameterRange): any => ({
1137711387
...obj,
1137811388
});
11379-
11380-
/**
11381-
* @internal
11382-
*/
11383-
export const ParameterRangesFilterSensitiveLog = (obj: ParameterRanges): any => ({
11384-
...obj,
11385-
});
11386-
11387-
/**
11388-
* @internal
11389-
*/
11390-
export const ResourceLimitsFilterSensitiveLog = (obj: ResourceLimits): any => ({
11391-
...obj,
11392-
});

0 commit comments

Comments
 (0)