From 4c29c21253917027d0020889c23caa3626b7a22c Mon Sep 17 00:00:00 2001 From: awstools Date: Wed, 24 May 2023 18:14:08 +0000 Subject: [PATCH] feat(client-sagemaker): SageMaker now provides an instantaneous deployment recommendation through the DescribeModel API --- .../src/commands/DescribeModelCommand.ts | 10 ++ .../src/commands/SearchCommand.ts | 10 ++ .../src/commands/StopProcessingJobCommand.ts | 2 +- .../src/commands/StopTrainingJobCommand.ts | 2 +- .../src/commands/StopTransformJobCommand.ts | 2 +- .../client-sagemaker/src/models/models_2.ts | 142 ++++++++---------- .../client-sagemaker/src/models/models_3.ts | 125 +++++++++++---- .../client-sagemaker/src/models/models_4.ts | 30 ++++ .../src/protocols/Aws_json1_1.ts | 18 ++- codegen/sdk-codegen/aws-models/sagemaker.json | 102 +++++++++++++ 10 files changed, 320 insertions(+), 123 deletions(-) diff --git a/clients/client-sagemaker/src/commands/DescribeModelCommand.ts b/clients/client-sagemaker/src/commands/DescribeModelCommand.ts index 31a94d9ac1df..6e101d1a80d2 100644 --- a/clients/client-sagemaker/src/commands/DescribeModelCommand.ts +++ b/clients/client-sagemaker/src/commands/DescribeModelCommand.ts @@ -108,6 +108,16 @@ export interface DescribeModelCommandOutput extends DescribeModelOutput, __Metad * // CreationTime: new Date("TIMESTAMP"), // required * // ModelArn: "STRING_VALUE", // required * // EnableNetworkIsolation: true || false, + * // DeploymentRecommendation: { // DeploymentRecommendation + * // RecommendationStatus: "IN_PROGRESS" || "COMPLETED" || "FAILED" || "NOT_APPLICABLE", // required + * // RealTimeInferenceRecommendations: [ // RealTimeInferenceRecommendations + * // { // RealTimeInferenceRecommendation + * // RecommendationId: "STRING_VALUE", // required + * // InstanceType: "ml.t2.medium" || "ml.t2.large" || "ml.t2.xlarge" || "ml.t2.2xlarge" || "ml.m4.xlarge" || "ml.m4.2xlarge" || "ml.m4.4xlarge" || "ml.m4.10xlarge" || "ml.m4.16xlarge" || "ml.m5.large" || "ml.m5.xlarge" || "ml.m5.2xlarge" || "ml.m5.4xlarge" || "ml.m5.12xlarge" || "ml.m5.24xlarge" || "ml.m5d.large" || "ml.m5d.xlarge" || "ml.m5d.2xlarge" || "ml.m5d.4xlarge" || "ml.m5d.12xlarge" || "ml.m5d.24xlarge" || "ml.c4.large" || "ml.c4.xlarge" || "ml.c4.2xlarge" || "ml.c4.4xlarge" || "ml.c4.8xlarge" || "ml.p2.xlarge" || "ml.p2.8xlarge" || "ml.p2.16xlarge" || "ml.p3.2xlarge" || "ml.p3.8xlarge" || "ml.p3.16xlarge" || "ml.c5.large" || "ml.c5.xlarge" || "ml.c5.2xlarge" || "ml.c5.4xlarge" || "ml.c5.9xlarge" || "ml.c5.18xlarge" || "ml.c5d.large" || "ml.c5d.xlarge" || "ml.c5d.2xlarge" || "ml.c5d.4xlarge" || "ml.c5d.9xlarge" || "ml.c5d.18xlarge" || "ml.g4dn.xlarge" || "ml.g4dn.2xlarge" || "ml.g4dn.4xlarge" || "ml.g4dn.8xlarge" || "ml.g4dn.12xlarge" || "ml.g4dn.16xlarge" || "ml.r5.large" || "ml.r5.xlarge" || "ml.r5.2xlarge" || "ml.r5.4xlarge" || "ml.r5.12xlarge" || "ml.r5.24xlarge" || "ml.r5d.large" || "ml.r5d.xlarge" || "ml.r5d.2xlarge" || "ml.r5d.4xlarge" || "ml.r5d.12xlarge" || "ml.r5d.24xlarge" || "ml.inf1.xlarge" || "ml.inf1.2xlarge" || "ml.inf1.6xlarge" || "ml.inf1.24xlarge" || "ml.c6i.large" || "ml.c6i.xlarge" || "ml.c6i.2xlarge" || "ml.c6i.4xlarge" || "ml.c6i.8xlarge" || "ml.c6i.12xlarge" || "ml.c6i.16xlarge" || "ml.c6i.24xlarge" || "ml.c6i.32xlarge" || "ml.g5.xlarge" || "ml.g5.2xlarge" || "ml.g5.4xlarge" || "ml.g5.8xlarge" || "ml.g5.12xlarge" || "ml.g5.16xlarge" || "ml.g5.24xlarge" || "ml.g5.48xlarge" || "ml.p4d.24xlarge" || "ml.c7g.large" || "ml.c7g.xlarge" || "ml.c7g.2xlarge" || "ml.c7g.4xlarge" || "ml.c7g.8xlarge" || "ml.c7g.12xlarge" || "ml.c7g.16xlarge" || "ml.m6g.large" || "ml.m6g.xlarge" || "ml.m6g.2xlarge" || "ml.m6g.4xlarge" || "ml.m6g.8xlarge" || "ml.m6g.12xlarge" || "ml.m6g.16xlarge" || "ml.m6gd.large" || "ml.m6gd.xlarge" || "ml.m6gd.2xlarge" || "ml.m6gd.4xlarge" || "ml.m6gd.8xlarge" || "ml.m6gd.12xlarge" || "ml.m6gd.16xlarge" || "ml.c6g.large" || "ml.c6g.xlarge" || "ml.c6g.2xlarge" || "ml.c6g.4xlarge" || "ml.c6g.8xlarge" || "ml.c6g.12xlarge" || "ml.c6g.16xlarge" || "ml.c6gd.large" || "ml.c6gd.xlarge" || "ml.c6gd.2xlarge" || "ml.c6gd.4xlarge" || "ml.c6gd.8xlarge" || "ml.c6gd.12xlarge" || "ml.c6gd.16xlarge" || "ml.c6gn.large" || "ml.c6gn.xlarge" || "ml.c6gn.2xlarge" || "ml.c6gn.4xlarge" || "ml.c6gn.8xlarge" || "ml.c6gn.12xlarge" || "ml.c6gn.16xlarge" || "ml.r6g.large" || "ml.r6g.xlarge" || "ml.r6g.2xlarge" || "ml.r6g.4xlarge" || "ml.r6g.8xlarge" || "ml.r6g.12xlarge" || "ml.r6g.16xlarge" || "ml.r6gd.large" || "ml.r6gd.xlarge" || "ml.r6gd.2xlarge" || "ml.r6gd.4xlarge" || "ml.r6gd.8xlarge" || "ml.r6gd.12xlarge" || "ml.r6gd.16xlarge" || "ml.p4de.24xlarge" || "ml.trn1.2xlarge" || "ml.trn1.32xlarge" || "ml.inf2.xlarge" || "ml.inf2.8xlarge" || "ml.inf2.24xlarge" || "ml.inf2.48xlarge", // required + * // Environment: "", + * // }, + * // ], + * // }, * // }; * * ``` diff --git a/clients/client-sagemaker/src/commands/SearchCommand.ts b/clients/client-sagemaker/src/commands/SearchCommand.ts index 393f58b42d5b..7225ae6fca73 100644 --- a/clients/client-sagemaker/src/commands/SearchCommand.ts +++ b/clients/client-sagemaker/src/commands/SearchCommand.ts @@ -1710,6 +1710,16 @@ export interface SearchCommandOutput extends SearchResponse, __MetadataBearer {} * // ModelArn: "STRING_VALUE", * // EnableNetworkIsolation: true || false, * // Tags: "", + * // DeploymentRecommendation: { // DeploymentRecommendation + * // RecommendationStatus: "IN_PROGRESS" || "COMPLETED" || "FAILED" || "NOT_APPLICABLE", // required + * // RealTimeInferenceRecommendations: [ // RealTimeInferenceRecommendations + * // { // RealTimeInferenceRecommendation + * // RecommendationId: "STRING_VALUE", // required + * // InstanceType: "ml.t2.medium" || "ml.t2.large" || "ml.t2.xlarge" || "ml.t2.2xlarge" || "ml.m4.xlarge" || "ml.m4.2xlarge" || "ml.m4.4xlarge" || "ml.m4.10xlarge" || "ml.m4.16xlarge" || "ml.m5.large" || "ml.m5.xlarge" || "ml.m5.2xlarge" || "ml.m5.4xlarge" || "ml.m5.12xlarge" || "ml.m5.24xlarge" || "ml.m5d.large" || "ml.m5d.xlarge" || "ml.m5d.2xlarge" || "ml.m5d.4xlarge" || "ml.m5d.12xlarge" || "ml.m5d.24xlarge" || "ml.c4.large" || "ml.c4.xlarge" || "ml.c4.2xlarge" || "ml.c4.4xlarge" || "ml.c4.8xlarge" || "ml.p2.xlarge" || "ml.p2.8xlarge" || "ml.p2.16xlarge" || "ml.p3.2xlarge" || "ml.p3.8xlarge" || "ml.p3.16xlarge" || "ml.c5.large" || "ml.c5.xlarge" || "ml.c5.2xlarge" || "ml.c5.4xlarge" || "ml.c5.9xlarge" || "ml.c5.18xlarge" || "ml.c5d.large" || "ml.c5d.xlarge" || "ml.c5d.2xlarge" || "ml.c5d.4xlarge" || "ml.c5d.9xlarge" || "ml.c5d.18xlarge" || "ml.g4dn.xlarge" || "ml.g4dn.2xlarge" || "ml.g4dn.4xlarge" || "ml.g4dn.8xlarge" || "ml.g4dn.12xlarge" || "ml.g4dn.16xlarge" || "ml.r5.large" || "ml.r5.xlarge" || "ml.r5.2xlarge" || "ml.r5.4xlarge" || "ml.r5.12xlarge" || "ml.r5.24xlarge" || "ml.r5d.large" || "ml.r5d.xlarge" || "ml.r5d.2xlarge" || "ml.r5d.4xlarge" || "ml.r5d.12xlarge" || "ml.r5d.24xlarge" || "ml.inf1.xlarge" || "ml.inf1.2xlarge" || "ml.inf1.6xlarge" || "ml.inf1.24xlarge" || "ml.c6i.large" || "ml.c6i.xlarge" || "ml.c6i.2xlarge" || "ml.c6i.4xlarge" || "ml.c6i.8xlarge" || "ml.c6i.12xlarge" || "ml.c6i.16xlarge" || "ml.c6i.24xlarge" || "ml.c6i.32xlarge" || "ml.g5.xlarge" || "ml.g5.2xlarge" || "ml.g5.4xlarge" || "ml.g5.8xlarge" || "ml.g5.12xlarge" || "ml.g5.16xlarge" || "ml.g5.24xlarge" || "ml.g5.48xlarge" || "ml.p4d.24xlarge" || "ml.c7g.large" || "ml.c7g.xlarge" || "ml.c7g.2xlarge" || "ml.c7g.4xlarge" || "ml.c7g.8xlarge" || "ml.c7g.12xlarge" || "ml.c7g.16xlarge" || "ml.m6g.large" || "ml.m6g.xlarge" || "ml.m6g.2xlarge" || "ml.m6g.4xlarge" || "ml.m6g.8xlarge" || "ml.m6g.12xlarge" || "ml.m6g.16xlarge" || "ml.m6gd.large" || "ml.m6gd.xlarge" || "ml.m6gd.2xlarge" || "ml.m6gd.4xlarge" || "ml.m6gd.8xlarge" || "ml.m6gd.12xlarge" || "ml.m6gd.16xlarge" || "ml.c6g.large" || "ml.c6g.xlarge" || "ml.c6g.2xlarge" || "ml.c6g.4xlarge" || "ml.c6g.8xlarge" || "ml.c6g.12xlarge" || "ml.c6g.16xlarge" || "ml.c6gd.large" || "ml.c6gd.xlarge" || "ml.c6gd.2xlarge" || "ml.c6gd.4xlarge" || "ml.c6gd.8xlarge" || "ml.c6gd.12xlarge" || "ml.c6gd.16xlarge" || "ml.c6gn.large" || "ml.c6gn.xlarge" || "ml.c6gn.2xlarge" || "ml.c6gn.4xlarge" || "ml.c6gn.8xlarge" || "ml.c6gn.12xlarge" || "ml.c6gn.16xlarge" || "ml.r6g.large" || "ml.r6g.xlarge" || "ml.r6g.2xlarge" || "ml.r6g.4xlarge" || "ml.r6g.8xlarge" || "ml.r6g.12xlarge" || "ml.r6g.16xlarge" || "ml.r6gd.large" || "ml.r6gd.xlarge" || "ml.r6gd.2xlarge" || "ml.r6gd.4xlarge" || "ml.r6gd.8xlarge" || "ml.r6gd.12xlarge" || "ml.r6gd.16xlarge" || "ml.p4de.24xlarge" || "ml.trn1.2xlarge" || "ml.trn1.32xlarge" || "ml.inf2.xlarge" || "ml.inf2.8xlarge" || "ml.inf2.24xlarge" || "ml.inf2.48xlarge", // required + * // Environment: "", + * // }, + * // ], + * // }, * // }, * // Endpoints: [ // ModelDashboardEndpoints * // { // ModelDashboardEndpoint diff --git a/clients/client-sagemaker/src/commands/StopProcessingJobCommand.ts b/clients/client-sagemaker/src/commands/StopProcessingJobCommand.ts index 3fe83d40b185..ba51f86f045e 100644 --- a/clients/client-sagemaker/src/commands/StopProcessingJobCommand.ts +++ b/clients/client-sagemaker/src/commands/StopProcessingJobCommand.ts @@ -13,7 +13,7 @@ import { import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; import { SerdeContext as __SerdeContext } from "@smithy/types"; -import { StopProcessingJobRequest } from "../models/models_3"; +import { StopProcessingJobRequest } from "../models/models_4"; import { de_StopProcessingJobCommand, se_StopProcessingJobCommand } from "../protocols/Aws_json1_1"; import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; diff --git a/clients/client-sagemaker/src/commands/StopTrainingJobCommand.ts b/clients/client-sagemaker/src/commands/StopTrainingJobCommand.ts index 5684d72644f5..53d4dce531ba 100644 --- a/clients/client-sagemaker/src/commands/StopTrainingJobCommand.ts +++ b/clients/client-sagemaker/src/commands/StopTrainingJobCommand.ts @@ -13,7 +13,7 @@ import { import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; import { SerdeContext as __SerdeContext } from "@smithy/types"; -import { StopTrainingJobRequest } from "../models/models_3"; +import { StopTrainingJobRequest } from "../models/models_4"; import { de_StopTrainingJobCommand, se_StopTrainingJobCommand } from "../protocols/Aws_json1_1"; import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; diff --git a/clients/client-sagemaker/src/commands/StopTransformJobCommand.ts b/clients/client-sagemaker/src/commands/StopTransformJobCommand.ts index 68b844abe112..68425fc02722 100644 --- a/clients/client-sagemaker/src/commands/StopTransformJobCommand.ts +++ b/clients/client-sagemaker/src/commands/StopTransformJobCommand.ts @@ -13,7 +13,7 @@ import { import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; import { SerdeContext as __SerdeContext } from "@smithy/types"; -import { StopTransformJobRequest } from "../models/models_3"; +import { StopTransformJobRequest } from "../models/models_4"; import { de_StopTransformJobCommand, se_StopTransformJobCommand } from "../protocols/Aws_json1_1"; import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; diff --git a/clients/client-sagemaker/src/models/models_2.ts b/clients/client-sagemaker/src/models/models_2.ts index b0541e0aa37c..e0fd288bd6fe 100644 --- a/clients/client-sagemaker/src/models/models_2.ts +++ b/clients/client-sagemaker/src/models/models_2.ts @@ -317,6 +317,60 @@ export interface DeployedImage { ResolutionTime?: Date; } +/** + * @public + *

The recommended configuration to use for Real-Time Inference.

+ */ +export interface RealTimeInferenceRecommendation { + /** + *

The recommendation ID which uniquely identifies each recommendation.

+ */ + RecommendationId: string | undefined; + + /** + *

The recommended instance type for Real-Time Inference.

+ */ + InstanceType: ProductionVariantInstanceType | string | undefined; + + /** + *

The recommended environment variables to set in the model container for Real-Time Inference.

+ */ + Environment?: Record; +} + +/** + * @public + * @enum + */ +export const RecommendationStatus = { + COMPLETED: "COMPLETED", + FAILED: "FAILED", + IN_PROGRESS: "IN_PROGRESS", + NOT_APPLICABLE: "NOT_APPLICABLE", +} as const; + +/** + * @public + */ +export type RecommendationStatus = (typeof RecommendationStatus)[keyof typeof RecommendationStatus]; + +/** + * @public + *

A set of recommended deployment configurations for the model.

+ */ +export interface DeploymentRecommendation { + /** + *

Status of the deployment recommendation. NOT_APPLICABLE means that SageMaker + * is unable to provide a default recommendation for the model using the information provided.

+ */ + RecommendationStatus: RecommendationStatus | string | undefined; + + /** + *

A list of RealTimeInferenceRecommendation items.

+ */ + RealTimeInferenceRecommendations?: RealTimeInferenceRecommendation[]; +} + /** * @public * @enum @@ -4702,6 +4756,11 @@ export interface DescribeModelOutput { * model container.

*/ EnableNetworkIsolation?: boolean; + + /** + *

A set of recommended deployment configurations for the model.

+ */ + DeploymentRecommendation?: DeploymentRecommendation; } /** @@ -10552,89 +10611,6 @@ export interface InferenceRecommendationsJob { ModelPackageVersionArn?: string; } -/** - * @public - *

The details for a specific benchmark from an Inference Recommender job.

- */ -export interface RecommendationJobInferenceBenchmark { - /** - *

The metrics of recommendations.

- */ - Metrics?: RecommendationMetrics; - - /** - *

The endpoint configuration made by Inference Recommender during a recommendation job.

- */ - EndpointConfiguration?: EndpointOutputConfiguration; - - /** - *

Defines the model configuration. Includes the specification name and environment parameters.

- */ - ModelConfiguration: ModelConfiguration | undefined; - - /** - *

The reason why a benchmark failed.

- */ - FailureReason?: string; - - /** - *

The metrics for an existing endpoint compared in an Inference Recommender job.

- */ - EndpointMetrics?: InferenceMetrics; - - /** - *

A timestamp that shows when the benchmark completed.

- */ - InvocationEndTime?: Date; - - /** - *

A timestamp that shows when the benchmark started.

- */ - InvocationStartTime?: Date; -} - -/** - * @public - * @enum - */ -export const RecommendationStepType = { - BENCHMARK: "BENCHMARK", -} as const; - -/** - * @public - */ -export type RecommendationStepType = (typeof RecommendationStepType)[keyof typeof RecommendationStepType]; - -/** - * @public - *

A returned array object for the Steps response field in the - * ListInferenceRecommendationsJobSteps API command.

- */ -export interface InferenceRecommendationsJobStep { - /** - *

The type of the subtask.

- *

- * BENCHMARK: Evaluate the performance of your model on different instance types.

- */ - StepType: RecommendationStepType | string | undefined; - - /** - *

The name of the Inference Recommender job.

- */ - JobName: string | undefined; - - /** - *

The current status of the benchmark.

- */ - Status: RecommendationJobStatus | string | undefined; - - /** - *

The details for a specific benchmark.

- */ - InferenceBenchmark?: RecommendationJobInferenceBenchmark; -} - /** * @internal */ diff --git a/clients/client-sagemaker/src/models/models_3.ts b/clients/client-sagemaker/src/models/models_3.ts index c42374853fdb..3c4ec85b21b2 100644 --- a/clients/client-sagemaker/src/models/models_3.ts +++ b/clients/client-sagemaker/src/models/models_3.ts @@ -89,6 +89,7 @@ import { UiTemplate, } from "./models_1"; import { + DeploymentRecommendation, Device, DeviceDeploymentSummary, DeviceFleetSummary, @@ -103,6 +104,7 @@ import { Endpoint, EndpointConfigSortKey, EndpointConfigSummary, + EndpointOutputConfiguration, EndpointSortKey, EndpointStatus, EndpointSummary, @@ -137,14 +139,15 @@ import { InferenceExperimentStatus, InferenceExperimentStopDesiredState, InferenceExperimentSummary, + InferenceMetrics, InferenceRecommendationsJob, - InferenceRecommendationsJobStep, LabelCounters, LabelingJobOutput, LabelingJobStatus, MetricData, ModelArtifacts, ModelCardExportJobStatus, + ModelConfiguration, ModelPackageGroupStatus, ModelPackageStatusDetails, MonitoringExecutionSummary, @@ -156,7 +159,7 @@ import { ProcessingJobStatus, ProjectStatus, RecommendationJobStatus, - RecommendationStepType, + RecommendationMetrics, ScheduleStatus, SecondaryStatus, SecondaryStatusTransition, @@ -175,6 +178,89 @@ import { Workteam, } from "./models_2"; +/** + * @public + *

The details for a specific benchmark from an Inference Recommender job.

+ */ +export interface RecommendationJobInferenceBenchmark { + /** + *

The metrics of recommendations.

+ */ + Metrics?: RecommendationMetrics; + + /** + *

The endpoint configuration made by Inference Recommender during a recommendation job.

+ */ + EndpointConfiguration?: EndpointOutputConfiguration; + + /** + *

Defines the model configuration. Includes the specification name and environment parameters.

+ */ + ModelConfiguration: ModelConfiguration | undefined; + + /** + *

The reason why a benchmark failed.

+ */ + FailureReason?: string; + + /** + *

The metrics for an existing endpoint compared in an Inference Recommender job.

+ */ + EndpointMetrics?: InferenceMetrics; + + /** + *

A timestamp that shows when the benchmark completed.

+ */ + InvocationEndTime?: Date; + + /** + *

A timestamp that shows when the benchmark started.

+ */ + InvocationStartTime?: Date; +} + +/** + * @public + * @enum + */ +export const RecommendationStepType = { + BENCHMARK: "BENCHMARK", +} as const; + +/** + * @public + */ +export type RecommendationStepType = (typeof RecommendationStepType)[keyof typeof RecommendationStepType]; + +/** + * @public + *

A returned array object for the Steps response field in the + * ListInferenceRecommendationsJobSteps API command.

+ */ +export interface InferenceRecommendationsJobStep { + /** + *

The type of the subtask.

+ *

+ * BENCHMARK: Evaluate the performance of your model on different instance types.

+ */ + StepType: RecommendationStepType | string | undefined; + + /** + *

The name of the Inference Recommender job.

+ */ + JobName: string | undefined; + + /** + *

The current status of the benchmark.

+ */ + Status: RecommendationJobStatus | string | undefined; + + /** + *

The details for a specific benchmark.

+ */ + InferenceBenchmark?: RecommendationJobInferenceBenchmark; +} + /** * @public *

Provides counts for human-labeled tasks in the labeling job.

@@ -7085,6 +7171,11 @@ export interface Model { * resources in the Amazon Web Services General Reference Guide.

*/ Tags?: Tag[]; + + /** + *

A set of recommended deployment configurations for the model.

+ */ + DeploymentRecommendation?: DeploymentRecommendation; } /** @@ -9669,36 +9760,6 @@ export interface StopPipelineExecutionResponse { PipelineExecutionArn?: string; } -/** - * @public - */ -export interface StopProcessingJobRequest { - /** - *

The name of the processing job to stop.

- */ - ProcessingJobName: string | undefined; -} - -/** - * @public - */ -export interface StopTrainingJobRequest { - /** - *

The name of the training job to stop.

- */ - TrainingJobName: string | undefined; -} - -/** - * @public - */ -export interface StopTransformJobRequest { - /** - *

The name of the batch transform job to stop.

- */ - TransformJobName: string | undefined; -} - /** * @internal */ diff --git a/clients/client-sagemaker/src/models/models_4.ts b/clients/client-sagemaker/src/models/models_4.ts index 479e415be8f9..4c326c8c6db1 100644 --- a/clients/client-sagemaker/src/models/models_4.ts +++ b/clients/client-sagemaker/src/models/models_4.ts @@ -58,6 +58,36 @@ import { } from "./models_2"; import { NestedFilters, ProfilerConfigForUpdate, ResourceConfigForUpdate, SearchSortOrder } from "./models_3"; +/** + * @public + */ +export interface StopProcessingJobRequest { + /** + *

The name of the processing job to stop.

+ */ + ProcessingJobName: string | undefined; +} + +/** + * @public + */ +export interface StopTrainingJobRequest { + /** + *

The name of the training job to stop.

+ */ + TrainingJobName: string | undefined; +} + +/** + * @public + */ +export interface StopTransformJobRequest { + /** + *

The name of the batch transform job to stop.

+ */ + TransformJobName: string | undefined; +} + /** * @public */ diff --git a/clients/client-sagemaker/src/protocols/Aws_json1_1.ts b/clients/client-sagemaker/src/protocols/Aws_json1_1.ts index 60ce30711dec..14d8f2d1e3d2 100644 --- a/clients/client-sagemaker/src/protocols/Aws_json1_1.ts +++ b/clients/client-sagemaker/src/protocols/Aws_json1_1.ts @@ -1360,7 +1360,6 @@ import { InferenceExperimentSummary, InferenceRecommendation, InferenceRecommendationsJob, - InferenceRecommendationsJobStep, MetricData, MonitoringExecutionSummary, MonitoringSchedule, @@ -1371,7 +1370,6 @@ import { ProductionVariantSummary, ProfilerRuleEvaluationStatus, PropertyNameQuery, - RecommendationJobInferenceBenchmark, RecommendationMetrics, RStudioServerProDomainSettingsForUpdate, SecondaryStatusTransition, @@ -1381,6 +1379,7 @@ import { Workteam, } from "../models/models_2"; import { + InferenceRecommendationsJobStep, LabelingJobForWorkteamSummary, LabelingJobSummary, LineageGroupSummary, @@ -1560,6 +1559,7 @@ import { PutModelPackageGroupPolicyInput, QueryFilters, QueryLineageRequest, + RecommendationJobInferenceBenchmark, RegisterDevicesRequest, RenderableTask, RenderUiTemplateRequest, @@ -1586,9 +1586,6 @@ import { StopMonitoringScheduleRequest, StopNotebookInstanceInput, StopPipelineExecutionRequest, - StopProcessingJobRequest, - StopTrainingJobRequest, - StopTransformJobRequest, StudioLifecycleConfigDetails, TrainingJob, TrainingJobSummary, @@ -1606,6 +1603,9 @@ import { SearchExpression, SearchRequest, ServiceCatalogProvisioningUpdateDetails, + StopProcessingJobRequest, + StopTrainingJobRequest, + StopTransformJobRequest, UpdateActionRequest, UpdateAppImageConfigRequest, UpdateArtifactRequest, @@ -22807,6 +22807,8 @@ const de_DeployedImages = (output: any, context: __SerdeContext): DeployedImage[ // de_DeploymentConfig omitted. +// de_DeploymentRecommendation omitted. + /** * deserializeAws_json1_1DeploymentStageStatusSummaries */ @@ -23594,6 +23596,7 @@ const de_DescribeModelOutput = (output: any, context: __SerdeContext): DescribeM return take(output, { Containers: _json, CreationTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + DeploymentRecommendation: _json, EnableNetworkIsolation: __expectBoolean, ExecutionRoleArn: __expectString, InferenceExecutionConfig: _json, @@ -26034,6 +26037,7 @@ const de_Model = (output: any, context: __SerdeContext): Model => { return take(output, { Containers: _json, CreationTime: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + DeploymentRecommendation: _json, EnableNetworkIsolation: __expectBoolean, ExecutionRoleArn: __expectString, InferenceExecutionConfig: _json, @@ -27320,6 +27324,10 @@ const de_ProjectSummaryList = (output: any, context: __SerdeContext): ProjectSum // de_RealtimeInferenceInstanceTypes omitted. +// de_RealTimeInferenceRecommendation omitted. + +// de_RealTimeInferenceRecommendations omitted. + // de_RecommendationJobContainerConfig omitted. /** diff --git a/codegen/sdk-codegen/aws-models/sagemaker.json b/codegen/sdk-codegen/aws-models/sagemaker.json index 6bfd40f61d07..44912d46f882 100644 --- a/codegen/sdk-codegen/aws-models/sagemaker.json +++ b/codegen/sdk-codegen/aws-models/sagemaker.json @@ -13317,6 +13317,27 @@ "smithy.api#documentation": "

The deployment configuration for an endpoint, which contains the desired deployment\n strategy and rollback configurations.

" } }, + "com.amazonaws.sagemaker#DeploymentRecommendation": { + "type": "structure", + "members": { + "RecommendationStatus": { + "target": "com.amazonaws.sagemaker#RecommendationStatus", + "traits": { + "smithy.api#documentation": "

Status of the deployment recommendation. NOT_APPLICABLE means that SageMaker\n is unable to provide a default recommendation for the model using the information provided.

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

A list of RealTimeInferenceRecommendation items.

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

A set of recommended deployment configurations for the model.

" + } + }, "com.amazonaws.sagemaker#DeploymentStage": { "type": "structure", "members": { @@ -18030,6 +18051,12 @@ "smithy.api#default": false, "smithy.api#documentation": "

If True, no inbound or outbound network calls can be made to or from the\n model container.

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

A set of recommended deployment configurations for the model.

" + } } }, "traits": { @@ -36808,6 +36835,12 @@ "traits": { "smithy.api#documentation": "

A list of key-value pairs associated with the model. For more information, see\n Tagging Amazon Web Services\n resources in the Amazon Web Services General Reference Guide.

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

A set of recommended deployment configurations for the model.

" + } } }, "traits": { @@ -45874,6 +45907,46 @@ "smithy.api#documentation": "

The infrastructure configuration for deploying the model to a real-time inference endpoint.

" } }, + "com.amazonaws.sagemaker#RealTimeInferenceRecommendation": { + "type": "structure", + "members": { + "RecommendationId": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

The recommendation ID which uniquely identifies each recommendation.

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

The recommended instance type for Real-Time Inference.

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

The recommended environment variables to set in the model container for Real-Time Inference.

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

The recommended configuration to use for Real-Time Inference.

" + } + }, + "com.amazonaws.sagemaker#RealTimeInferenceRecommendations": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#RealTimeInferenceRecommendation" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 3 + } + } + }, "com.amazonaws.sagemaker#RealtimeInferenceInstanceTypes": { "type": "list", "member": { @@ -46380,6 +46453,35 @@ "smithy.api#documentation": "

The metrics of recommendations.

" } }, + "com.amazonaws.sagemaker#RecommendationStatus": { + "type": "enum", + "members": { + "IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_PROGRESS" + } + }, + "COMPLETED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "COMPLETED" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + }, + "NOT_APPLICABLE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_APPLICABLE" + } + } + } + }, "com.amazonaws.sagemaker#RecommendationStepType": { "type": "enum", "members": {