From 83d2ff0897ae0bc07d3000f82580b7e4bd94b94d Mon Sep 17 00:00:00 2001 From: awstools Date: Fri, 30 Jun 2023 18:16:32 +0000 Subject: [PATCH] feat(client-sagemaker): This release adds support for rolling deployment in SageMaker Inference. --- .../src/commands/CreateEndpointCommand.ts | 12 ++ .../src/commands/DeleteImageCommand.ts | 3 +- .../src/commands/DescribeEndpointCommand.ts | 14 ++- .../DescribeInferenceExperimentCommand.ts | 2 +- .../src/commands/ListEndpointsCommand.ts | 4 +- .../src/commands/SearchCommand.ts | 4 +- .../src/commands/UpdateEndpointCommand.ts | 12 ++ .../client-sagemaker/src/models/models_0.ts | 5 +- .../client-sagemaker/src/models/models_1.ts | 49 ++++++-- .../client-sagemaker/src/models/models_2.ts | 24 ++-- .../client-sagemaker/src/models/models_3.ts | 112 +++--------------- .../client-sagemaker/src/models/models_4.ts | 111 ++++++++++++++++- .../src/protocols/Aws_json1_1.ts | 11 +- codegen/sdk-codegen/aws-models/sagemaker.json | 53 ++++++++- 14 files changed, 276 insertions(+), 140 deletions(-) diff --git a/clients/client-sagemaker/src/commands/CreateEndpointCommand.ts b/clients/client-sagemaker/src/commands/CreateEndpointCommand.ts index bddcdd0533d33..2496b6673e249 100644 --- a/clients/client-sagemaker/src/commands/CreateEndpointCommand.ts +++ b/clients/client-sagemaker/src/commands/CreateEndpointCommand.ts @@ -147,6 +147,18 @@ export interface CreateEndpointCommandOutput extends CreateEndpointOutput, __Met * }, * ], * }, + * RollingUpdatePolicy: { // RollingUpdatePolicy + * MaximumBatchSize: { + * Type: "INSTANCE_COUNT" || "CAPACITY_PERCENT", // required + * Value: Number("int"), // required + * }, + * WaitIntervalInSeconds: Number("int"), // required + * MaximumExecutionTimeoutInSeconds: Number("int"), + * RollbackMaximumBatchSize: { + * Type: "INSTANCE_COUNT" || "CAPACITY_PERCENT", // required + * Value: Number("int"), // required + * }, + * }, * }, * Tags: [ // TagList * { // Tag diff --git a/clients/client-sagemaker/src/commands/DeleteImageCommand.ts b/clients/client-sagemaker/src/commands/DeleteImageCommand.ts index cd8fb70745ca9..b2eb9f9e7e455 100644 --- a/clients/client-sagemaker/src/commands/DeleteImageCommand.ts +++ b/clients/client-sagemaker/src/commands/DeleteImageCommand.ts @@ -13,8 +13,7 @@ import { SerdeContext as __SerdeContext, } from "@smithy/types"; -import { DeleteImageRequest } from "../models/models_1"; -import { DeleteImageResponse } from "../models/models_2"; +import { DeleteImageRequest, DeleteImageResponse } from "../models/models_2"; import { de_DeleteImageCommand, se_DeleteImageCommand } from "../protocols/Aws_json1_1"; import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; diff --git a/clients/client-sagemaker/src/commands/DescribeEndpointCommand.ts b/clients/client-sagemaker/src/commands/DescribeEndpointCommand.ts index 04b9c832e5f5d..3da480169d6b8 100644 --- a/clients/client-sagemaker/src/commands/DescribeEndpointCommand.ts +++ b/clients/client-sagemaker/src/commands/DescribeEndpointCommand.ts @@ -92,7 +92,7 @@ export interface DescribeEndpointCommandOutput extends DescribeEndpointOutput, _ * // DestinationS3Uri: "STRING_VALUE", // required * // KmsKeyId: "STRING_VALUE", // required * // }, - * // EndpointStatus: "OutOfService" || "Creating" || "Updating" || "SystemUpdating" || "RollingBack" || "InService" || "Deleting" || "Failed", // required + * // EndpointStatus: "OutOfService" || "Creating" || "Updating" || "SystemUpdating" || "RollingBack" || "InService" || "Deleting" || "Failed" || "UpdateRollbackFailed", // required * // FailureReason: "STRING_VALUE", * // CreationTime: new Date("TIMESTAMP"), // required * // LastModifiedTime: new Date("TIMESTAMP"), // required @@ -120,6 +120,18 @@ export interface DescribeEndpointCommandOutput extends DescribeEndpointOutput, _ * // }, * // ], * // }, + * // RollingUpdatePolicy: { // RollingUpdatePolicy + * // MaximumBatchSize: { + * // Type: "INSTANCE_COUNT" || "CAPACITY_PERCENT", // required + * // Value: Number("int"), // required + * // }, + * // WaitIntervalInSeconds: Number("int"), // required + * // MaximumExecutionTimeoutInSeconds: Number("int"), + * // RollbackMaximumBatchSize: { + * // Type: "INSTANCE_COUNT" || "CAPACITY_PERCENT", // required + * // Value: Number("int"), // required + * // }, + * // }, * // }, * // AsyncInferenceConfig: { // AsyncInferenceConfig * // ClientConfig: { // AsyncInferenceClientConfig diff --git a/clients/client-sagemaker/src/commands/DescribeInferenceExperimentCommand.ts b/clients/client-sagemaker/src/commands/DescribeInferenceExperimentCommand.ts index 2e4b712d1b7f8..08630c5f02280 100644 --- a/clients/client-sagemaker/src/commands/DescribeInferenceExperimentCommand.ts +++ b/clients/client-sagemaker/src/commands/DescribeInferenceExperimentCommand.ts @@ -68,7 +68,7 @@ export interface DescribeInferenceExperimentCommandOutput * // EndpointMetadata: { // EndpointMetadata * // EndpointName: "STRING_VALUE", // required * // EndpointConfigName: "STRING_VALUE", - * // EndpointStatus: "OutOfService" || "Creating" || "Updating" || "SystemUpdating" || "RollingBack" || "InService" || "Deleting" || "Failed", + * // EndpointStatus: "OutOfService" || "Creating" || "Updating" || "SystemUpdating" || "RollingBack" || "InService" || "Deleting" || "Failed" || "UpdateRollbackFailed", * // FailureReason: "STRING_VALUE", * // }, * // ModelVariants: [ // ModelVariantConfigSummaryList // required diff --git a/clients/client-sagemaker/src/commands/ListEndpointsCommand.ts b/clients/client-sagemaker/src/commands/ListEndpointsCommand.ts index 5af0df0380ccf..b4dd832b09a68 100644 --- a/clients/client-sagemaker/src/commands/ListEndpointsCommand.ts +++ b/clients/client-sagemaker/src/commands/ListEndpointsCommand.ts @@ -53,7 +53,7 @@ export interface ListEndpointsCommandOutput extends ListEndpointsOutput, __Metad * CreationTimeAfter: new Date("TIMESTAMP"), * LastModifiedTimeBefore: new Date("TIMESTAMP"), * LastModifiedTimeAfter: new Date("TIMESTAMP"), - * StatusEquals: "OutOfService" || "Creating" || "Updating" || "SystemUpdating" || "RollingBack" || "InService" || "Deleting" || "Failed", + * StatusEquals: "OutOfService" || "Creating" || "Updating" || "SystemUpdating" || "RollingBack" || "InService" || "Deleting" || "Failed" || "UpdateRollbackFailed", * }; * const command = new ListEndpointsCommand(input); * const response = await client.send(command); @@ -64,7 +64,7 @@ export interface ListEndpointsCommandOutput extends ListEndpointsOutput, __Metad * // EndpointArn: "STRING_VALUE", // required * // CreationTime: new Date("TIMESTAMP"), // required * // LastModifiedTime: new Date("TIMESTAMP"), // required - * // EndpointStatus: "OutOfService" || "Creating" || "Updating" || "SystemUpdating" || "RollingBack" || "InService" || "Deleting" || "Failed", // required + * // EndpointStatus: "OutOfService" || "Creating" || "Updating" || "SystemUpdating" || "RollingBack" || "InService" || "Deleting" || "Failed" || "UpdateRollbackFailed", // required * // }, * // ], * // NextToken: "STRING_VALUE", diff --git a/clients/client-sagemaker/src/commands/SearchCommand.ts b/clients/client-sagemaker/src/commands/SearchCommand.ts index 9a84a80353f62..438893e35b122 100644 --- a/clients/client-sagemaker/src/commands/SearchCommand.ts +++ b/clients/client-sagemaker/src/commands/SearchCommand.ts @@ -870,7 +870,7 @@ export interface SearchCommandOutput extends SearchResponse, __MetadataBearer {} * // DestinationS3Uri: "STRING_VALUE", // required * // KmsKeyId: "STRING_VALUE", // required * // }, - * // EndpointStatus: "OutOfService" || "Creating" || "Updating" || "SystemUpdating" || "RollingBack" || "InService" || "Deleting" || "Failed", // required + * // EndpointStatus: "OutOfService" || "Creating" || "Updating" || "SystemUpdating" || "RollingBack" || "InService" || "Deleting" || "Failed" || "UpdateRollbackFailed", // required * // FailureReason: "STRING_VALUE", * // CreationTime: new Date("TIMESTAMP"), // required * // LastModifiedTime: new Date("TIMESTAMP"), // required @@ -1772,7 +1772,7 @@ export interface SearchCommandOutput extends SearchResponse, __MetadataBearer {} * // EndpointArn: "STRING_VALUE", // required * // CreationTime: new Date("TIMESTAMP"), // required * // LastModifiedTime: new Date("TIMESTAMP"), // required - * // EndpointStatus: "OutOfService" || "Creating" || "Updating" || "SystemUpdating" || "RollingBack" || "InService" || "Deleting" || "Failed", // required + * // EndpointStatus: "OutOfService" || "Creating" || "Updating" || "SystemUpdating" || "RollingBack" || "InService" || "Deleting" || "Failed" || "UpdateRollbackFailed", // required * // }, * // ], * // LastBatchTransformJob: { diff --git a/clients/client-sagemaker/src/commands/UpdateEndpointCommand.ts b/clients/client-sagemaker/src/commands/UpdateEndpointCommand.ts index c526adf8d4b4c..eba31e644c0d4 100644 --- a/clients/client-sagemaker/src/commands/UpdateEndpointCommand.ts +++ b/clients/client-sagemaker/src/commands/UpdateEndpointCommand.ts @@ -92,6 +92,18 @@ export interface UpdateEndpointCommandOutput extends UpdateEndpointOutput, __Met * }, * ], * }, + * RollingUpdatePolicy: { // RollingUpdatePolicy + * MaximumBatchSize: { + * Type: "INSTANCE_COUNT" || "CAPACITY_PERCENT", // required + * Value: Number("int"), // required + * }, + * WaitIntervalInSeconds: Number("int"), // required + * MaximumExecutionTimeoutInSeconds: Number("int"), + * RollbackMaximumBatchSize: { + * Type: "INSTANCE_COUNT" || "CAPACITY_PERCENT", // required + * Value: Number("int"), // required + * }, + * }, * }, * RetainDeploymentConfig: true || false, * }; diff --git a/clients/client-sagemaker/src/models/models_0.ts b/clients/client-sagemaker/src/models/models_0.ts index a52edefaa3f70..5dc00b5129a05 100644 --- a/clients/client-sagemaker/src/models/models_0.ts +++ b/clients/client-sagemaker/src/models/models_0.ts @@ -6585,7 +6585,10 @@ export type CapacitySizeType = (typeof CapacitySizeType)[keyof typeof CapacitySi /** * @public - *

Specifies the endpoint capacity to activate for production.

+ *

Specifies the type and size of the endpoint capacity to activate for a blue/green deployment, a rolling deployment, or a rollback strategy. + * You can specify your batches as either instance count or the overall percentage or your fleet.

+ *

For a rollback strategy, if you don't specify the fields in this object, or if you set the Value to 100%, then SageMaker + * uses a blue/green rollback strategy and rolls all traffic back to the blue fleet.

*/ export interface CapacitySize { /** diff --git a/clients/client-sagemaker/src/models/models_1.ts b/clients/client-sagemaker/src/models/models_1.ts index c58473f5b1810..14bbd21dba604 100644 --- a/clients/client-sagemaker/src/models/models_1.ts +++ b/clients/client-sagemaker/src/models/models_1.ts @@ -24,6 +24,7 @@ import { Bias, BlueGreenUpdatePolicy, CanvasAppSettings, + CapacitySize, CaptureContentTypeHeader, CaptureOption, CaptureStatus, @@ -598,6 +599,37 @@ export interface CreateEdgePackagingJobRequest { Tags?: Tag[]; } +/** + * @public + *

Specifies a rolling deployment strategy for updating a SageMaker endpoint.

+ */ +export interface RollingUpdatePolicy { + /** + *

Batch size for each rolling step to provision capacity and turn on traffic on the new + * endpoint fleet, and terminate capacity on the old endpoint fleet. Value must be between + * 5% to 50% of the variant's total instance count.

+ */ + MaximumBatchSize: CapacitySize | undefined; + + /** + *

The length of the baking period, during which SageMaker monitors alarms for each batch on the new fleet.

+ */ + WaitIntervalInSeconds: number | undefined; + + /** + *

The time limit for the total deployment. Exceeding this limit causes a timeout.

+ */ + MaximumExecutionTimeoutInSeconds?: number; + + /** + *

Batch size for rollback to the old endpoint fleet. Each rolling step to provision + * capacity and turn on traffic on the old endpoint fleet, and terminate capacity on the new + * endpoint fleet. If this field is absent, the default value will be set to 100% of total + * capacity which means to bring up the whole capacity of the old fleet at once during rollback.

+ */ + RollbackMaximumBatchSize?: CapacitySize; +} + /** * @public *

The deployment configuration for an endpoint, which contains the desired deployment @@ -612,13 +644,18 @@ export interface DeploymentConfig { * specified, SageMaker uses a blue/green deployment strategy with all at once traffic shifting * by default.

*/ - BlueGreenUpdatePolicy: BlueGreenUpdatePolicy | undefined; + BlueGreenUpdatePolicy?: BlueGreenUpdatePolicy; /** *

Automatic rollback configuration for handling endpoint deployment failures and * recovery.

*/ AutoRollbackConfiguration?: AutoRollbackConfig; + + /** + *

Specifies a rolling deployment strategy for updating a SageMaker endpoint.

+ */ + RollingUpdatePolicy?: RollingUpdatePolicy; } /** @@ -10754,16 +10791,6 @@ export interface DeleteHumanTaskUiRequest { */ export interface DeleteHumanTaskUiResponse {} -/** - * @public - */ -export interface DeleteImageRequest { - /** - *

The name of the image to delete.

- */ - ImageName: string | undefined; -} - /** * @internal */ diff --git a/clients/client-sagemaker/src/models/models_2.ts b/clients/client-sagemaker/src/models/models_2.ts index 444a729c6edd7..50d0c7d14b8f9 100644 --- a/clients/client-sagemaker/src/models/models_2.ts +++ b/clients/client-sagemaker/src/models/models_2.ts @@ -177,6 +177,16 @@ import { VendorGuidance, } from "./models_1"; +/** + * @public + */ +export interface DeleteImageRequest { + /** + *

The name of the image to delete.

+ */ + ImageName: string | undefined; +} + /** * @public */ @@ -2256,6 +2266,7 @@ export const EndpointStatus = { OUT_OF_SERVICE: "OutOfService", ROLLING_BACK: "RollingBack", SYSTEM_UPDATING: "SystemUpdating", + UPDATE_ROLLBACK_FAILED: "UpdateRollbackFailed", UPDATING: "Updating", } as const; @@ -10094,19 +10105,6 @@ export interface PropertyNameQuery { PropertyNameHint: string | undefined; } -/** - * @public - *

Specified in the GetSearchSuggestions request. - * Limits the property names that are included in the response.

- */ -export interface SuggestionQuery { - /** - *

Defines a property name hint. Only property - * names that begin with the specified hint are included in the response.

- */ - PropertyNameQuery?: PropertyNameQuery; -} - /** * @internal */ diff --git a/clients/client-sagemaker/src/models/models_3.ts b/clients/client-sagemaker/src/models/models_3.ts index b548f757deb64..d60c4f5ce863d 100644 --- a/clients/client-sagemaker/src/models/models_3.ts +++ b/clients/client-sagemaker/src/models/models_3.ts @@ -108,7 +108,6 @@ import { EdgePackagingJobStatus, EdgePackagingJobSummary, EMRStepMetadata, - Endpoint, EndpointConfigSortKey, EndpointConfigSummary, EndpointOutputConfiguration, @@ -116,15 +115,12 @@ import { EndpointStatus, EndpointSummary, ExecutionStatus, - Experiment, ExperimentSummary, FailStepMetadata, - FeatureGroup, FeatureGroupSortBy, FeatureGroupSortOrder, FeatureGroupStatus, FeatureGroupSummary, - FeatureMetadata, Filter, FlowDefinitionSummary, HubContentStatus, @@ -155,6 +151,7 @@ import { PipelineStatus, ProcessingJobStatus, ProjectStatus, + PropertyNameQuery, RecommendationJobStatus, RecommendationMetrics, ResourceType, @@ -165,7 +162,6 @@ import { ServiceCatalogProvisionedProductDetails, SpaceStatus, SubscribedWorkteam, - SuggestionQuery, TrainingJobStatus, TrainingJobStatusCounters, TransformJobStatus, @@ -179,6 +175,19 @@ import { Workteam, } from "./models_2"; +/** + * @public + *

Specified in the GetSearchSuggestions request. + * Limits the property names that are included in the response.

+ */ +export interface SuggestionQuery { + /** + *

Defines a property name hint. Only property + * names that begin with the specified hint are included in the response.

+ */ + PropertyNameQuery?: PropertyNameQuery; +} + /** * @public */ @@ -10145,90 +10154,6 @@ export interface TrialComponent { RunName?: string; } -/** - * @public - *

A single resource returned as part of the Search API response.

- */ -export interface SearchRecord { - /** - *

The properties of a training job.

- */ - TrainingJob?: TrainingJob; - - /** - *

The properties of an experiment.

- */ - Experiment?: Experiment; - - /** - *

The properties of a trial.

- */ - Trial?: Trial; - - /** - *

The properties of a trial component.

- */ - TrialComponent?: TrialComponent; - - /** - *

A hosted endpoint for real-time inference.

- */ - Endpoint?: Endpoint; - - /** - *

A versioned model that can be deployed for SageMaker inference.

- */ - ModelPackage?: ModelPackage; - - /** - *

A group of versioned models in the model registry.

- */ - ModelPackageGroup?: ModelPackageGroup; - - /** - *

A SageMaker Model Building Pipeline instance.

- */ - Pipeline?: Pipeline; - - /** - *

An execution of a pipeline.

- */ - PipelineExecution?: PipelineExecution; - - /** - *

Amazon SageMaker Feature Store stores features in a collection called Feature Group. - * A Feature Group can be visualized as a table which has rows, - * with a unique identifier for each row where each column in the table is a feature. - * In principle, a Feature Group is composed of features and values per features.

- */ - FeatureGroup?: FeatureGroup; - - /** - *

The properties of a project.

- */ - Project?: Project; - - /** - *

The feature metadata used to search through the features.

- */ - FeatureMetadata?: FeatureMetadata; - - /** - *

The properties of a hyperparameter tuning job.

- */ - HyperParameterTuningJob?: HyperParameterTuningJobSearchEntity; - - /** - *

A model displayed in the Amazon SageMaker Model Dashboard.

- */ - Model?: ModelDashboardModel; - - /** - *

An Amazon SageMaker Model Card that documents details about a machine learning model.

- */ - ModelCard?: ModelCard; -} - /** * @internal */ @@ -10236,12 +10161,3 @@ export const ModelCardFilterSensitiveLog = (obj: ModelCard): any => ({ ...obj, ...(obj.Content && { Content: SENSITIVE_STRING }), }); - -/** - * @internal - */ -export const SearchRecordFilterSensitiveLog = (obj: SearchRecord): any => ({ - ...obj, - ...(obj.TrialComponent && { TrialComponent: obj.TrialComponent }), - ...(obj.ModelCard && { ModelCard: ModelCardFilterSensitiveLog(obj.ModelCard) }), -}); diff --git a/clients/client-sagemaker/src/models/models_4.ts b/clients/client-sagemaker/src/models/models_4.ts index 7ed8aaf6d9afb..4e78f0dd7af76 100644 --- a/clients/client-sagemaker/src/models/models_4.ts +++ b/clients/client-sagemaker/src/models/models_4.ts @@ -50,6 +50,10 @@ import { DesiredWeightAndCapacity, Device, DomainSettingsForUpdate, + Endpoint, + Experiment, + FeatureGroup, + FeatureMetadata, FeatureParameter, Filter, ResourceType, @@ -59,18 +63,112 @@ import { } from "./models_2"; import { GitConfigForUpdate, + HyperParameterTuningJobSearchEntity, InferenceExperimentStopDesiredState, + ModelCard, + ModelCardFilterSensitiveLog, + ModelDashboardModel, + ModelPackage, + ModelPackageGroup, ModelVariantAction, NestedFilters, OnlineStoreConfigUpdate, Parameter, + Pipeline, + PipelineExecution, ProfilerConfigForUpdate, + Project, ResourceConfigForUpdate, - SearchRecord, - SearchRecordFilterSensitiveLog, SearchSortOrder, + TrainingJob, + Trial, + TrialComponent, } from "./models_3"; +/** + * @public + *

A single resource returned as part of the Search API response.

+ */ +export interface SearchRecord { + /** + *

The properties of a training job.

+ */ + TrainingJob?: TrainingJob; + + /** + *

The properties of an experiment.

+ */ + Experiment?: Experiment; + + /** + *

The properties of a trial.

+ */ + Trial?: Trial; + + /** + *

The properties of a trial component.

+ */ + TrialComponent?: TrialComponent; + + /** + *

A hosted endpoint for real-time inference.

+ */ + Endpoint?: Endpoint; + + /** + *

A versioned model that can be deployed for SageMaker inference.

+ */ + ModelPackage?: ModelPackage; + + /** + *

A group of versioned models in the model registry.

+ */ + ModelPackageGroup?: ModelPackageGroup; + + /** + *

A SageMaker Model Building Pipeline instance.

+ */ + Pipeline?: Pipeline; + + /** + *

An execution of a pipeline.

+ */ + PipelineExecution?: PipelineExecution; + + /** + *

Amazon SageMaker Feature Store stores features in a collection called Feature Group. + * A Feature Group can be visualized as a table which has rows, + * with a unique identifier for each row where each column in the table is a feature. + * In principle, a Feature Group is composed of features and values per features.

+ */ + FeatureGroup?: FeatureGroup; + + /** + *

The properties of a project.

+ */ + Project?: Project; + + /** + *

The feature metadata used to search through the features.

+ */ + FeatureMetadata?: FeatureMetadata; + + /** + *

The properties of a hyperparameter tuning job.

+ */ + HyperParameterTuningJob?: HyperParameterTuningJobSearchEntity; + + /** + *

A model displayed in the Amazon SageMaker Model Dashboard.

+ */ + Model?: ModelDashboardModel; + + /** + *

An Amazon SageMaker Model Card that documents details about a machine learning model.

+ */ + ModelCard?: ModelCard; +} + /** * @public */ @@ -2071,6 +2169,15 @@ export interface SearchRequest { MaxResults?: number; } +/** + * @internal + */ +export const SearchRecordFilterSensitiveLog = (obj: SearchRecord): any => ({ + ...obj, + ...(obj.TrialComponent && { TrialComponent: obj.TrialComponent }), + ...(obj.ModelCard && { ModelCard: ModelCardFilterSensitiveLog(obj.ModelCard) }), +}); + /** * @internal */ diff --git a/clients/client-sagemaker/src/protocols/Aws_json1_1.ts b/clients/client-sagemaker/src/protocols/Aws_json1_1.ts index ec5c3ffd3713c..205e92b78f113 100644 --- a/clients/client-sagemaker/src/protocols/Aws_json1_1.ts +++ b/clients/client-sagemaker/src/protocols/Aws_json1_1.ts @@ -1043,7 +1043,6 @@ import { DeleteHubContentRequest, DeleteHubRequest, DeleteHumanTaskUiRequest, - DeleteImageRequest, DeploymentConfig, DeploymentStage, DeviceSelectionConfig, @@ -1162,6 +1161,7 @@ import { ResourceLimits, RetentionPolicy, RetryStrategy, + RollingUpdatePolicy, RStudioServerProAppSettings, RStudioServerProDomainSettings, S3StorageConfig, @@ -1189,6 +1189,7 @@ import { WorkforceVpcConfigRequest, } from "../models/models_1"; import { + DeleteImageRequest, DeleteImageVersionRequest, DeleteInferenceExperimentRequest, DeleteModelBiasJobDefinitionRequest, @@ -1379,7 +1380,6 @@ import { SecondaryStatusTransition, SelectedStep, SelectiveExecutionConfig, - SuggestionQuery, TrialComponentMetricSummary, Workforce, Workteam, @@ -1584,9 +1584,9 @@ import { RenderUiTemplateRequest, ResourceConfigForUpdate, RetryPipelineExecutionRequest, - SearchRecord, SpaceDetails, StudioLifecycleConfigDetails, + SuggestionQuery, TrainingJob, TrainingJobSummary, TransformJob, @@ -1601,6 +1601,7 @@ import { } from "../models/models_3"; import { SearchExpression, + SearchRecord, SearchRequest, SearchResponse, SendPipelineExecutionStepFailureRequest, @@ -21614,6 +21615,8 @@ const se_RetryPipelineExecutionRequest = (input: RetryPipelineExecutionRequest, // se_RetryStrategy omitted. +// se_RollingUpdatePolicy omitted. + // se_RSessionAppSettings omitted. // se_RStudioServerProAppSettings omitted. @@ -27505,6 +27508,8 @@ const de_RecommendationMetrics = (output: any, context: __SerdeContext): Recomme // de_RetryStrategy omitted. +// de_RollingUpdatePolicy omitted. + // de_RSessionAppSettings omitted. // de_RStudioServerProAppSettings omitted. diff --git a/codegen/sdk-codegen/aws-models/sagemaker.json b/codegen/sdk-codegen/aws-models/sagemaker.json index b8b72b6efc2af..0846fe87c9a59 100644 --- a/codegen/sdk-codegen/aws-models/sagemaker.json +++ b/codegen/sdk-codegen/aws-models/sagemaker.json @@ -4275,7 +4275,7 @@ } }, "traits": { - "smithy.api#documentation": "

Specifies the endpoint capacity to activate for production.

" + "smithy.api#documentation": "

Specifies the type and size of the endpoint capacity to activate for a blue/green deployment, a rolling deployment, or a rollback strategy.\n You can specify your batches as either instance count or the overall percentage or your fleet.

\n

For a rollback strategy, if you don't specify the fields in this object, or if you set the Value to 100%, then SageMaker\n uses a blue/green rollback strategy and rolls all traffic back to the blue fleet.

" } }, "com.amazonaws.sagemaker#CapacitySizeType": { @@ -13581,8 +13581,7 @@ "BlueGreenUpdatePolicy": { "target": "com.amazonaws.sagemaker#BlueGreenUpdatePolicy", "traits": { - "smithy.api#documentation": "

Update policy for a blue/green deployment. If this update policy is specified, SageMaker\n creates a new fleet during the deployment while maintaining the old fleet. SageMaker flips\n traffic to the new fleet according to the specified traffic routing configuration. Only\n one update policy should be used in the deployment configuration. If no update policy is\n specified, SageMaker uses a blue/green deployment strategy with all at once traffic shifting\n by default.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Update policy for a blue/green deployment. If this update policy is specified, SageMaker\n creates a new fleet during the deployment while maintaining the old fleet. SageMaker flips\n traffic to the new fleet according to the specified traffic routing configuration. Only\n one update policy should be used in the deployment configuration. If no update policy is\n specified, SageMaker uses a blue/green deployment strategy with all at once traffic shifting\n by default.

" } }, "AutoRollbackConfiguration": { @@ -13590,6 +13589,12 @@ "traits": { "smithy.api#documentation": "

Automatic rollback configuration for handling endpoint deployment failures and\n recovery.

" } + }, + "RollingUpdatePolicy": { + "target": "com.amazonaws.sagemaker#RollingUpdatePolicy", + "traits": { + "smithy.api#documentation": "

Specifies a rolling deployment strategy for updating a SageMaker endpoint.

" + } } }, "traits": { @@ -23094,6 +23099,12 @@ "traits": { "smithy.api#enumValue": "Failed" } + }, + "UPDATE_ROLLBACK_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UpdateRollbackFailed" + } } } }, @@ -36995,7 +37006,7 @@ "traits": { "smithy.api#range": { "min": 600, - "max": 14400 + "max": 28800 } } }, @@ -47973,6 +47984,40 @@ "smithy.api#pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$" } }, + "com.amazonaws.sagemaker#RollingUpdatePolicy": { + "type": "structure", + "members": { + "MaximumBatchSize": { + "target": "com.amazonaws.sagemaker#CapacitySize", + "traits": { + "smithy.api#documentation": "

Batch size for each rolling step to provision capacity and turn on traffic on the new\n endpoint fleet, and terminate capacity on the old endpoint fleet. Value must be between\n 5% to 50% of the variant's total instance count.

", + "smithy.api#required": {} + } + }, + "WaitIntervalInSeconds": { + "target": "com.amazonaws.sagemaker#WaitIntervalInSeconds", + "traits": { + "smithy.api#documentation": "

The length of the baking period, during which SageMaker monitors alarms for each batch on the new fleet.

", + "smithy.api#required": {} + } + }, + "MaximumExecutionTimeoutInSeconds": { + "target": "com.amazonaws.sagemaker#MaximumExecutionTimeoutInSeconds", + "traits": { + "smithy.api#documentation": "

The time limit for the total deployment. Exceeding this limit causes a timeout.

" + } + }, + "RollbackMaximumBatchSize": { + "target": "com.amazonaws.sagemaker#CapacitySize", + "traits": { + "smithy.api#documentation": "

Batch size for rollback to the old endpoint fleet. Each rolling step to provision\n capacity and turn on traffic on the old endpoint fleet, and terminate capacity on the new\n endpoint fleet. If this field is absent, the default value will be set to 100% of total\n capacity which means to bring up the whole capacity of the old fleet at once during rollback.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a rolling deployment strategy for updating a SageMaker endpoint.

" + } + }, "com.amazonaws.sagemaker#RootAccess": { "type": "enum", "members": {