Skip to content

Commit d3259d1

Browse files
Daily Sync with Botocore v1.40.19 on 2025/08/28 (#338)
1 parent 00f4c09 commit d3259d1

File tree

5 files changed

+157
-1
lines changed

5 files changed

+157
-1
lines changed

sample/sagemaker/2017-07-24/service-2.json

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8313,6 +8313,67 @@
83138313
"min":0,
83148314
"pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:cluster/[a-z0-9]{12}"
83158315
},
8316+
"ClusterAutoScalerType":{
8317+
"type":"string",
8318+
"enum":["Karpenter"]
8319+
},
8320+
"ClusterAutoScalingConfig":{
8321+
"type":"structure",
8322+
"required":["Mode"],
8323+
"members":{
8324+
"Mode":{
8325+
"shape":"ClusterAutoScalingMode",
8326+
"documentation":"<p>Describes whether autoscaling is enabled or disabled for the cluster. Valid values are <code>Enable</code> and <code>Disable</code>.</p>"
8327+
},
8328+
"AutoScalerType":{
8329+
"shape":"ClusterAutoScalerType",
8330+
"documentation":"<p>The type of autoscaler to use. Currently supported value is <code>Karpenter</code>.</p>"
8331+
}
8332+
},
8333+
"documentation":"<p>Specifies the autoscaling configuration for a HyperPod cluster.</p>"
8334+
},
8335+
"ClusterAutoScalingConfigOutput":{
8336+
"type":"structure",
8337+
"required":[
8338+
"Mode",
8339+
"Status"
8340+
],
8341+
"members":{
8342+
"Mode":{
8343+
"shape":"ClusterAutoScalingMode",
8344+
"documentation":"<p>Describes whether autoscaling is enabled or disabled for the cluster.</p>"
8345+
},
8346+
"AutoScalerType":{
8347+
"shape":"ClusterAutoScalerType",
8348+
"documentation":"<p>The type of autoscaler configured for the cluster.</p>"
8349+
},
8350+
"Status":{
8351+
"shape":"ClusterAutoScalingStatus",
8352+
"documentation":"<p>The current status of the autoscaling configuration. Valid values are <code>InService</code>, <code>Failed</code>, <code>Creating</code>, and <code>Deleting</code>.</p>"
8353+
},
8354+
"FailureMessage":{
8355+
"shape":"String",
8356+
"documentation":"<p>If the autoscaling status is <code>Failed</code>, this field contains a message describing the failure.</p>"
8357+
}
8358+
},
8359+
"documentation":"<p>The autoscaling configuration and status information for a HyperPod cluster.</p>"
8360+
},
8361+
"ClusterAutoScalingMode":{
8362+
"type":"string",
8363+
"enum":[
8364+
"Enable",
8365+
"Disable"
8366+
]
8367+
},
8368+
"ClusterAutoScalingStatus":{
8369+
"type":"string",
8370+
"enum":[
8371+
"InService",
8372+
"Failed",
8373+
"Creating",
8374+
"Deleting"
8375+
]
8376+
},
83168377
"ClusterAvailabilityZone":{
83178378
"type":"string",
83188379
"pattern":"[a-z]{2}-[a-z]+-\\d[a-z]"
@@ -10483,6 +10544,14 @@
1048310544
"NodeProvisioningMode":{
1048410545
"shape":"ClusterNodeProvisioningMode",
1048510546
"documentation":"<p>The mode for provisioning nodes in the cluster. You can specify the following modes:</p> <ul> <li> <p> <b>Continuous</b>: Scaling behavior that enables 1) concurrent operation execution within instance groups, 2) continuous retry mechanisms for failed operations, 3) enhanced customer visibility into cluster events through detailed event streams, 4) partial provisioning capabilities. Your clusters and instance groups remain <code>InService</code> while scaling. This mode is only supported for EKS orchestrated clusters.</p> </li> </ul>"
10547+
},
10548+
"ClusterRole":{
10549+
"shape":"RoleArn",
10550+
"documentation":"<p>The Amazon Resource Name (ARN) of the IAM role that HyperPod assumes to perform cluster autoscaling operations. This role must have permissions for <code>sagemaker:BatchAddClusterNodes</code> and <code>sagemaker:BatchDeleteClusterNodes</code>. This is only required when autoscaling is enabled and when HyperPod is performing autoscaling operations.</p>"
10551+
},
10552+
"AutoScaling":{
10553+
"shape":"ClusterAutoScalingConfig",
10554+
"documentation":"<p>The autoscaling configuration for the cluster. Enables automatic scaling of cluster nodes based on workload demand using a Karpenter-based system.</p>"
1048610555
}
1048710556
}
1048810557
},
@@ -15551,6 +15620,14 @@
1555115620
"NodeProvisioningMode":{
1555215621
"shape":"ClusterNodeProvisioningMode",
1555315622
"documentation":"<p>The mode used for provisioning nodes in the cluster.</p>"
15623+
},
15624+
"ClusterRole":{
15625+
"shape":"RoleArn",
15626+
"documentation":"<p>The Amazon Resource Name (ARN) of the IAM role that HyperPod uses for cluster autoscaling operations.</p>"
15627+
},
15628+
"AutoScaling":{
15629+
"shape":"ClusterAutoScalingConfigOutput",
15630+
"documentation":"<p>The current autoscaling configuration and status for the autoscaler.</p>"
1555415631
}
1555515632
}
1555615633
},
@@ -43560,6 +43637,14 @@
4356043637
"InstanceGroupsToDelete":{
4356143638
"shape":"ClusterInstanceGroupsToDelete",
4356243639
"documentation":"<p>Specify the names of the instance groups to delete. Use a single <code>,</code> as the separator between multiple names.</p>"
43640+
},
43641+
"ClusterRole":{
43642+
"shape":"RoleArn",
43643+
"documentation":"<p>The Amazon Resource Name (ARN) of the IAM role that HyperPod assumes for cluster autoscaling operations. Cannot be updated while autoscaling is enabled.</p>"
43644+
},
43645+
"AutoScaling":{
43646+
"shape":"ClusterAutoScalingConfig",
43647+
"documentation":"<p>Updates the autoscaling configuration for the cluster. Use to enable or disable automatic node scaling.</p>"
4356343648
}
4356443649
}
4356543650
},

src/sagemaker_core/main/code_injection/shape_dag.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1445,6 +1445,22 @@
14451445
],
14461446
"type": "structure",
14471447
},
1448+
"ClusterAutoScalingConfig": {
1449+
"members": [
1450+
{"name": "Mode", "shape": "ClusterAutoScalingMode", "type": "string"},
1451+
{"name": "AutoScalerType", "shape": "ClusterAutoScalerType", "type": "string"},
1452+
],
1453+
"type": "structure",
1454+
},
1455+
"ClusterAutoScalingConfigOutput": {
1456+
"members": [
1457+
{"name": "Mode", "shape": "ClusterAutoScalingMode", "type": "string"},
1458+
{"name": "AutoScalerType", "shape": "ClusterAutoScalerType", "type": "string"},
1459+
{"name": "Status", "shape": "ClusterAutoScalingStatus", "type": "string"},
1460+
{"name": "FailureMessage", "shape": "String", "type": "string"},
1461+
],
1462+
"type": "structure",
1463+
},
14481464
"ClusterEbsVolumeConfig": {
14491465
"members": [
14501466
{"name": "VolumeSizeInGB", "shape": "ClusterEbsVolumeSizeInGB", "type": "integer"},
@@ -2251,6 +2267,8 @@
22512267
"shape": "ClusterNodeProvisioningMode",
22522268
"type": "string",
22532269
},
2270+
{"name": "ClusterRole", "shape": "RoleArn", "type": "string"},
2271+
{"name": "AutoScaling", "shape": "ClusterAutoScalingConfig", "type": "structure"},
22542272
],
22552273
"type": "structure",
22562274
},
@@ -4647,6 +4665,8 @@
46474665
"shape": "ClusterNodeProvisioningMode",
46484666
"type": "string",
46494667
},
4668+
{"name": "ClusterRole", "shape": "RoleArn", "type": "string"},
4669+
{"name": "AutoScaling", "shape": "ClusterAutoScalingConfigOutput", "type": "structure"},
46504670
],
46514671
"type": "structure",
46524672
},
@@ -15827,6 +15847,8 @@
1582715847
"shape": "ClusterInstanceGroupsToDelete",
1582815848
"type": "list",
1582915849
},
15850+
{"name": "ClusterRole", "shape": "RoleArn", "type": "string"},
15851+
{"name": "AutoScaling", "shape": "ClusterAutoScalingConfig", "type": "structure"},
1583015852
],
1583115853
"type": "structure",
1583215854
},

src/sagemaker_core/main/config_schema.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,8 @@
106106
"type": "array",
107107
"items": {"type": "string"},
108108
},
109-
}
109+
},
110+
"cluster_role": {"type": "string"},
110111
},
111112
},
112113
"CompilationJob": {

src/sagemaker_core/main/resources.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3226,6 +3226,8 @@ class Cluster(Base):
32263226
orchestrator: The type of orchestrator used for the SageMaker HyperPod cluster.
32273227
node_recovery: The node recovery mode configured for the SageMaker HyperPod cluster.
32283228
node_provisioning_mode: The mode used for provisioning nodes in the cluster.
3229+
cluster_role: The Amazon Resource Name (ARN) of the IAM role that HyperPod uses for cluster autoscaling operations.
3230+
auto_scaling: The current autoscaling configuration and status for the autoscaler.
32293231

32303232
"""
32313233

@@ -3242,6 +3244,8 @@ class Cluster(Base):
32423244
orchestrator: Optional[shapes.ClusterOrchestrator] = Unassigned()
32433245
node_recovery: Optional[str] = Unassigned()
32443246
node_provisioning_mode: Optional[str] = Unassigned()
3247+
cluster_role: Optional[str] = Unassigned()
3248+
auto_scaling: Optional[shapes.ClusterAutoScalingConfigOutput] = Unassigned()
32453249

32463250
def get_name(self) -> str:
32473251
attributes = vars(self)
@@ -3292,6 +3296,8 @@ def create(
32923296
orchestrator: Optional[shapes.ClusterOrchestrator] = Unassigned(),
32933297
node_recovery: Optional[str] = Unassigned(),
32943298
node_provisioning_mode: Optional[str] = Unassigned(),
3299+
cluster_role: Optional[str] = Unassigned(),
3300+
auto_scaling: Optional[shapes.ClusterAutoScalingConfig] = Unassigned(),
32953301
session: Optional[Session] = None,
32963302
region: Optional[str] = None,
32973303
) -> Optional["Cluster"]:
@@ -3307,6 +3313,8 @@ def create(
33073313
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 cluster as the orchestrator.
33083314
node_recovery: The node recovery mode for the SageMaker HyperPod cluster. When set to Automatic, SageMaker HyperPod will automatically reboot or replace faulty nodes when issues are detected. When set to None, cluster administrators will need to manually manage any faulty cluster instances.
33093315
node_provisioning_mode: The mode for provisioning nodes in the cluster. You can specify the following modes: Continuous: Scaling behavior that enables 1) concurrent operation execution within instance groups, 2) continuous retry mechanisms for failed operations, 3) enhanced customer visibility into cluster events through detailed event streams, 4) partial provisioning capabilities. Your clusters and instance groups remain InService while scaling. This mode is only supported for EKS orchestrated clusters.
3316+
cluster_role: The Amazon Resource Name (ARN) of the IAM role that HyperPod assumes to perform cluster autoscaling operations. This role must have permissions for sagemaker:BatchAddClusterNodes and sagemaker:BatchDeleteClusterNodes. This is only required when autoscaling is enabled and when HyperPod is performing autoscaling operations.
3317+
auto_scaling: The autoscaling configuration for the cluster. Enables automatic scaling of cluster nodes based on workload demand using a Karpenter-based system.
33103318
session: Boto3 session.
33113319
region: Region name.
33123320

@@ -3344,6 +3352,8 @@ def create(
33443352
"Orchestrator": orchestrator,
33453353
"NodeRecovery": node_recovery,
33463354
"NodeProvisioningMode": node_provisioning_mode,
3355+
"ClusterRole": cluster_role,
3356+
"AutoScaling": auto_scaling,
33473357
}
33483358

33493359
operation_input_args = Base.populate_chained_attributes(
@@ -3459,6 +3469,8 @@ def update(
34593469
] = Unassigned(),
34603470
node_recovery: Optional[str] = Unassigned(),
34613471
instance_groups_to_delete: Optional[List[str]] = Unassigned(),
3472+
cluster_role: Optional[str] = Unassigned(),
3473+
auto_scaling: Optional[shapes.ClusterAutoScalingConfig] = Unassigned(),
34623474
) -> Optional["Cluster"]:
34633475
"""
34643476
Update a Cluster resource
@@ -3493,6 +3505,8 @@ def update(
34933505
"RestrictedInstanceGroups": restricted_instance_groups,
34943506
"NodeRecovery": node_recovery,
34953507
"InstanceGroupsToDelete": instance_groups_to_delete,
3508+
"ClusterRole": cluster_role,
3509+
"AutoScaling": auto_scaling,
34963510
}
34973511
logger.debug(f"Input request: {operation_input_args}")
34983512
# serialize the input request

src/sagemaker_core/main/shapes.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3406,6 +3406,40 @@ class ClarifyExplainerConfig(Base):
34063406
inference_config: Optional[ClarifyInferenceConfig] = Unassigned()
34073407

34083408

3409+
class ClusterAutoScalingConfig(Base):
3410+
"""
3411+
ClusterAutoScalingConfig
3412+
Specifies the autoscaling configuration for a HyperPod cluster.
3413+
3414+
Attributes
3415+
----------------------
3416+
mode: Describes whether autoscaling is enabled or disabled for the cluster. Valid values are Enable and Disable.
3417+
auto_scaler_type: The type of autoscaler to use. Currently supported value is Karpenter.
3418+
"""
3419+
3420+
mode: str
3421+
auto_scaler_type: Optional[str] = Unassigned()
3422+
3423+
3424+
class ClusterAutoScalingConfigOutput(Base):
3425+
"""
3426+
ClusterAutoScalingConfigOutput
3427+
The autoscaling configuration and status information for a HyperPod cluster.
3428+
3429+
Attributes
3430+
----------------------
3431+
mode: Describes whether autoscaling is enabled or disabled for the cluster.
3432+
auto_scaler_type: The type of autoscaler configured for the cluster.
3433+
status: The current status of the autoscaling configuration. Valid values are InService, Failed, Creating, and Deleting.
3434+
failure_message: If the autoscaling status is Failed, this field contains a message describing the failure.
3435+
"""
3436+
3437+
mode: str
3438+
status: str
3439+
auto_scaler_type: Optional[str] = Unassigned()
3440+
failure_message: Optional[str] = Unassigned()
3441+
3442+
34093443
class ClusterEbsVolumeConfig(Base):
34103444
"""
34113445
ClusterEbsVolumeConfig

0 commit comments

Comments
 (0)