From ab9ba2fc98522a1700f5a821f590c6f7109ce870 Mon Sep 17 00:00:00 2001 From: sagemaker-bot Date: Wed, 16 Jul 2025 10:09:55 +0000 Subject: [PATCH 1/2] Daily Sync with Botocore v1.39.6 on 2025/07/16 --- sample/sagemaker/2017-07-24/service-2.json | 439 +++++++++++++++++- .../main/code_injection/shape_dag.py | 241 +++++++++- src/sagemaker_core/main/resources.py | 28 +- src/sagemaker_core/main/shapes.py | 179 ++++++- src/sagemaker_core/tools/api_coverage.json | 2 +- 5 files changed, 873 insertions(+), 16 deletions(-) diff --git a/sample/sagemaker/2017-07-24/service-2.json b/sample/sagemaker/2017-07-24/service-2.json index 314ab4d3..fcb840e7 100644 --- a/sample/sagemaker/2017-07-24/service-2.json +++ b/sample/sagemaker/2017-07-24/service-2.json @@ -3262,6 +3262,19 @@ ], "documentation":"

Gets a list of parameters for a pipeline execution.

" }, + "ListPipelineVersions":{ + "name":"ListPipelineVersions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPipelineVersionsRequest"}, + "output":{"shape":"ListPipelineVersionsResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

Gets a list of all versions of the pipeline.

" + }, "ListPipelines":{ "name":"ListPipelines", "http":{ @@ -4329,6 +4342,20 @@ ], "documentation":"

Updates a pipeline execution.

" }, + "UpdatePipelineVersion":{ + "name":"UpdatePipelineVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdatePipelineVersionRequest"}, + "output":{"shape":"UpdatePipelineVersionResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ResourceNotFound"} + ], + "documentation":"

Updates a pipeline version.

" + }, "UpdateProject":{ "name":"UpdateProject", "http":{ @@ -6635,10 +6662,7 @@ }, "BatchDeleteClusterNodesRequest":{ "type":"structure", - "required":[ - "ClusterName", - "NodeIds" - ], + "required":["ClusterName"], "members":{ "ClusterName":{ "shape":"ClusterNameOrArn", @@ -8477,6 +8501,123 @@ "pattern":"((25[0-5]|(2[0-4]|1\\d|[1-9]|)\\d)\\.?\\b){4}" }, "ClusterPrivatePrimaryIpv6":{"type":"string"}, + "ClusterRestrictedInstanceGroupDetails":{ + "type":"structure", + "members":{ + "CurrentCount":{ + "shape":"ClusterNonNegativeInstanceCount", + "documentation":"

The number of instances that are currently in the restricted instance group of a SageMaker HyperPod cluster.

" + }, + "TargetCount":{ + "shape":"ClusterInstanceCount", + "documentation":"

The number of instances you specified to add to the restricted instance group of a SageMaker HyperPod cluster.

" + }, + "InstanceGroupName":{ + "shape":"ClusterInstanceGroupName", + "documentation":"

The name of the restricted instance group of a SageMaker HyperPod cluster.

" + }, + "InstanceType":{ + "shape":"ClusterInstanceType", + "documentation":"

The instance type of the restricted instance group of a SageMaker HyperPod cluster.

" + }, + "ExecutionRole":{ + "shape":"RoleArn", + "documentation":"

The execution role for the restricted instance group to assume.

" + }, + "ThreadsPerCore":{ + "shape":"ClusterThreadsPerCore", + "documentation":"

The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading. For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading. For more information, see the reference table of CPU cores and threads per CPU core per instance type in the Amazon Elastic Compute Cloud User Guide.

" + }, + "InstanceStorageConfigs":{ + "shape":"ClusterInstanceStorageConfigs", + "documentation":"

The additional storage configurations for the instances in the SageMaker HyperPod cluster restricted instance group.

" + }, + "OnStartDeepHealthChecks":{ + "shape":"OnStartDeepHealthChecks", + "documentation":"

A flag indicating whether deep health checks should be performed when the cluster's restricted instance group is created or updated.

" + }, + "Status":{ + "shape":"InstanceGroupStatus", + "documentation":"

The current status of the cluster's restricted instance group.

" + }, + "TrainingPlanArn":{ + "shape":"TrainingPlanArn", + "documentation":"

The Amazon Resource Name (ARN) of the training plan to filter clusters by. For more information about reserving GPU capacity for your SageMaker HyperPod clusters using Amazon SageMaker Training Plan, see CreateTrainingPlan .

" + }, + "TrainingPlanStatus":{ + "shape":"InstanceGroupTrainingPlanStatus", + "documentation":"

The current status of the training plan associated with this cluster restricted instance group.

" + }, + "OverrideVpcConfig":{"shape":"VpcConfig"}, + "ScheduledUpdateConfig":{"shape":"ScheduledUpdateConfig"}, + "EnvironmentConfig":{ + "shape":"EnvironmentConfigDetails", + "documentation":"

The configuration for the restricted instance groups (RIG) environment.

" + } + }, + "documentation":"

The instance group details of the restricted instance group (RIG).

" + }, + "ClusterRestrictedInstanceGroupDetailsList":{ + "type":"list", + "member":{"shape":"ClusterRestrictedInstanceGroupDetails"} + }, + "ClusterRestrictedInstanceGroupSpecification":{ + "type":"structure", + "required":[ + "InstanceCount", + "InstanceGroupName", + "InstanceType", + "ExecutionRole", + "EnvironmentConfig" + ], + "members":{ + "InstanceCount":{ + "shape":"ClusterInstanceCount", + "documentation":"

Specifies the number of instances to add to the restricted instance group of a SageMaker HyperPod cluster.

" + }, + "InstanceGroupName":{ + "shape":"ClusterInstanceGroupName", + "documentation":"

Specifies the name of the restricted instance group.

" + }, + "InstanceType":{ + "shape":"ClusterInstanceType", + "documentation":"

Specifies the instance type of the restricted instance group.

" + }, + "ExecutionRole":{ + "shape":"RoleArn", + "documentation":"

Specifies an IAM execution role to be assumed by the restricted instance group.

" + }, + "ThreadsPerCore":{ + "shape":"ClusterThreadsPerCore", + "documentation":"

The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading. For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading. For more information, see the reference table of CPU cores and threads per CPU core per instance type in the Amazon Elastic Compute Cloud User Guide.

" + }, + "InstanceStorageConfigs":{ + "shape":"ClusterInstanceStorageConfigs", + "documentation":"

Specifies the additional storage configurations for the instances in the SageMaker HyperPod cluster restricted instance group.

" + }, + "OnStartDeepHealthChecks":{ + "shape":"OnStartDeepHealthChecks", + "documentation":"

A flag indicating whether deep health checks should be performed when the cluster restricted instance group is created or updated.

" + }, + "TrainingPlanArn":{ + "shape":"TrainingPlanArn", + "documentation":"

The Amazon Resource Name (ARN) of the training plan to filter clusters by. For more information about reserving GPU capacity for your SageMaker HyperPod clusters using Amazon SageMaker Training Plan, see CreateTrainingPlan .

" + }, + "OverrideVpcConfig":{"shape":"VpcConfig"}, + "ScheduledUpdateConfig":{"shape":"ScheduledUpdateConfig"}, + "EnvironmentConfig":{ + "shape":"EnvironmentConfig", + "documentation":"

The configuration for the restricted instance groups (RIG) environment.

" + } + }, + "documentation":"

The specifications of a restricted instance group that you need to define.

" + }, + "ClusterRestrictedInstanceGroupSpecifications":{ + "type":"list", + "member":{"shape":"ClusterRestrictedInstanceGroupSpecification"}, + "max":100, + "min":1 + }, "ClusterSchedulerConfigArn":{ "type":"string", "max":256, @@ -9759,6 +9900,10 @@ "shape":"ClusterInstanceGroupSpecifications", "documentation":"

The instance groups to be created in the SageMaker HyperPod cluster.

" }, + "RestrictedInstanceGroups":{ + "shape":"ClusterRestrictedInstanceGroupSpecifications", + "documentation":"

The specialized instance groups for training models like Amazon Nova to be created in the SageMaker HyperPod cluster.

" + }, "VpcConfig":{ "shape":"VpcConfig", "documentation":"

Specifies the Amazon Virtual Private Cloud (VPC) that is associated with the Amazon SageMaker HyperPod cluster. You can control access to and from your resources by configuring your VPC. For more information, see Give SageMaker access to resources in your Amazon VPC.

When your Amazon VPC and subnets support IPv6, network communications differ based on the cluster orchestration platform:

Additional resources for IPv6 configuration:

" @@ -14712,10 +14857,7 @@ }, "DescribeClusterNodeRequest":{ "type":"structure", - "required":[ - "ClusterName", - "NodeId" - ], + "required":["ClusterName"], "members":{ "ClusterName":{ "shape":"ClusterNameOrArn", @@ -14779,6 +14921,10 @@ "shape":"ClusterInstanceGroupDetailsList", "documentation":"

The instance groups of the SageMaker HyperPod cluster.

" }, + "RestrictedInstanceGroups":{ + "shape":"ClusterRestrictedInstanceGroupDetailsList", + "documentation":"

The specialized instance groups for training models like Amazon Nova to be created in the SageMaker HyperPod cluster.

" + }, "VpcConfig":{"shape":"VpcConfig"}, "Orchestrator":{ "shape":"ClusterOrchestrator", @@ -17929,6 +18075,10 @@ "SelectiveExecutionConfig":{ "shape":"SelectiveExecutionConfig", "documentation":"

The selective execution configuration applied to the pipeline run.

" + }, + "PipelineVersionId":{ + "shape":"PipelineVersionId", + "documentation":"

The ID of the pipeline version.

" } } }, @@ -17939,6 +18089,10 @@ "PipelineName":{ "shape":"PipelineNameOrArn", "documentation":"

The name or Amazon Resource Name (ARN) of the pipeline to describe.

" + }, + "PipelineVersionId":{ + "shape":"PipelineVersionId", + "documentation":"

The ID of the pipeline version to describe.

" } } }, @@ -17990,6 +18144,14 @@ "ParallelismConfiguration":{ "shape":"ParallelismConfiguration", "documentation":"

Lists the parallelism configuration applied to the pipeline.

" + }, + "PipelineVersionDisplayName":{ + "shape":"PipelineVersionName", + "documentation":"

The display name of the pipeline version.

" + }, + "PipelineVersionDescription":{ + "shape":"PipelineVersionDescription", + "documentation":"

The description of the pipeline version.

" } } }, @@ -20517,6 +20679,30 @@ "min":1, "pattern":"[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}" }, + "EnvironmentConfig":{ + "type":"structure", + "members":{ + "FSxLustreConfig":{ + "shape":"FSxLustreConfig", + "documentation":"

Configuration settings for an Amazon FSx for Lustre file system to be used with the cluster.

" + } + }, + "documentation":"

The configuration for the restricted instance groups (RIG) environment.

" + }, + "EnvironmentConfigDetails":{ + "type":"structure", + "members":{ + "FSxLustreConfig":{ + "shape":"FSxLustreConfig", + "documentation":"

Configuration settings for an Amazon FSx for Lustre file system to be used with the cluster.

" + }, + "S3OutputPath":{ + "shape":"S3Uri", + "documentation":"

The Amazon S3 path where output data from the restricted instance group (RIG) environment will be stored.

" + } + }, + "documentation":"

The configuration details for the restricted instance groups (RIG) environment.

" + }, "EnvironmentKey":{ "type":"string", "max":1024, @@ -20793,6 +20979,24 @@ }, "documentation":"

A parameter to activate explainers.

" }, + "FSxLustreConfig":{ + "type":"structure", + "required":[ + "SizeInGiB", + "PerUnitStorageThroughput" + ], + "members":{ + "SizeInGiB":{ + "shape":"FSxLustreSizeInGiB", + "documentation":"

The storage capacity of the Amazon FSx for Lustre file system, specified in gibibytes (GiB).

" + }, + "PerUnitStorageThroughput":{ + "shape":"FSxLustrePerUnitStorageThroughput", + "documentation":"

The throughput capacity of the Amazon FSx for Lustre file system, measured in MB/s per TiB of storage.

" + } + }, + "documentation":"

Configuration settings for an Amazon FSx for Lustre file system to be used with the cluster.

" + }, "FSxLustreFileSystem":{ "type":"structure", "required":["FileSystemId"], @@ -20819,6 +21023,18 @@ }, "documentation":"

The settings for assigning a custom Amazon FSx for Lustre file system to a user profile or space for an Amazon SageMaker Domain.

" }, + "FSxLustrePerUnitStorageThroughput":{ + "type":"integer", + "box":true, + "max":1000, + "min":125 + }, + "FSxLustreSizeInGiB":{ + "type":"integer", + "box":true, + "max":100800, + "min":1200 + }, "FailStepMetadata":{ "type":"structure", "members":{ @@ -28480,6 +28696,49 @@ } } }, + "ListPipelineVersionsRequest":{ + "type":"structure", + "required":["PipelineName"], + "members":{ + "PipelineName":{ + "shape":"PipelineNameOrArn", + "documentation":"

The Amazon Resource Name (ARN) of the pipeline.

" + }, + "CreatedAfter":{ + "shape":"Timestamp", + "documentation":"

A filter that returns the pipeline versions that were created after a specified time.

" + }, + "CreatedBefore":{ + "shape":"Timestamp", + "documentation":"

A filter that returns the pipeline versions that were created before a specified time.

" + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

The sort order for the results.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the result of the previous ListPipelineVersions request was truncated, the response includes a NextToken. To retrieve the next set of pipeline versions, use this token in your next request.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of pipeline versions to return in the response.

" + } + } + }, + "ListPipelineVersionsResponse":{ + "type":"structure", + "members":{ + "PipelineVersionSummaries":{ + "shape":"PipelineVersionSummaryList", + "documentation":"

Contains a sorted list of pipeline version summary objects matching the specified filters. Each version summary includes the pipeline version ID, the creation date, and the last pipeline execution created from that version. This list can be empty.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the result of the previous ListPipelineVersions request was truncated, the response includes a NextToken. To retrieve the next set of pipeline versions, use this token in your next request.

" + } + } + }, "ListPipelinesRequest":{ "type":"structure", "members":{ @@ -33699,6 +33958,14 @@ "PipelineParameters":{ "shape":"ParameterList", "documentation":"

Contains a list of pipeline parameters. This list can be empty.

" + }, + "PipelineVersionId":{ + "shape":"PipelineVersionId", + "documentation":"

The ID of the pipeline version that started this execution.

" + }, + "PipelineVersionDisplayName":{ + "shape":"PipelineVersionName", + "documentation":"

The display name of the pipeline version that started this execution.

" } }, "documentation":"

An execution of a pipeline.

" @@ -33983,6 +34250,103 @@ "max":100, "min":0 }, + "PipelineVersion":{ + "type":"structure", + "members":{ + "PipelineArn":{ + "shape":"PipelineArn", + "documentation":"

The Amazon Resource Name (ARN) of the pipeline.

" + }, + "PipelineVersionId":{ + "shape":"PipelineVersionId", + "documentation":"

The ID of the pipeline version.

" + }, + "PipelineVersionDisplayName":{ + "shape":"PipelineVersionName", + "documentation":"

The display name of the pipeline version.

" + }, + "PipelineVersionDescription":{ + "shape":"PipelineVersionDescription", + "documentation":"

The description of the pipeline version.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

The creation time of the pipeline version.

" + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

The time when the pipeline version was last modified.

" + }, + "CreatedBy":{"shape":"UserContext"}, + "LastModifiedBy":{"shape":"UserContext"}, + "LastExecutedPipelineExecutionArn":{ + "shape":"PipelineExecutionArn", + "documentation":"

The Amazon Resource Name (ARN) of the most recent pipeline execution created from this pipeline version.

" + }, + "LastExecutedPipelineExecutionDisplayName":{ + "shape":"PipelineExecutionName", + "documentation":"

The display name of the most recent pipeline execution created from this pipeline version.

" + }, + "LastExecutedPipelineExecutionStatus":{ + "shape":"PipelineExecutionStatus", + "documentation":"

The status of the most recent pipeline execution created from this pipeline version.

" + } + }, + "documentation":"

The version of the pipeline.

" + }, + "PipelineVersionDescription":{ + "type":"string", + "max":3072, + "min":0, + "pattern":".*" + }, + "PipelineVersionId":{ + "type":"long", + "box":true, + "min":1 + }, + "PipelineVersionName":{ + "type":"string", + "max":82, + "min":1, + "pattern":"[a-zA-Z0-9](-*[a-zA-Z0-9]){0,81}" + }, + "PipelineVersionSummary":{ + "type":"structure", + "members":{ + "PipelineArn":{ + "shape":"PipelineArn", + "documentation":"

The Amazon Resource Name (ARN) of the pipeline.

" + }, + "PipelineVersionId":{ + "shape":"PipelineVersionId", + "documentation":"

The ID of the pipeline version.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

The creation time of the pipeline version.

" + }, + "PipelineVersionDescription":{ + "shape":"PipelineVersionDescription", + "documentation":"

The description of the pipeline version.

" + }, + "PipelineVersionDisplayName":{ + "shape":"PipelineVersionName", + "documentation":"

The display name of the pipeline version.

" + }, + "LastExecutionPipelineExecutionArn":{ + "shape":"PipelineExecutionArn", + "documentation":"

The Amazon Resource Name (ARN) of the most recent pipeline execution created from this pipeline version.

" + } + }, + "documentation":"

The summary of the pipeline version.

" + }, + "PipelineVersionSummaryList":{ + "type":"list", + "member":{"shape":"PipelineVersionSummary"}, + "max":100, + "min":0 + }, "PlatformIdentifier":{ "type":"string", "max":15, @@ -36968,7 +37332,8 @@ "ImageVersion", "Project", "HyperParameterTuningJob", - "ModelCard" + "ModelCard", + "PipelineVersion" ] }, "ResponseMIMEType":{ @@ -37509,6 +37874,10 @@ "ModelPackageGroup":{"shape":"ModelPackageGroup"}, "Pipeline":{"shape":"Pipeline"}, "PipelineExecution":{"shape":"PipelineExecution"}, + "PipelineVersion":{ + "shape":"PipelineVersion", + "documentation":"

The version of the pipeline.

" + }, "FeatureGroup":{"shape":"FeatureGroup"}, "FeatureMetadata":{ "shape":"FeatureMetadata", @@ -38562,6 +38931,10 @@ "SelectiveExecutionConfig":{ "shape":"SelectiveExecutionConfig", "documentation":"

The selective execution configuration applied to the pipeline run.

" + }, + "PipelineVersionId":{ + "shape":"PipelineVersionId", + "documentation":"

The ID of the pipeline version to start execution from.

" } } }, @@ -41866,6 +42239,10 @@ "shape":"ClusterInstanceGroupSpecifications", "documentation":"

Specify the instance groups to update.

" }, + "RestrictedInstanceGroups":{ + "shape":"ClusterRestrictedInstanceGroupSpecifications", + "documentation":"

The specialized instance groups for training models like Amazon Nova to be created in the SageMaker HyperPod cluster.

" + }, "NodeRecovery":{ "shape":"ClusterNodeRecovery", "documentation":"

The node recovery mode to be applied to the SageMaker HyperPod cluster.

" @@ -43069,6 +43446,48 @@ "PipelineArn":{ "shape":"PipelineArn", "documentation":"

The Amazon Resource Name (ARN) of the updated pipeline.

" + }, + "PipelineVersionId":{ + "shape":"PipelineVersionId", + "documentation":"

The ID of the pipeline version.

" + } + } + }, + "UpdatePipelineVersionRequest":{ + "type":"structure", + "required":[ + "PipelineArn", + "PipelineVersionId" + ], + "members":{ + "PipelineArn":{ + "shape":"PipelineArn", + "documentation":"

The Amazon Resource Name (ARN) of the pipeline.

" + }, + "PipelineVersionId":{ + "shape":"PipelineVersionId", + "documentation":"

The pipeline version ID to update.

" + }, + "PipelineVersionDisplayName":{ + "shape":"PipelineVersionName", + "documentation":"

The display name of the pipeline version.

" + }, + "PipelineVersionDescription":{ + "shape":"PipelineVersionDescription", + "documentation":"

The description of the pipeline version.

" + } + } + }, + "UpdatePipelineVersionResponse":{ + "type":"structure", + "members":{ + "PipelineArn":{ + "shape":"PipelineArn", + "documentation":"

The Amazon Resource Name (ARN) of the pipeline.

" + }, + "PipelineVersionId":{ + "shape":"PipelineVersionId", + "documentation":"

The ID of the pipeline version.

" } } }, @@ -43400,7 +43819,7 @@ "documentation":"

The IAM Identity details associated with the user. These details are associated with model package groups, model packages, and project entities only.

" } }, - "documentation":"

Information about the user who created or modified an experiment, trial, trial component, lineage group, project, or model card.

" + "documentation":"

Information about the user who created or modified a SageMaker resource.

" }, "UserProfileArn":{ "type":"string", diff --git a/src/sagemaker_core/main/code_injection/shape_dag.py b/src/sagemaker_core/main/code_injection/shape_dag.py index 677714e8..efb1ef9f 100644 --- a/src/sagemaker_core/main/code_injection/shape_dag.py +++ b/src/sagemaker_core/main/code_injection/shape_dag.py @@ -1506,6 +1506,71 @@ "members": [{"name": "ClusterArn", "shape": "EksClusterArn", "type": "string"}], "type": "structure", }, + "ClusterRestrictedInstanceGroupDetails": { + "members": [ + {"name": "CurrentCount", "shape": "ClusterNonNegativeInstanceCount", "type": "integer"}, + {"name": "TargetCount", "shape": "ClusterInstanceCount", "type": "integer"}, + {"name": "InstanceGroupName", "shape": "ClusterInstanceGroupName", "type": "string"}, + {"name": "InstanceType", "shape": "ClusterInstanceType", "type": "string"}, + {"name": "ExecutionRole", "shape": "RoleArn", "type": "string"}, + {"name": "ThreadsPerCore", "shape": "ClusterThreadsPerCore", "type": "integer"}, + { + "name": "InstanceStorageConfigs", + "shape": "ClusterInstanceStorageConfigs", + "type": "list", + }, + {"name": "OnStartDeepHealthChecks", "shape": "OnStartDeepHealthChecks", "type": "list"}, + {"name": "Status", "shape": "InstanceGroupStatus", "type": "string"}, + {"name": "TrainingPlanArn", "shape": "TrainingPlanArn", "type": "string"}, + { + "name": "TrainingPlanStatus", + "shape": "InstanceGroupTrainingPlanStatus", + "type": "string", + }, + {"name": "OverrideVpcConfig", "shape": "VpcConfig", "type": "structure"}, + { + "name": "ScheduledUpdateConfig", + "shape": "ScheduledUpdateConfig", + "type": "structure", + }, + {"name": "EnvironmentConfig", "shape": "EnvironmentConfigDetails", "type": "structure"}, + ], + "type": "structure", + }, + "ClusterRestrictedInstanceGroupDetailsList": { + "member_shape": "ClusterRestrictedInstanceGroupDetails", + "member_type": "structure", + "type": "list", + }, + "ClusterRestrictedInstanceGroupSpecification": { + "members": [ + {"name": "InstanceCount", "shape": "ClusterInstanceCount", "type": "integer"}, + {"name": "InstanceGroupName", "shape": "ClusterInstanceGroupName", "type": "string"}, + {"name": "InstanceType", "shape": "ClusterInstanceType", "type": "string"}, + {"name": "ExecutionRole", "shape": "RoleArn", "type": "string"}, + {"name": "ThreadsPerCore", "shape": "ClusterThreadsPerCore", "type": "integer"}, + { + "name": "InstanceStorageConfigs", + "shape": "ClusterInstanceStorageConfigs", + "type": "list", + }, + {"name": "OnStartDeepHealthChecks", "shape": "OnStartDeepHealthChecks", "type": "list"}, + {"name": "TrainingPlanArn", "shape": "TrainingPlanArn", "type": "string"}, + {"name": "OverrideVpcConfig", "shape": "VpcConfig", "type": "structure"}, + { + "name": "ScheduledUpdateConfig", + "shape": "ScheduledUpdateConfig", + "type": "structure", + }, + {"name": "EnvironmentConfig", "shape": "EnvironmentConfig", "type": "structure"}, + ], + "type": "structure", + }, + "ClusterRestrictedInstanceGroupSpecifications": { + "member_shape": "ClusterRestrictedInstanceGroupSpecification", + "member_type": "structure", + "type": "list", + }, "ClusterSchedulerConfigSummary": { "members": [ { @@ -2010,6 +2075,11 @@ "shape": "ClusterInstanceGroupSpecifications", "type": "list", }, + { + "name": "RestrictedInstanceGroups", + "shape": "ClusterRestrictedInstanceGroupSpecifications", + "type": "list", + }, {"name": "VpcConfig", "shape": "VpcConfig", "type": "structure"}, {"name": "Tags", "shape": "TagList", "type": "list"}, {"name": "Orchestrator", "shape": "ClusterOrchestrator", "type": "structure"}, @@ -4372,6 +4442,11 @@ {"name": "CreationTime", "shape": "Timestamp", "type": "timestamp"}, {"name": "FailureMessage", "shape": "String", "type": "string"}, {"name": "InstanceGroups", "shape": "ClusterInstanceGroupDetailsList", "type": "list"}, + { + "name": "RestrictedInstanceGroups", + "shape": "ClusterRestrictedInstanceGroupDetailsList", + "type": "list", + }, {"name": "VpcConfig", "shape": "VpcConfig", "type": "structure"}, {"name": "Orchestrator", "shape": "ClusterOrchestrator", "type": "structure"}, {"name": "NodeRecovery", "shape": "ClusterNodeRecovery", "type": "string"}, @@ -5743,11 +5818,15 @@ "shape": "SelectiveExecutionConfig", "type": "structure", }, + {"name": "PipelineVersionId", "shape": "PipelineVersionId", "type": "long"}, ], "type": "structure", }, "DescribePipelineRequest": { - "members": [{"name": "PipelineName", "shape": "PipelineNameOrArn", "type": "string"}], + "members": [ + {"name": "PipelineName", "shape": "PipelineNameOrArn", "type": "string"}, + {"name": "PipelineVersionId", "shape": "PipelineVersionId", "type": "long"}, + ], "type": "structure", }, "DescribePipelineResponse": { @@ -5769,6 +5848,16 @@ "shape": "ParallelismConfiguration", "type": "structure", }, + { + "name": "PipelineVersionDisplayName", + "shape": "PipelineVersionName", + "type": "string", + }, + { + "name": "PipelineVersionDescription", + "shape": "PipelineVersionDescription", + "type": "string", + }, ], "type": "structure", }, @@ -6734,6 +6823,17 @@ "type": "list", }, "Endpoints": {"member_shape": "EndpointInfo", "member_type": "structure", "type": "list"}, + "EnvironmentConfig": { + "members": [{"name": "FSxLustreConfig", "shape": "FSxLustreConfig", "type": "structure"}], + "type": "structure", + }, + "EnvironmentConfigDetails": { + "members": [ + {"name": "FSxLustreConfig", "shape": "FSxLustreConfig", "type": "structure"}, + {"name": "S3OutputPath", "shape": "S3Uri", "type": "string"}, + ], + "type": "structure", + }, "EnvironmentMap": { "key_shape": "EnvironmentKey", "key_type": "string", @@ -6833,6 +6933,17 @@ ], "type": "structure", }, + "FSxLustreConfig": { + "members": [ + {"name": "SizeInGiB", "shape": "FSxLustreSizeInGiB", "type": "integer"}, + { + "name": "PerUnitStorageThroughput", + "shape": "FSxLustrePerUnitStorageThroughput", + "type": "integer", + }, + ], + "type": "structure", + }, "FSxLustreFileSystem": { "members": [{"name": "FileSystemId", "shape": "FileSystemId", "type": "string"}], "type": "structure", @@ -10037,6 +10148,28 @@ ], "type": "structure", }, + "ListPipelineVersionsRequest": { + "members": [ + {"name": "PipelineName", "shape": "PipelineNameOrArn", "type": "string"}, + {"name": "CreatedAfter", "shape": "Timestamp", "type": "timestamp"}, + {"name": "CreatedBefore", "shape": "Timestamp", "type": "timestamp"}, + {"name": "SortOrder", "shape": "SortOrder", "type": "string"}, + {"name": "NextToken", "shape": "NextToken", "type": "string"}, + {"name": "MaxResults", "shape": "MaxResults", "type": "integer"}, + ], + "type": "structure", + }, + "ListPipelineVersionsResponse": { + "members": [ + { + "name": "PipelineVersionSummaries", + "shape": "PipelineVersionSummaryList", + "type": "list", + }, + {"name": "NextToken", "shape": "NextToken", "type": "string"}, + ], + "type": "structure", + }, "ListPipelinesRequest": { "members": [ {"name": "PipelineNamePrefix", "shape": "PipelineName", "type": "string"}, @@ -12207,6 +12340,12 @@ "type": "structure", }, {"name": "PipelineParameters", "shape": "ParameterList", "type": "list"}, + {"name": "PipelineVersionId", "shape": "PipelineVersionId", "type": "long"}, + { + "name": "PipelineVersionDisplayName", + "shape": "PipelineVersionName", + "type": "string", + }, ], "type": "structure", }, @@ -12309,6 +12448,70 @@ "member_type": "structure", "type": "list", }, + "PipelineVersion": { + "members": [ + {"name": "PipelineArn", "shape": "PipelineArn", "type": "string"}, + {"name": "PipelineVersionId", "shape": "PipelineVersionId", "type": "long"}, + { + "name": "PipelineVersionDisplayName", + "shape": "PipelineVersionName", + "type": "string", + }, + { + "name": "PipelineVersionDescription", + "shape": "PipelineVersionDescription", + "type": "string", + }, + {"name": "CreationTime", "shape": "Timestamp", "type": "timestamp"}, + {"name": "LastModifiedTime", "shape": "Timestamp", "type": "timestamp"}, + {"name": "CreatedBy", "shape": "UserContext", "type": "structure"}, + {"name": "LastModifiedBy", "shape": "UserContext", "type": "structure"}, + { + "name": "LastExecutedPipelineExecutionArn", + "shape": "PipelineExecutionArn", + "type": "string", + }, + { + "name": "LastExecutedPipelineExecutionDisplayName", + "shape": "PipelineExecutionName", + "type": "string", + }, + { + "name": "LastExecutedPipelineExecutionStatus", + "shape": "PipelineExecutionStatus", + "type": "string", + }, + ], + "type": "structure", + }, + "PipelineVersionSummary": { + "members": [ + {"name": "PipelineArn", "shape": "PipelineArn", "type": "string"}, + {"name": "PipelineVersionId", "shape": "PipelineVersionId", "type": "long"}, + {"name": "CreationTime", "shape": "Timestamp", "type": "timestamp"}, + { + "name": "PipelineVersionDescription", + "shape": "PipelineVersionDescription", + "type": "string", + }, + { + "name": "PipelineVersionDisplayName", + "shape": "PipelineVersionName", + "type": "string", + }, + { + "name": "LastExecutionPipelineExecutionArn", + "shape": "PipelineExecutionArn", + "type": "string", + }, + ], + "type": "structure", + }, + "PipelineVersionSummaryList": { + "member_shape": "PipelineVersionSummary", + "member_type": "structure", + "type": "list", + }, "PredefinedMetricSpecification": { "members": [{"name": "PredefinedMetricType", "shape": "String", "type": "string"}], "type": "structure", @@ -13582,6 +13785,7 @@ {"name": "ModelPackageGroup", "shape": "ModelPackageGroup", "type": "structure"}, {"name": "Pipeline", "shape": "Pipeline", "type": "structure"}, {"name": "PipelineExecution", "shape": "PipelineExecution", "type": "structure"}, + {"name": "PipelineVersion", "shape": "PipelineVersion", "type": "structure"}, {"name": "FeatureGroup", "shape": "FeatureGroup", "type": "structure"}, {"name": "FeatureMetadata", "shape": "FeatureMetadata", "type": "structure"}, {"name": "Project", "shape": "Project", "type": "structure"}, @@ -13997,6 +14201,7 @@ "shape": "SelectiveExecutionConfig", "type": "structure", }, + {"name": "PipelineVersionId", "shape": "PipelineVersionId", "type": "long"}, ], "type": "structure", }, @@ -15138,6 +15343,11 @@ "shape": "ClusterInstanceGroupSpecifications", "type": "list", }, + { + "name": "RestrictedInstanceGroups", + "shape": "ClusterRestrictedInstanceGroupSpecifications", + "type": "list", + }, {"name": "NodeRecovery", "shape": "ClusterNodeRecovery", "type": "string"}, { "name": "InstanceGroupsToDelete", @@ -15749,7 +15959,34 @@ "type": "structure", }, "UpdatePipelineResponse": { - "members": [{"name": "PipelineArn", "shape": "PipelineArn", "type": "string"}], + "members": [ + {"name": "PipelineArn", "shape": "PipelineArn", "type": "string"}, + {"name": "PipelineVersionId", "shape": "PipelineVersionId", "type": "long"}, + ], + "type": "structure", + }, + "UpdatePipelineVersionRequest": { + "members": [ + {"name": "PipelineArn", "shape": "PipelineArn", "type": "string"}, + {"name": "PipelineVersionId", "shape": "PipelineVersionId", "type": "long"}, + { + "name": "PipelineVersionDisplayName", + "shape": "PipelineVersionName", + "type": "string", + }, + { + "name": "PipelineVersionDescription", + "shape": "PipelineVersionDescription", + "type": "string", + }, + ], + "type": "structure", + }, + "UpdatePipelineVersionResponse": { + "members": [ + {"name": "PipelineArn", "shape": "PipelineArn", "type": "string"}, + {"name": "PipelineVersionId", "shape": "PipelineVersionId", "type": "long"}, + ], "type": "structure", }, "UpdateProjectInput": { diff --git a/src/sagemaker_core/main/resources.py b/src/sagemaker_core/main/resources.py index 0c1136b7..2f9acf68 100644 --- a/src/sagemaker_core/main/resources.py +++ b/src/sagemaker_core/main/resources.py @@ -3219,6 +3219,7 @@ class Cluster(Base): cluster_name: The name of the SageMaker HyperPod cluster. creation_time: The time when the SageMaker Cluster is created. failure_message: The failure message of the SageMaker HyperPod cluster. + restricted_instance_groups: The specialized instance groups for training models like Amazon Nova to be created in the SageMaker HyperPod cluster. vpc_config: orchestrator: The type of orchestrator used for the SageMaker HyperPod cluster. node_recovery: The node recovery mode configured for the SageMaker HyperPod cluster. @@ -3231,6 +3232,9 @@ class Cluster(Base): creation_time: Optional[datetime.datetime] = Unassigned() failure_message: Optional[str] = Unassigned() instance_groups: Optional[List[shapes.ClusterInstanceGroupDetails]] = Unassigned() + restricted_instance_groups: Optional[List[shapes.ClusterRestrictedInstanceGroupDetails]] = ( + Unassigned() + ) vpc_config: Optional[shapes.VpcConfig] = Unassigned() orchestrator: Optional[shapes.ClusterOrchestrator] = Unassigned() node_recovery: Optional[str] = Unassigned() @@ -3276,6 +3280,9 @@ def create( cls, cluster_name: str, instance_groups: Optional[List[shapes.ClusterInstanceGroupSpecification]] = Unassigned(), + restricted_instance_groups: Optional[ + List[shapes.ClusterRestrictedInstanceGroupSpecification] + ] = Unassigned(), vpc_config: Optional[shapes.VpcConfig] = Unassigned(), tags: Optional[List[shapes.Tag]] = Unassigned(), orchestrator: Optional[shapes.ClusterOrchestrator] = Unassigned(), @@ -3289,6 +3296,7 @@ def create( Parameters: cluster_name: The name for the new SageMaker HyperPod cluster. instance_groups: The instance groups to be created in the SageMaker HyperPod cluster. + restricted_instance_groups: The specialized instance groups for training models like Amazon Nova to be created in the SageMaker HyperPod cluster. vpc_config: Specifies the Amazon Virtual Private Cloud (VPC) that is associated with the Amazon SageMaker HyperPod cluster. You can control access to and from your resources by configuring your VPC. For more information, see Give SageMaker access to resources in your Amazon VPC. When your Amazon VPC and subnets support IPv6, network communications differ based on the cluster orchestration platform: Slurm-orchestrated clusters automatically configure nodes with dual IPv6 and IPv4 addresses, allowing immediate IPv6 network communications. In Amazon EKS-orchestrated clusters, nodes receive dual-stack addressing, but pods can only use IPv6 when the Amazon EKS cluster is explicitly IPv6-enabled. For information about deploying an IPv6 Amazon EKS cluster, see Amazon EKS IPv6 Cluster Deployment. Additional resources for IPv6 configuration: For information about adding IPv6 support to your VPC, see to IPv6 Support for VPC. For information about creating a new IPv6-compatible VPC, see Amazon VPC Creation Guide. To configure SageMaker HyperPod with a custom Amazon VPC, see Custom Amazon VPC Setup for SageMaker HyperPod. tags: Custom tags for managing the SageMaker HyperPod cluster as an Amazon Web Services resource. You can add tags to your cluster in the same way you add them in other Amazon Web Services services that support tagging. To learn more about tagging Amazon Web Services resources in general, see Tagging Amazon Web Services Resources User Guide. orchestrator: The type of orchestrator to use for the SageMaker HyperPod cluster. Currently, the only supported value is "eks", which is to use an Amazon Elastic Kubernetes Service (EKS) cluster as the orchestrator. @@ -3324,6 +3332,7 @@ def create( operation_input_args = { "ClusterName": cluster_name, "InstanceGroups": instance_groups, + "RestrictedInstanceGroups": restricted_instance_groups, "VpcConfig": vpc_config, "Tags": tags, "Orchestrator": orchestrator, @@ -3438,6 +3447,9 @@ def refresh( def update( self, instance_groups: Optional[List[shapes.ClusterInstanceGroupSpecification]] = Unassigned(), + restricted_instance_groups: Optional[ + List[shapes.ClusterRestrictedInstanceGroupSpecification] + ] = Unassigned(), node_recovery: Optional[str] = Unassigned(), instance_groups_to_delete: Optional[List[str]] = Unassigned(), ) -> Optional["Cluster"]: @@ -3471,6 +3483,7 @@ def update( operation_input_args = { "ClusterName": self.cluster_name, "InstanceGroups": instance_groups, + "RestrictedInstanceGroups": restricted_instance_groups, "NodeRecovery": node_recovery, "InstanceGroupsToDelete": instance_groups_to_delete, } @@ -3717,7 +3730,7 @@ def get_all( @Base.add_validate_call def get_node( self, - node_id: str, + node_id: Optional[str] = Unassigned(), session: Optional[Session] = None, region: Optional[str] = None, ) -> Optional[shapes.ClusterNodeDetails]: @@ -3879,7 +3892,7 @@ def update_software( @Base.add_validate_call def batch_delete_nodes( self, - node_ids: List[str], + node_ids: Optional[List[str]] = Unassigned(), session: Optional[Session] = None, region: Optional[str] = None, ) -> Optional[shapes.BatchDeleteClusterNodesResponse]: @@ -24538,6 +24551,8 @@ class Pipeline(Base): created_by: last_modified_by: parallelism_configuration: Lists the parallelism configuration applied to the pipeline. + pipeline_version_display_name: The display name of the pipeline version. + pipeline_version_description: The description of the pipeline version. """ @@ -24554,6 +24569,8 @@ class Pipeline(Base): created_by: Optional[shapes.UserContext] = Unassigned() last_modified_by: Optional[shapes.UserContext] = Unassigned() parallelism_configuration: Optional[shapes.ParallelismConfiguration] = Unassigned() + pipeline_version_display_name: Optional[str] = Unassigned() + pipeline_version_description: Optional[str] = Unassigned() def get_name(self) -> str: attributes = vars(self) @@ -24677,6 +24694,7 @@ def create( def get( cls, pipeline_name: str, + pipeline_version_id: Optional[int] = Unassigned(), session: Optional[Session] = None, region: Optional[str] = None, ) -> Optional["Pipeline"]: @@ -24685,6 +24703,7 @@ def get( Parameters: pipeline_name: The name or Amazon Resource Name (ARN) of the pipeline to describe. + pipeline_version_id: The ID of the pipeline version to describe. session: Boto3 session. region: Region name. @@ -24706,6 +24725,7 @@ def get( operation_input_args = { "PipelineName": pipeline_name, + "PipelineVersionId": pipeline_version_id, } # serialize the input request operation_input_args = serialize(operation_input_args) @@ -24726,6 +24746,7 @@ def get( @Base.add_validate_call def refresh( self, + pipeline_version_id: Optional[int] = Unassigned(), ) -> Optional["Pipeline"]: """ Refresh a Pipeline resource @@ -24748,6 +24769,7 @@ def refresh( operation_input_args = { "PipelineName": self.pipeline_name, + "PipelineVersionId": pipeline_version_id, } # serialize the input request operation_input_args = serialize(operation_input_args) @@ -25053,6 +25075,7 @@ class PipelineExecution(Base): last_modified_by: parallelism_configuration: The parallelism configuration applied to the pipeline. selective_execution_config: The selective execution configuration applied to the pipeline run. + pipeline_version_id: The ID of the pipeline version. """ @@ -25069,6 +25092,7 @@ class PipelineExecution(Base): last_modified_by: Optional[shapes.UserContext] = Unassigned() parallelism_configuration: Optional[shapes.ParallelismConfiguration] = Unassigned() selective_execution_config: Optional[shapes.SelectiveExecutionConfig] = Unassigned() + pipeline_version_id: Optional[int] = Unassigned() def get_name(self) -> str: attributes = vars(self) diff --git a/src/sagemaker_core/main/shapes.py b/src/sagemaker_core/main/shapes.py index 52c47f72..c8b4bfdd 100644 --- a/src/sagemaker_core/main/shapes.py +++ b/src/sagemaker_core/main/shapes.py @@ -1516,7 +1516,7 @@ class IamIdentity(Base): class UserContext(Base): """ UserContext - Information about the user who created or modified an experiment, trial, trial component, lineage group, project, or model card. + Information about the user who created or modified a SageMaker resource. Attributes ---------------------- @@ -3552,6 +3552,121 @@ class ClusterOrchestrator(Base): eks: ClusterOrchestratorEksConfig +class FSxLustreConfig(Base): + """ + FSxLustreConfig + Configuration settings for an Amazon FSx for Lustre file system to be used with the cluster. + + Attributes + ---------------------- + size_in_gi_b: The storage capacity of the Amazon FSx for Lustre file system, specified in gibibytes (GiB). + per_unit_storage_throughput: The throughput capacity of the Amazon FSx for Lustre file system, measured in MB/s per TiB of storage. + """ + + size_in_gi_b: int + per_unit_storage_throughput: int + + +class EnvironmentConfigDetails(Base): + """ + EnvironmentConfigDetails + The configuration details for the restricted instance groups (RIG) environment. + + Attributes + ---------------------- + f_sx_lustre_config: Configuration settings for an Amazon FSx for Lustre file system to be used with the cluster. + s3_output_path: The Amazon S3 path where output data from the restricted instance group (RIG) environment will be stored. + """ + + f_sx_lustre_config: Optional[FSxLustreConfig] = Unassigned() + s3_output_path: Optional[str] = Unassigned() + + +class ClusterRestrictedInstanceGroupDetails(Base): + """ + ClusterRestrictedInstanceGroupDetails + The instance group details of the restricted instance group (RIG). + + Attributes + ---------------------- + current_count: The number of instances that are currently in the restricted instance group of a SageMaker HyperPod cluster. + target_count: The number of instances you specified to add to the restricted instance group of a SageMaker HyperPod cluster. + instance_group_name: The name of the restricted instance group of a SageMaker HyperPod cluster. + instance_type: The instance type of the restricted instance group of a SageMaker HyperPod cluster. + execution_role: The execution role for the restricted instance group to assume. + threads_per_core: The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading. For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading. For more information, see the reference table of CPU cores and threads per CPU core per instance type in the Amazon Elastic Compute Cloud User Guide. + instance_storage_configs: The additional storage configurations for the instances in the SageMaker HyperPod cluster restricted instance group. + on_start_deep_health_checks: A flag indicating whether deep health checks should be performed when the cluster's restricted instance group is created or updated. + status: The current status of the cluster's restricted instance group. InService: The restricted instance group is active and healthy. Creating: The restricted instance group is being provisioned. Updating: The restricted instance group is being updated. Failed: The restricted instance group has failed to provision or is no longer healthy. Degraded: The restricted instance group is degraded, meaning that some instances have failed to provision or are no longer healthy. Deleting: The restricted instance group is being deleted. + training_plan_arn: The Amazon Resource Name (ARN) of the training plan to filter clusters by. For more information about reserving GPU capacity for your SageMaker HyperPod clusters using Amazon SageMaker Training Plan, see CreateTrainingPlan . + training_plan_status: The current status of the training plan associated with this cluster restricted instance group. + override_vpc_config + scheduled_update_config + environment_config: The configuration for the restricted instance groups (RIG) environment. + """ + + current_count: Optional[int] = Unassigned() + target_count: Optional[int] = Unassigned() + instance_group_name: Optional[str] = Unassigned() + instance_type: Optional[str] = Unassigned() + execution_role: Optional[str] = Unassigned() + threads_per_core: Optional[int] = Unassigned() + instance_storage_configs: Optional[List[ClusterInstanceStorageConfig]] = Unassigned() + on_start_deep_health_checks: Optional[List[str]] = Unassigned() + status: Optional[str] = Unassigned() + training_plan_arn: Optional[str] = Unassigned() + training_plan_status: Optional[str] = Unassigned() + override_vpc_config: Optional[VpcConfig] = Unassigned() + scheduled_update_config: Optional[ScheduledUpdateConfig] = Unassigned() + environment_config: Optional[EnvironmentConfigDetails] = Unassigned() + + +class EnvironmentConfig(Base): + """ + EnvironmentConfig + The configuration for the restricted instance groups (RIG) environment. + + Attributes + ---------------------- + f_sx_lustre_config: Configuration settings for an Amazon FSx for Lustre file system to be used with the cluster. + """ + + f_sx_lustre_config: Optional[FSxLustreConfig] = Unassigned() + + +class ClusterRestrictedInstanceGroupSpecification(Base): + """ + ClusterRestrictedInstanceGroupSpecification + The specifications of a restricted instance group that you need to define. + + Attributes + ---------------------- + instance_count: Specifies the number of instances to add to the restricted instance group of a SageMaker HyperPod cluster. + instance_group_name: Specifies the name of the restricted instance group. + instance_type: Specifies the instance type of the restricted instance group. + execution_role: Specifies an IAM execution role to be assumed by the restricted instance group. + threads_per_core: The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading. For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading. For more information, see the reference table of CPU cores and threads per CPU core per instance type in the Amazon Elastic Compute Cloud User Guide. + instance_storage_configs: Specifies the additional storage configurations for the instances in the SageMaker HyperPod cluster restricted instance group. + on_start_deep_health_checks: A flag indicating whether deep health checks should be performed when the cluster restricted instance group is created or updated. + training_plan_arn: The Amazon Resource Name (ARN) of the training plan to filter clusters by. For more information about reserving GPU capacity for your SageMaker HyperPod clusters using Amazon SageMaker Training Plan, see CreateTrainingPlan . + override_vpc_config + scheduled_update_config + environment_config: The configuration for the restricted instance groups (RIG) environment. + """ + + instance_count: int + instance_group_name: str + instance_type: str + execution_role: str + environment_config: EnvironmentConfig + threads_per_core: Optional[int] = Unassigned() + instance_storage_configs: Optional[List[ClusterInstanceStorageConfig]] = Unassigned() + on_start_deep_health_checks: Optional[List[str]] = Unassigned() + training_plan_arn: Optional[str] = Unassigned() + override_vpc_config: Optional[VpcConfig] = Unassigned() + scheduled_update_config: Optional[ScheduledUpdateConfig] = Unassigned() + + class ClusterSchedulerConfigSummary(Base): """ ClusterSchedulerConfigSummary @@ -11500,6 +11615,29 @@ class Parameter(Base): value: str +class PipelineVersionSummary(Base): + """ + PipelineVersionSummary + The summary of the pipeline version. + + Attributes + ---------------------- + pipeline_arn: The Amazon Resource Name (ARN) of the pipeline. + pipeline_version_id: The ID of the pipeline version. + creation_time: The creation time of the pipeline version. + pipeline_version_description: The description of the pipeline version. + pipeline_version_display_name: The display name of the pipeline version. + last_execution_pipeline_execution_arn: The Amazon Resource Name (ARN) of the most recent pipeline execution created from this pipeline version. + """ + + pipeline_arn: Optional[str] = Unassigned() + pipeline_version_id: Optional[int] = Unassigned() + creation_time: Optional[datetime.datetime] = Unassigned() + pipeline_version_description: Optional[str] = Unassigned() + pipeline_version_display_name: Optional[str] = Unassigned() + last_execution_pipeline_execution_arn: Optional[str] = Unassigned() + + class PipelineSummary(Base): """ PipelineSummary @@ -12316,6 +12454,8 @@ class PipelineExecution(Base): parallelism_configuration: The parallelism configuration applied to the pipeline execution. selective_execution_config: The selective execution configuration applied to the pipeline run. pipeline_parameters: Contains a list of pipeline parameters. This list can be empty. + pipeline_version_id: The ID of the pipeline version that started this execution. + pipeline_version_display_name: The display name of the pipeline version that started this execution. """ pipeline_arn: Optional[str] = Unassigned() @@ -12332,6 +12472,41 @@ class PipelineExecution(Base): parallelism_configuration: Optional[ParallelismConfiguration] = Unassigned() selective_execution_config: Optional[SelectiveExecutionConfig] = Unassigned() pipeline_parameters: Optional[List[Parameter]] = Unassigned() + pipeline_version_id: Optional[int] = Unassigned() + pipeline_version_display_name: Optional[str] = Unassigned() + + +class PipelineVersion(Base): + """ + PipelineVersion + The version of the pipeline. + + Attributes + ---------------------- + pipeline_arn: The Amazon Resource Name (ARN) of the pipeline. + pipeline_version_id: The ID of the pipeline version. + pipeline_version_display_name: The display name of the pipeline version. + pipeline_version_description: The description of the pipeline version. + creation_time: The creation time of the pipeline version. + last_modified_time: The time when the pipeline version was last modified. + created_by + last_modified_by + last_executed_pipeline_execution_arn: The Amazon Resource Name (ARN) of the most recent pipeline execution created from this pipeline version. + last_executed_pipeline_execution_display_name: The display name of the most recent pipeline execution created from this pipeline version. + last_executed_pipeline_execution_status: The status of the most recent pipeline execution created from this pipeline version. + """ + + pipeline_arn: Optional[str] = Unassigned() + pipeline_version_id: Optional[int] = Unassigned() + pipeline_version_display_name: Optional[str] = Unassigned() + pipeline_version_description: Optional[str] = Unassigned() + creation_time: Optional[datetime.datetime] = Unassigned() + last_modified_time: Optional[datetime.datetime] = Unassigned() + created_by: Optional[UserContext] = Unassigned() + last_modified_by: Optional[UserContext] = Unassigned() + last_executed_pipeline_execution_arn: Optional[str] = Unassigned() + last_executed_pipeline_execution_display_name: Optional[str] = Unassigned() + last_executed_pipeline_execution_status: Optional[str] = Unassigned() class ProcessingJob(Base): @@ -12844,6 +13019,7 @@ class SearchRecord(Base): model_package_group pipeline pipeline_execution + pipeline_version: The version of the pipeline. feature_group feature_metadata: The feature metadata used to search through the features. project: The properties of a project. @@ -12861,6 +13037,7 @@ class SearchRecord(Base): model_package_group: Optional[ModelPackageGroup] = Unassigned() pipeline: Optional[Pipeline] = Unassigned() pipeline_execution: Optional[PipelineExecution] = Unassigned() + pipeline_version: Optional[PipelineVersion] = Unassigned() feature_group: Optional[FeatureGroup] = Unassigned() feature_metadata: Optional[FeatureMetadata] = Unassigned() project: Optional[Project] = Unassigned() diff --git a/src/sagemaker_core/tools/api_coverage.json b/src/sagemaker_core/tools/api_coverage.json index 01710e8a..438900ff 100644 --- a/src/sagemaker_core/tools/api_coverage.json +++ b/src/sagemaker_core/tools/api_coverage.json @@ -1 +1 @@ -{"SupportedAPIs": 363, "UnsupportedAPIs": 6} \ No newline at end of file +{"SupportedAPIs": 363, "UnsupportedAPIs": 8} \ No newline at end of file From 45de36c57d1649305a1c53a6cfaf8c888b6fd13c Mon Sep 17 00:00:00 2001 From: rsareddy0329 Date: Wed, 16 Jul 2025 11:34:39 -0700 Subject: [PATCH 2/2] Fix resource codegen unit test (#317) Co-authored-by: Roja Reddy Sareddy --- tst/tools/test_resources_codegen.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tst/tools/test_resources_codegen.py b/tst/tools/test_resources_codegen.py index 9e81da26..916d04c4 100644 --- a/tst/tools/test_resources_codegen.py +++ b/tst/tools/test_resources_codegen.py @@ -1253,7 +1253,7 @@ def test_get_node(self): @Base.add_validate_call def get_node( self, - node_id: str, + node_id: Optional[str] = Unassigned(), session: Optional[Session] = None, region: Optional[str] = None, ) -> Optional[shapes.ClusterNodeDetails]: