Skip to content

Commit

Permalink
feat(client-sagemaker): AWS SageMaker InferenceComponents now support…
Browse files Browse the repository at this point in the history
… rolling update deployments for Inference Components.
  • Loading branch information
awstools committed Feb 26, 2025
1 parent 618b5ed commit 91fa4eb
Show file tree
Hide file tree
Showing 21 changed files with 925 additions and 552 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,14 @@ export interface CreateModelPackageCommandInput extends CreateModelPackageInput
export interface CreateModelPackageCommandOutput extends CreateModelPackageOutput, __MetadataBearer {}

/**
* <p>Creates a model package that you can use to create SageMaker models or list on Amazon Web Services
* Marketplace, or a versioned model that is part of a model group. Buyers can subscribe to
* model packages listed on Amazon Web Services Marketplace to create models in SageMaker.</p>
* <p>Creates a model package that you can use to create SageMaker models or list on Amazon Web Services Marketplace, or a versioned model that is part of a model group. Buyers
* can subscribe to model packages listed on Amazon Web Services Marketplace to create
* models in SageMaker.</p>
* <p>To create a model package by specifying a Docker container that contains your
* inference code and the Amazon S3 location of your model artifacts, provide values for
* <code>InferenceSpecification</code>. To create a model from an algorithm resource
* <code>InferenceSpecification</code>. To create a model from an algorithm resource
* that you created or subscribed to in Amazon Web Services Marketplace, provide a value for
* <code>SourceAlgorithmSpecification</code>.</p>
* <code>SourceAlgorithmSpecification</code>.</p>
* <note>
* <p>There are two types of model packages:</p>
* <ul>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,9 @@ export interface DeleteModelPackageCommandOutput extends __MetadataBearer {}

/**
* <p>Deletes a model package.</p>
* <p>A model package is used to create SageMaker models or list on Amazon Web Services Marketplace. Buyers can
* subscribe to model packages listed on Amazon Web Services Marketplace to create models in SageMaker.</p>
* <p>A model package is used to create SageMaker models or list on Amazon Web Services
* Marketplace. Buyers can subscribe to model packages listed on Amazon Web Services
* Marketplace to create models in SageMaker.</p>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,27 @@ export interface DescribeInferenceComponentCommandOutput extends DescribeInferen
* // CreationTime: new Date("TIMESTAMP"), // required
* // LastModifiedTime: new Date("TIMESTAMP"), // required
* // InferenceComponentStatus: "InService" || "Creating" || "Updating" || "Failed" || "Deleting",
* // LastDeploymentConfig: { // InferenceComponentDeploymentConfig
* // RollingUpdatePolicy: { // InferenceComponentRollingUpdatePolicy
* // MaximumBatchSize: { // InferenceComponentCapacitySize
* // Type: "COPY_COUNT" || "CAPACITY_PERCENT", // required
* // Value: Number("int"), // required
* // },
* // WaitIntervalInSeconds: Number("int"), // required
* // MaximumExecutionTimeoutInSeconds: Number("int"),
* // RollbackMaximumBatchSize: {
* // Type: "COPY_COUNT" || "CAPACITY_PERCENT", // required
* // Value: Number("int"), // required
* // },
* // },
* // AutoRollbackConfiguration: { // AutoRollbackConfig
* // Alarms: [ // AlarmList
* // { // Alarm
* // AlarmName: "STRING_VALUE",
* // },
* // ],
* // },
* // },
* // };
*
* ```
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,10 @@ export interface DescribeModelPackageCommandOutput extends DescribeModelPackageO
* models or list them on Amazon Web Services Marketplace.</p>
* <important>
* <p>If you provided a KMS Key ID when you created your model package,
* you will see the <a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html">KMS
* Decrypt</a> API call in your CloudTrail logs when you use this API.</p>
* you will see the <a href="https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html">KMS Decrypt</a> API call in
* your CloudTrail logs when you use this API.</p>
* </important>
* <p>To create models in SageMaker, buyers can subscribe to model packages listed on Amazon Web Services
* Marketplace.</p>
* <p>To create models in SageMaker, buyers can subscribe to model packages listed on Amazon Web Services Marketplace.</p>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ export interface GetModelPackageGroupPolicyCommandOutput extends GetModelPackage
/**
* <p>Gets a resource policy that manages access for a model group. For information about
* resource policies, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html">Identity-based
* policies and resource-based policies</a> in the <i>Amazon Web Services Identity and
* Access Management User Guide.</i>.</p>
* policies and resource-based policies</a> in the <i>Amazon Web Services
* Identity and Access Management User Guide.</i>.</p>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ import { Command as $Command } from "@smithy/smithy-client";
import { MetadataBearer as __MetadataBearer } from "@smithy/types";

import { commonParams } from "../endpoint/EndpointParameters";
import { ListDataQualityJobDefinitionsRequest, ListDataQualityJobDefinitionsResponse } from "../models/models_3";
import { ListDataQualityJobDefinitionsRequest } from "../models/models_3";
import { ListDataQualityJobDefinitionsResponse } from "../models/models_4";
import {
de_ListDataQualityJobDefinitionsCommand,
se_ListDataQualityJobDefinitionsCommand,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client";
import { MetadataBearer as __MetadataBearer } from "@smithy/types";

import { commonParams } from "../endpoint/EndpointParameters";
import { ListDeviceFleetsRequest } from "../models/models_3";
import { ListDeviceFleetsResponse } from "../models/models_4";
import { ListDeviceFleetsRequest, ListDeviceFleetsResponse } from "../models/models_4";
import { de_ListDeviceFleetsCommand, se_ListDeviceFleetsCommand } from "../protocols/Aws_json1_1";
import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ export interface PutModelPackageGroupPolicyCommandOutput extends PutModelPackage
/**
* <p>Adds a resouce policy to control access to a model group. For information about
* resoure policies, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html">Identity-based
* policies and resource-based policies</a> in the <i>Amazon Web Services Identity and Access Management User Guide.</i>.</p>
* policies and resource-based policies</a> in the <i>Amazon Web Services
* Identity and Access Management User Guide.</i>.</p>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client";
import { MetadataBearer as __MetadataBearer } from "@smithy/types";

import { commonParams } from "../endpoint/EndpointParameters";
import { StopProcessingJobRequest } from "../models/models_4";
import { StopProcessingJobRequest } from "../models/models_5";
import { de_StopProcessingJobCommand, se_StopProcessingJobCommand } from "../protocols/Aws_json1_1";
import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client";
import { MetadataBearer as __MetadataBearer } from "@smithy/types";

import { commonParams } from "../endpoint/EndpointParameters";
import { StopTrainingJobRequest } from "../models/models_4";
import { StopTrainingJobRequest } from "../models/models_5";
import { de_StopTrainingJobCommand, se_StopTrainingJobCommand } from "../protocols/Aws_json1_1";
import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client";
import { MetadataBearer as __MetadataBearer } from "@smithy/types";

import { commonParams } from "../endpoint/EndpointParameters";
import { StopTransformJobRequest } from "../models/models_4";
import { StopTransformJobRequest } from "../models/models_5";
import { de_StopTransformJobCommand, se_StopTransformJobCommand } from "../protocols/Aws_json1_1";
import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient";

Expand Down
3 changes: 1 addition & 2 deletions clients/client-sagemaker/src/commands/UpdateActionCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ import { Command as $Command } from "@smithy/smithy-client";
import { MetadataBearer as __MetadataBearer } from "@smithy/types";

import { commonParams } from "../endpoint/EndpointParameters";
import { UpdateActionRequest } from "../models/models_4";
import { UpdateActionResponse } from "../models/models_5";
import { UpdateActionRequest, UpdateActionResponse } from "../models/models_5";
import { de_UpdateActionCommand, se_UpdateActionCommand } from "../protocols/Aws_json1_1";
import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,27 @@ export interface UpdateInferenceComponentCommandOutput extends UpdateInferenceCo
* RuntimeConfig: { // InferenceComponentRuntimeConfig
* CopyCount: Number("int"), // required
* },
* DeploymentConfig: { // InferenceComponentDeploymentConfig
* RollingUpdatePolicy: { // InferenceComponentRollingUpdatePolicy
* MaximumBatchSize: { // InferenceComponentCapacitySize
* Type: "COPY_COUNT" || "CAPACITY_PERCENT", // required
* Value: Number("int"), // required
* },
* WaitIntervalInSeconds: Number("int"), // required
* MaximumExecutionTimeoutInSeconds: Number("int"),
* RollbackMaximumBatchSize: {
* Type: "COPY_COUNT" || "CAPACITY_PERCENT", // required
* Value: Number("int"), // required
* },
* },
* AutoRollbackConfiguration: { // AutoRollbackConfig
* Alarms: [ // AlarmList
* { // Alarm
* AlarmName: "STRING_VALUE",
* },
* ],
* },
* },
* };
* const command = new UpdateInferenceComponentCommand(input);
* const response = await client.send(command);
Expand Down
79 changes: 44 additions & 35 deletions clients/client-sagemaker/src/models/models_0.ts
Original file line number Diff line number Diff line change
Expand Up @@ -533,7 +533,7 @@ export interface ModelPackageContainerDefinition {
* <p>The Amazon Elastic Container Registry (Amazon ECR) path where inference code is stored.</p>
* <p>If you are using your own custom algorithm instead of an algorithm provided by SageMaker,
* the inference code must meet SageMaker requirements. SageMaker supports both
* <code>registry/repository[:tag]</code> and <code>registry/repository[@digest]</code>
* <code>registry/repository[:tag]</code> and <code>registry/repository[@digest]</code>
* image path formats. For more information, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html">Using Your Own Algorithms with Amazon
* SageMaker</a>.</p>
* @public
Expand All @@ -550,7 +550,7 @@ export interface ModelPackageContainerDefinition {
/**
* <p>The Amazon S3 path where the model artifacts, which result from model training, are stored.
* This path must point to a single <code>gzip</code> compressed tar archive
* (<code>.tar.gz</code> suffix).</p>
* (<code>.tar.gz</code> suffix).</p>
* <note>
* <p>The model artifacts must be in an S3 bucket that is in the same region as the
* model package.</p>
Expand All @@ -573,7 +573,7 @@ export interface ModelPackageContainerDefinition {

/**
* <p>The environment variables to set in the Docker container. Each key and value in the
* <code>Environment</code> string to string map can have length of up to 1024. We
* <code>Environment</code> string to string map can have length of up to 1024. We
* support up to 16 entries in the map.</p>
* @public
*/
Expand Down Expand Up @@ -7783,8 +7783,15 @@ export interface BatchDeleteClusterNodesRequest {
/**
* <p>A list of node IDs to be deleted from the specified cluster.</p>
* <note>
* <p>For SageMaker HyperPod clusters using the Slurm workload manager, you cannot remove instances
* that are configured as Slurm controller nodes.</p>
* <ul>
* <li>
* <p>For SageMaker HyperPod clusters using the Slurm workload manager, you cannot remove
* instances that are configured as Slurm controller nodes.</p>
* </li>
* <li>
* <p>If you need to delete more than 99 instances, contact <a href="http://aws.amazon.com/contact-us/">Support</a> for assistance.</p>
* </li>
* </ul>
* </note>
* @public
*/
Expand Down Expand Up @@ -8018,8 +8025,8 @@ export interface BatchDescribeModelPackageOutput {
ModelPackageSummaries?: Record<string, BatchDescribeModelPackageSummary> | undefined;

/**
* <p>A map of the resource and BatchDescribeModelPackageError objects
* reporting the error associated with describing the model package.</p>
* <p>A map of the resource and BatchDescribeModelPackageError objects reporting the error
* associated with describing the model package.</p>
* @public
*/
BatchDescribeModelPackageErrorMap?: Record<string, BatchDescribeModelPackageError> | undefined;
Expand Down Expand Up @@ -8324,8 +8331,8 @@ export const TrafficRoutingConfigType = {
export type TrafficRoutingConfigType = (typeof TrafficRoutingConfigType)[keyof typeof TrafficRoutingConfigType];

/**
* <p>Defines the traffic routing strategy during an endpoint deployment to shift traffic from the
* old fleet to the new fleet.</p>
* <p>Defines the traffic routing strategy during an endpoint deployment to shift traffic
* from the old fleet to the new fleet.</p>
* @public
*/
export interface TrafficRoutingConfig {
Expand All @@ -8334,45 +8341,43 @@ export interface TrafficRoutingConfig {
* <ul>
* <li>
* <p>
* <code>ALL_AT_ONCE</code>: Endpoint traffic shifts to the new fleet
* in a single step.
* </p>
* <code>ALL_AT_ONCE</code>: Endpoint traffic shifts to the new fleet in a single
* step. </p>
* </li>
* <li>
* <p>
* <code>CANARY</code>: Endpoint traffic shifts to the new fleet
* in two steps. The first step is the canary, which is a small portion of the traffic. The
* second step is the remainder of the traffic.
* </p>
* <code>CANARY</code>: Endpoint traffic shifts to the new fleet in two steps.
* The first step is the canary, which is a small portion of the traffic. The
* second step is the remainder of the traffic. </p>
* </li>
* <li>
* <p>
* <code>LINEAR</code>: Endpoint traffic shifts to the new fleet in
* n steps of a configurable size.
* </p>
* <code>LINEAR</code>: Endpoint traffic shifts to the new fleet in n steps of a
* configurable size. </p>
* </li>
* </ul>
* @public
*/
Type: TrafficRoutingConfigType | undefined;

/**
* <p>The waiting time (in seconds) between incremental steps to turn on traffic on the
* new endpoint fleet.</p>
* <p>The waiting time (in seconds) between incremental steps to turn on traffic on the new
* endpoint fleet.</p>
* @public
*/
WaitIntervalInSeconds: number | undefined;

/**
* <p>Batch size for the first step to turn on traffic on the new endpoint fleet. <code>Value</code> must be less than
* or equal to 50% of the variant's total instance count.</p>
* <p>Batch size for the first step to turn on traffic on the new endpoint fleet.
* <code>Value</code> must be less than or equal to 50% of the variant's total instance
* count.</p>
* @public
*/
CanarySize?: CapacitySize | undefined;

/**
* <p>Batch size for each step to turn on traffic on the new endpoint fleet. <code>Value</code> must be
* 10-50% of the variant's total instance count.</p>
* <p>Batch size for each step to turn on traffic on the new endpoint fleet.
* <code>Value</code> must be 10-50% of the variant's total instance count.</p>
* @public
*/
LinearStepSize?: CapacitySize | undefined;
Expand Down Expand Up @@ -8907,9 +8912,9 @@ export interface CheckpointConfig {
}

/**
* <p>The container for the metadata for the ClarifyCheck step. For more information,
* see the topic on <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/build-and-manage-steps.html#step-type-clarify-check">ClarifyCheck step</a> in the <i>Amazon SageMaker Developer Guide</i>.
* </p>
* <p>The container for the metadata for the ClarifyCheck step. For more information, see
* the topic on <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/build-and-manage-steps.html#step-type-clarify-check">ClarifyCheck step</a> in the <i>Amazon SageMaker Developer
* Guide</i>. </p>
* @public
*/
export interface ClarifyCheckStepMetadata {
Expand Down Expand Up @@ -8944,23 +8949,27 @@ export interface ClarifyCheckStepMetadata {
ViolationReport?: string | undefined;

/**
* <p>The Amazon Resource Name (ARN) of the check processing job that was run by this step's execution.</p>
* <p>The Amazon Resource Name (ARN) of the check processing job that was run by this step's
* execution.</p>
* @public
*/
CheckJobArn?: string | undefined;

/**
* <p>This flag indicates if the drift check against the previous baseline will be skipped or not.
* If it is set to <code>False</code>, the previous baseline of the configured check type must be available.</p>
* <p>This flag indicates if the drift check against the previous baseline will be skipped
* or not. If it is set to <code>False</code>, the previous baseline of the configured
* check type must be available.</p>
* @public
*/
SkipCheck?: boolean | undefined;

/**
* <p>This flag indicates if a newly calculated baseline can be accessed through step properties
* <code>BaselineUsedForDriftCheckConstraints</code> and <code>BaselineUsedForDriftCheckStatistics</code>.
* If it is set to <code>False</code>, the previous baseline of the configured check type must also be available.
* These can be accessed through the <code>BaselineUsedForDriftCheckConstraints</code> property. </p>
* <p>This flag indicates if a newly calculated baseline can be accessed through step
* properties <code>BaselineUsedForDriftCheckConstraints</code> and
* <code>BaselineUsedForDriftCheckStatistics</code>. If it is set to
* <code>False</code>, the previous baseline of the configured check type must also be
* available. These can be accessed through the
* <code>BaselineUsedForDriftCheckConstraints</code> property. </p>
* @public
*/
RegisterNewBaseline?: boolean | undefined;
Expand Down
Loading

0 comments on commit 91fa4eb

Please sign in to comment.