Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
129 changes: 127 additions & 2 deletions sample/sagemaker/2017-07-24/service-2.json
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,19 @@
],
"documentation":"<p>Associates a trial component with a trial. A trial component can be associated with multiple trials. To disassociate a trial component from a trial, call the <a href=\"https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DisassociateTrialComponent.html\">DisassociateTrialComponent</a> API.</p>"
},
"BatchDeleteClusterNodes":{
"name":"BatchDeleteClusterNodes",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"BatchDeleteClusterNodesRequest"},
"output":{"shape":"BatchDeleteClusterNodesResponse"},
"errors":[
{"shape":"ResourceNotFound"}
],
"documentation":"<p>Deletes specific nodes within a SageMaker HyperPod cluster. <code>BatchDeleteClusterNodes</code> accepts a cluster name and a list of node IDs.</p> <important> <ul> <li> <p>To safeguard your work, back up your data to Amazon S3 or an FSx for Lustre file system before invoking the API on a worker node group. This will help prevent any potential data loss from the instance root volume. For more information about backup, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-operate-cli-command.html#sagemaker-hyperpod-operate-cli-command-update-cluster-software-backup\">Use the backup script provided by SageMaker HyperPod</a>. </p> </li> <li> <p>If you want to invoke this API on an existing cluster, you'll first need to patch the cluster by running the <a href=\"https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateClusterSoftware.html\">UpdateClusterSoftware API</a>. For more information about patching a cluster, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-operate-cli-command.html#sagemaker-hyperpod-operate-cli-command-update-cluster-software\">Update the SageMaker HyperPod platform software of a cluster</a>.</p> </li> </ul> </important>"
},
"BatchDescribeModelPackage":{
"name":"BatchDescribeModelPackage",
"http":{
Expand Down Expand Up @@ -3670,7 +3683,7 @@
{"shape":"ResourceNotFound"},
{"shape":"ConflictException"}
],
"documentation":"<p>Updates the platform software of a SageMaker HyperPod cluster for security patching. To learn how to use this API, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-operate.html#sagemaker-hyperpod-operate-cli-command-update-cluster-software\">Update the SageMaker HyperPod platform software of a cluster</a>.</p>"
"documentation":"<p>Updates the platform software of a SageMaker HyperPod cluster for security patching. To learn how to use this API, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-operate.html#sagemaker-hyperpod-operate-cli-command-update-cluster-software\">Update the SageMaker HyperPod platform software of a cluster</a>.</p> <important> <p>The <code>UpgradeClusterSoftware</code> API call may impact your SageMaker HyperPod cluster uptime and availability. Plan accordingly to mitigate potential disruptions to your workloads.</p> </important>"
},
"UpdateCodeRepository":{
"name":"UpdateCodeRepository",
Expand Down Expand Up @@ -6188,6 +6201,73 @@
},
"documentation":"<p>Configuration to control how SageMaker captures inference data for batch transform jobs.</p>"
},
"BatchDeleteClusterNodesError":{
"type":"structure",
"required":[
"Code",
"Message",
"NodeId"
],
"members":{
"Code":{
"shape":"BatchDeleteClusterNodesErrorCode",
"documentation":"<p>The error code associated with the error encountered when deleting a node.</p> <p>The code provides information about the specific issue encountered, such as the node not being found, the node's status being invalid for deletion, or the node ID being in use by another process.</p>"
},
"Message":{
"shape":"String",
"documentation":"<p>A message describing the error encountered when deleting a node.</p>"
},
"NodeId":{
"shape":"ClusterNodeId",
"documentation":"<p>The ID of the node that encountered an error during the deletion process.</p>"
}
},
"documentation":"<p>Represents an error encountered when deleting a node from a SageMaker HyperPod cluster.</p>"
},
"BatchDeleteClusterNodesErrorCode":{
"type":"string",
"enum":[
"NodeIdNotFound",
"InvalidNodeStatus",
"NodeIdInUse"
]
},
"BatchDeleteClusterNodesErrorList":{
"type":"list",
"member":{"shape":"BatchDeleteClusterNodesError"},
"max":99,
"min":1
},
"BatchDeleteClusterNodesRequest":{
"type":"structure",
"required":[
"ClusterName",
"NodeIds"
],
"members":{
"ClusterName":{
"shape":"ClusterNameOrArn",
"documentation":"<p>The name of the SageMaker HyperPod cluster from which to delete the specified nodes.</p>"
},
"NodeIds":{
"shape":"ClusterNodeIds",
"documentation":"<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> </note>"
}
}
},
"BatchDeleteClusterNodesResponse":{
"type":"structure",
"members":{
"Failed":{
"shape":"BatchDeleteClusterNodesErrorList",
"documentation":"<p>A list of errors encountered when deleting the specified nodes.</p>"
},
"Successful":{
"shape":"ClusterNodeIds",
"documentation":"<p>A list of node IDs that were successfully deleted from the specified cluster.</p>"
}
}
},
"BatchDescribeModelPackageError":{
"type":"structure",
"required":[
Expand Down Expand Up @@ -7439,7 +7519,26 @@
"ml.t3.medium",
"ml.t3.large",
"ml.t3.xlarge",
"ml.t3.2xlarge"
"ml.t3.2xlarge",
"ml.g6.xlarge",
"ml.g6.2xlarge",
"ml.g6.4xlarge",
"ml.g6.8xlarge",
"ml.g6.16xlarge",
"ml.g6.12xlarge",
"ml.g6.24xlarge",
"ml.g6.48xlarge",
"ml.gr6.4xlarge",
"ml.gr6.8xlarge",
"ml.g6e.xlarge",
"ml.g6e.2xlarge",
"ml.g6e.4xlarge",
"ml.g6e.8xlarge",
"ml.g6e.16xlarge",
"ml.g6e.12xlarge",
"ml.g6e.24xlarge",
"ml.g6e.48xlarge",
"ml.p5e.48xlarge"
]
},
"ClusterLifeCycleConfig":{
Expand Down Expand Up @@ -7533,6 +7632,12 @@
"min":1,
"pattern":"^i-[a-f0-9]{8}(?:[a-f0-9]{9})?$"
},
"ClusterNodeIds":{
"type":"list",
"member":{"shape":"ClusterNodeId"},
"max":99,
"min":1
},
"ClusterNodeRecovery":{
"type":"string",
"enum":[
Expand Down Expand Up @@ -36525,6 +36630,22 @@
"ml.g5.12xlarge",
"ml.g5.24xlarge",
"ml.g5.48xlarge",
"ml.g6.xlarge",
"ml.g6.2xlarge",
"ml.g6.4xlarge",
"ml.g6.8xlarge",
"ml.g6.16xlarge",
"ml.g6.12xlarge",
"ml.g6.24xlarge",
"ml.g6.48xlarge",
"ml.g6e.xlarge",
"ml.g6e.2xlarge",
"ml.g6e.4xlarge",
"ml.g6e.8xlarge",
"ml.g6e.16xlarge",
"ml.g6e.12xlarge",
"ml.g6e.24xlarge",
"ml.g6e.48xlarge",
"ml.trn1.2xlarge",
"ml.trn1.32xlarge",
"ml.trn1n.32xlarge",
Expand Down Expand Up @@ -36862,6 +36983,10 @@
"shape":"TrainingJobStatus",
"documentation":"<p>The status of the training job.</p>"
},
"SecondaryStatus":{
"shape":"SecondaryStatus",
"documentation":"<p>The secondary status of the training job.</p>"
},
"WarmPoolStatus":{
"shape":"WarmPoolStatus",
"documentation":"<p>The status of the warm pool associated with the training job.</p>"
Expand Down
29 changes: 29 additions & 0 deletions src/sagemaker_core/main/code_injection/shape_dag.py
Original file line number Diff line number Diff line change
Expand Up @@ -749,6 +749,33 @@
],
"type": "structure",
},
"BatchDeleteClusterNodesError": {
"members": [
{"name": "Code", "shape": "BatchDeleteClusterNodesErrorCode", "type": "string"},
{"name": "Message", "shape": "String", "type": "string"},
{"name": "NodeId", "shape": "ClusterNodeId", "type": "string"},
],
"type": "structure",
},
"BatchDeleteClusterNodesErrorList": {
"member_shape": "BatchDeleteClusterNodesError",
"member_type": "structure",
"type": "list",
},
"BatchDeleteClusterNodesRequest": {
"members": [
{"name": "ClusterName", "shape": "ClusterNameOrArn", "type": "string"},
{"name": "NodeIds", "shape": "ClusterNodeIds", "type": "list"},
],
"type": "structure",
},
"BatchDeleteClusterNodesResponse": {
"members": [
{"name": "Failed", "shape": "BatchDeleteClusterNodesErrorList", "type": "list"},
{"name": "Successful", "shape": "ClusterNodeIds", "type": "list"},
],
"type": "structure",
},
"BatchDescribeModelPackageError": {
"members": [
{"name": "ErrorCode", "shape": "String", "type": "string"},
Expand Down Expand Up @@ -1322,6 +1349,7 @@
],
"type": "structure",
},
"ClusterNodeIds": {"member_shape": "ClusterNodeId", "member_type": "string", "type": "list"},
"ClusterNodeSummaries": {
"member_shape": "ClusterNodeSummary",
"member_type": "structure",
Expand Down Expand Up @@ -13566,6 +13594,7 @@
{"name": "TrainingEndTime", "shape": "Timestamp", "type": "timestamp"},
{"name": "LastModifiedTime", "shape": "Timestamp", "type": "timestamp"},
{"name": "TrainingJobStatus", "shape": "TrainingJobStatus", "type": "string"},
{"name": "SecondaryStatus", "shape": "SecondaryStatus", "type": "string"},
{"name": "WarmPoolStatus", "shape": "WarmPoolStatus", "type": "structure"},
],
"type": "structure",
Expand Down
19 changes: 19 additions & 0 deletions src/sagemaker_core/main/shapes.py
Original file line number Diff line number Diff line change
Expand Up @@ -2360,6 +2360,23 @@ class BatchDataCaptureConfig(Base):
generate_inference_id: Optional[bool] = Unassigned()


class BatchDeleteClusterNodesError(Base):
"""
BatchDeleteClusterNodesError
Represents an error encountered when deleting a node from a SageMaker HyperPod cluster.

Attributes
----------------------
code: The error code associated with the error encountered when deleting a node. The code provides information about the specific issue encountered, such as the node not being found, the node's status being invalid for deletion, or the node ID being in use by another process.
message: A message describing the error encountered when deleting a node.
node_id: The ID of the node that encountered an error during the deletion process.
"""

code: str
message: str
node_id: str


class BatchDescribeModelPackageError(Base):
"""
BatchDescribeModelPackageError
Expand Down Expand Up @@ -10913,6 +10930,7 @@ class TrainingJobSummary(Base):
training_end_time: A timestamp that shows when the training job ended. This field is set only if the training job has one of the terminal statuses (Completed, Failed, or Stopped).
last_modified_time: Timestamp when the training job was last modified.
training_job_status: The status of the training job.
secondary_status: The secondary status of the training job.
warm_pool_status: The status of the warm pool associated with the training job.
"""

Expand All @@ -10922,6 +10940,7 @@ class TrainingJobSummary(Base):
training_job_status: str
training_end_time: Optional[datetime.datetime] = Unassigned()
last_modified_time: Optional[datetime.datetime] = Unassigned()
secondary_status: Optional[str] = Unassigned()
warm_pool_status: Optional[WarmPoolStatus] = Unassigned()


Expand Down
2 changes: 1 addition & 1 deletion src/sagemaker_core/tools/api_coverage.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"SupportedAPIs": 339, "UnsupportedAPIs": 5}
{"SupportedAPIs": 339, "UnsupportedAPIs": 6}
Loading