diff --git a/sample/sagemaker/2017-07-24/service-2.json b/sample/sagemaker/2017-07-24/service-2.json index 287f876..25c1b56 100644 --- a/sample/sagemaker/2017-07-24/service-2.json +++ b/sample/sagemaker/2017-07-24/service-2.json @@ -4689,6 +4689,12 @@ } }, "shapes":{ + "AbsoluteBorrowLimitResourceList":{ + "type":"list", + "member":{"shape":"ComputeQuotaResourceConfig"}, + "max":15, + "min":0 + }, "AcceleratorPartitionConfig":{ "type":"structure", "required":[ @@ -7761,7 +7767,7 @@ "BorrowLimit":{ "type":"integer", "box":true, - "max":500, + "max":10000, "min":0 }, "Branch":{ @@ -16625,6 +16631,10 @@ "shape":"FailureReason", "documentation":"
Failure reason of the cluster policy.
" }, + "StatusDetails":{ + "shape":"StatusDetailsMap", + "documentation":"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.
" + }, "ClusterArn":{ "shape":"ClusterArn", "documentation":"ARN of the cluster where the cluster policy is applied.
" @@ -25315,6 +25325,13 @@ "max":20, "min":0 }, + "IdleResourceSharing":{ + "type":"string", + "enum":[ + "Enabled", + "Disabled" + ] + }, "IdleSettings":{ "type":"structure", "members":{ @@ -40137,6 +40154,10 @@ "BorrowLimit":{ "shape":"BorrowLimit", "documentation":"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.
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.
Resource sharing configuration.
" @@ -40714,10 +40735,22 @@ "FairShare":{ "shape":"FairShare", "documentation":"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.
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.
" } }, "documentation":"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.
" }, + "SchedulerConfigComponent":{ + "type":"string", + "enum":[ + "PriorityClasses", + "FairShare", + "IdleResourceSharing" + ] + }, "SchedulerResourceStatus":{ "type":"string", "enum":[ @@ -41994,6 +42027,11 @@ "min":0, "pattern":".*" }, + "StatusDetailsMap":{ + "type":"map", + "key":{"shape":"SchedulerConfigComponent"}, + "value":{"shape":"SchedulerResourceStatus"} + }, "StatusMessage":{"type":"string"}, "StepDescription":{ "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 c9f3808..7953fdc 100644 --- a/src/sagemaker_core/main/code_injection/shape_dag.py +++ b/src/sagemaker_core/main/code_injection/shape_dag.py @@ -1,4 +1,9 @@ SHAPE_DAG = { + "AbsoluteBorrowLimitResourceList": { + "member_shape": "ComputeQuotaResourceConfig", + "member_type": "structure", + "type": "list", + }, "AcceleratorPartitionConfig": { "members": [ {"name": "Type", "shape": "MIGProfileType", "type": "string"}, @@ -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"}, @@ -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", }, @@ -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", }, @@ -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", diff --git a/src/sagemaker_core/main/resources.py b/src/sagemaker_core/main/resources.py index 49542ee..a8d15ec 100644 --- a/src/sagemaker_core/main/resources.py +++ b/src/sagemaker_core/main/resources.py @@ -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. @@ -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() diff --git a/src/sagemaker_core/main/shapes.py b/src/sagemaker_core/main/shapes.py index 5e0baf7..757cdc3 100644 --- a/src/sagemaker_core/main/shapes.py +++ b/src/sagemaker_core/main/shapes.py @@ -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): @@ -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):