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
40 changes: 39 additions & 1 deletion sample/sagemaker/2017-07-24/service-2.json
Original file line number Diff line number Diff line change
Expand Up @@ -4689,6 +4689,12 @@
}
},
"shapes":{
"AbsoluteBorrowLimitResourceList":{
"type":"list",
"member":{"shape":"ComputeQuotaResourceConfig"},
"max":15,
"min":0
},
"AcceleratorPartitionConfig":{
"type":"structure",
"required":[
Expand Down Expand Up @@ -7761,7 +7767,7 @@
"BorrowLimit":{
"type":"integer",
"box":true,
"max":500,
"max":10000,
"min":0
},
"Branch":{
Expand Down Expand Up @@ -16625,6 +16631,10 @@
"shape":"FailureReason",
"documentation":"<p>Failure reason of the cluster policy.</p>"
},
"StatusDetails":{
"shape":"StatusDetailsMap",
"documentation":"<p>Additional details about the status of the cluster policy. This field provides context when the policy is in a non-active state, such as during creation, updates, or if failures occur.</p>"
},
"ClusterArn":{
"shape":"ClusterArn",
"documentation":"<p>ARN of the cluster where the cluster policy is applied.</p>"
Expand Down Expand Up @@ -25315,6 +25325,13 @@
"max":20,
"min":0
},
"IdleResourceSharing":{
"type":"string",
"enum":[
"Enabled",
"Disabled"
]
},
"IdleSettings":{
"type":"structure",
"members":{
Expand Down Expand Up @@ -40137,6 +40154,10 @@
"BorrowLimit":{
"shape":"BorrowLimit",
"documentation":"<p>The limit on how much idle compute can be borrowed.The values can be 1 - 500 percent of idle compute that the team is allowed to borrow.</p> <p>Default is <code>50</code>.</p>"
},
"AbsoluteBorrowLimits":{
"shape":"AbsoluteBorrowLimitResourceList",
"documentation":"<p>The absolute limits on compute resources that can be borrowed from idle compute. When specified, these limits define the maximum amount of specific resource types (such as accelerators, vCPU, or memory) that an entity can borrow, regardless of the percentage-based <code>BorrowLimit</code>.</p>"
}
},
"documentation":"<p>Resource sharing configuration.</p>"
Expand Down Expand Up @@ -40714,10 +40735,22 @@
"FairShare":{
"shape":"FairShare",
"documentation":"<p>When enabled, entities borrow idle compute based on their assigned <code>FairShareWeight</code>.</p> <p>When disabled, entities borrow idle compute based on a first-come first-serve basis.</p> <p>Default is <code>Enabled</code>.</p>"
},
"IdleResourceSharing":{
"shape":"IdleResourceSharing",
"documentation":"<p>Configuration for sharing idle compute resources across entities in the cluster. When enabled, unallocated resources are automatically calculated and made available for entities to borrow. </p>"
}
},
"documentation":"<p>Cluster policy configuration. This policy is used for task prioritization and fair-share allocation. This helps prioritize critical workloads and distributes idle compute across entities.</p>"
},
"SchedulerConfigComponent":{
"type":"string",
"enum":[
"PriorityClasses",
"FairShare",
"IdleResourceSharing"
]
},
"SchedulerResourceStatus":{
"type":"string",
"enum":[
Expand Down Expand Up @@ -41994,6 +42027,11 @@
"min":0,
"pattern":".*"
},
"StatusDetailsMap":{
"type":"map",
"key":{"shape":"SchedulerConfigComponent"},
"value":{"shape":"SchedulerResourceStatus"}
},
"StatusMessage":{"type":"string"},
"StepDescription":{
"type":"string",
Expand Down
19 changes: 19 additions & 0 deletions src/sagemaker_core/main/code_injection/shape_dag.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
SHAPE_DAG = {
"AbsoluteBorrowLimitResourceList": {
"member_shape": "ComputeQuotaResourceConfig",
"member_type": "structure",
"type": "list",
},
"AcceleratorPartitionConfig": {
"members": [
{"name": "Type", "shape": "MIGProfileType", "type": "string"},
Expand Down Expand Up @@ -5090,6 +5095,7 @@
{"name": "ClusterSchedulerConfigVersion", "shape": "Integer", "type": "integer"},
{"name": "Status", "shape": "SchedulerResourceStatus", "type": "string"},
{"name": "FailureReason", "shape": "FailureReason", "type": "string"},
{"name": "StatusDetails", "shape": "StatusDetailsMap", "type": "map"},
{"name": "ClusterArn", "shape": "ClusterArn", "type": "string"},
{"name": "SchedulerConfig", "shape": "SchedulerConfig", "type": "structure"},
{"name": "Description", "shape": "EntityDescription", "type": "string"},
Expand Down Expand Up @@ -14644,6 +14650,11 @@
"members": [
{"name": "Strategy", "shape": "ResourceSharingStrategy", "type": "string"},
{"name": "BorrowLimit", "shape": "BorrowLimit", "type": "integer"},
{
"name": "AbsoluteBorrowLimits",
"shape": "AbsoluteBorrowLimitResourceList",
"type": "list",
},
],
"type": "structure",
},
Expand Down Expand Up @@ -14853,6 +14864,7 @@
"members": [
{"name": "PriorityClasses", "shape": "PriorityClassList", "type": "list"},
{"name": "FairShare", "shape": "FairShare", "type": "string"},
{"name": "IdleResourceSharing", "shape": "IdleResourceSharing", "type": "string"},
],
"type": "structure",
},
Expand Down Expand Up @@ -15340,6 +15352,13 @@
],
"type": "structure",
},
"StatusDetailsMap": {
"key_shape": "SchedulerConfigComponent",
"key_type": "string",
"type": "map",
"value_shape": "SchedulerResourceStatus",
"value_type": "string",
},
"StopAutoMLJobRequest": {
"members": [{"name": "AutoMLJobName", "shape": "AutoMLJobName", "type": "string"}],
"type": "structure",
Expand Down
2 changes: 2 additions & 0 deletions src/sagemaker_core/main/resources.py
Original file line number Diff line number Diff line change
Expand Up @@ -3995,6 +3995,7 @@ class ClusterSchedulerConfig(Base):
status: Status of the cluster policy.
creation_time: Creation time of the cluster policy.
failure_reason: Failure reason of the cluster policy.
status_details: Additional details about the status of the cluster policy. This field provides context when the policy is in a non-active state, such as during creation, updates, or if failures occur.
cluster_arn: ARN of the cluster where the cluster policy is applied.
scheduler_config: Cluster policy configuration. This policy is used for task prioritization and fair-share allocation. This helps prioritize critical workloads and distributes idle compute across entities.
description: Description of the cluster policy.
Expand All @@ -4010,6 +4011,7 @@ class ClusterSchedulerConfig(Base):
cluster_scheduler_config_version: Optional[int] = Unassigned()
status: Optional[str] = Unassigned()
failure_reason: Optional[str] = Unassigned()
status_details: Optional[Dict[str, str]] = Unassigned()
cluster_arn: Optional[str] = Unassigned()
scheduler_config: Optional[shapes.SchedulerConfig] = Unassigned()
description: Optional[str] = Unassigned()
Expand Down
4 changes: 4 additions & 0 deletions src/sagemaker_core/main/shapes.py
Original file line number Diff line number Diff line change
Expand Up @@ -4664,10 +4664,12 @@ class ResourceSharingConfig(Base):
----------------------
strategy: The strategy of how idle compute is shared within the cluster. The following are the options of strategies. DontLend: entities do not lend idle compute. Lend: entities can lend idle compute to entities that can borrow. LendandBorrow: entities can lend idle compute and borrow idle compute from other entities. Default is LendandBorrow.
borrow_limit: The limit on how much idle compute can be borrowed.The values can be 1 - 500 percent of idle compute that the team is allowed to borrow. Default is 50.
absolute_borrow_limits: The absolute limits on compute resources that can be borrowed from idle compute. When specified, these limits define the maximum amount of specific resource types (such as accelerators, vCPU, or memory) that an entity can borrow, regardless of the percentage-based BorrowLimit.
"""

strategy: str
borrow_limit: Optional[int] = Unassigned()
absolute_borrow_limits: Optional[List[ComputeQuotaResourceConfig]] = Unassigned()


class ComputeQuotaConfig(Base):
Expand Down Expand Up @@ -5089,10 +5091,12 @@ class SchedulerConfig(Base):
----------------------
priority_classes: List of the priority classes, PriorityClass, of the cluster policy. When specified, these class configurations define how tasks are queued.
fair_share: When enabled, entities borrow idle compute based on their assigned FairShareWeight. When disabled, entities borrow idle compute based on a first-come first-serve basis. Default is Enabled.
idle_resource_sharing: Configuration for sharing idle compute resources across entities in the cluster. When enabled, unallocated resources are automatically calculated and made available for entities to borrow.
"""

priority_classes: Optional[List[PriorityClass]] = Unassigned()
fair_share: Optional[str] = Unassigned()
idle_resource_sharing: Optional[str] = Unassigned()


class InputConfig(Base):
Expand Down
Loading