Skip to content

Commit 215b996

Browse files
Add new fields in SageMaker Hyperpod DescribeCluster API response: TargetStateCount, SoftwareUpdateStatus and ActiveSoftwareDeploymentConfig to provide AMI update progress visibility .
1 parent 30c9fc1 commit 215b996

File tree

8 files changed

+188
-8
lines changed

8 files changed

+188
-8
lines changed

generator/ServiceModels/sagemaker/sagemaker-2017-07-24.api.json

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6967,7 +6967,10 @@
69676967
"OverrideVpcConfig":{"shape":"VpcConfig"},
69686968
"ScheduledUpdateConfig":{"shape":"ScheduledUpdateConfig"},
69696969
"CurrentImageId":{"shape":"ImageId"},
6970-
"DesiredImageId":{"shape":"ImageId"}
6970+
"DesiredImageId":{"shape":"ImageId"},
6971+
"TargetStateCount":{"shape":"ClusterInstanceCount"},
6972+
"SoftwareUpdateStatus":{"shape":"SoftwareUpdateStatus"},
6973+
"ActiveSoftwareUpdateConfig":{"shape":"DeploymentConfiguration"}
69716974
}
69726975
},
69736976
"ClusterInstanceGroupDetailsList":{
@@ -9450,10 +9453,8 @@
94509453
"type":"structure",
94519454
"required":[
94529455
"TrainingJobName",
9453-
"AlgorithmSpecification",
94549456
"RoleArn",
94559457
"OutputDataConfig",
9456-
"ResourceConfig",
94579458
"StoppingCondition"
94589459
],
94599460
"members":{
@@ -24976,6 +24977,17 @@
2497624977
"min":0,
2497724978
"pattern":"arn:aws[a-z\\-]*:sns:[a-z0-9\\-]*:[0-9]{12}:[a-zA-Z0-9_.-]+"
2497824979
},
24980+
"SoftwareUpdateStatus":{
24981+
"type":"string",
24982+
"enum":[
24983+
"Pending",
24984+
"InProgress",
24985+
"Succeeded",
24986+
"Failed",
24987+
"RollbackInProgress",
24988+
"RollbackComplete"
24989+
]
24990+
},
2497924991
"SortActionsBy":{
2498024992
"type":"string",
2498124993
"enum":[

generator/ServiceModels/sagemaker/sagemaker-2017-07-24.docs.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2549,6 +2549,7 @@
25492549
"base": null,
25502550
"refs": {
25512551
"ClusterInstanceGroupDetails$TargetCount": "<p>The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster.</p>",
2552+
"ClusterInstanceGroupDetails$TargetStateCount": "<p>The number of nodes running a specific image ID since the last software update request.</p>",
25522553
"ClusterInstanceGroupSpecification$InstanceCount": "<p>Specifies the number of instances to add to the instance group of a SageMaker HyperPod cluster.</p>",
25532554
"ClusterRestrictedInstanceGroupDetails$TargetCount": "<p>The number of instances you specified to add to the restricted instance group of a SageMaker HyperPod cluster.</p>",
25542555
"ClusterRestrictedInstanceGroupSpecification$InstanceCount": "<p>Specifies the number of instances to add to the restricted instance group of a SageMaker HyperPod cluster.</p>"
@@ -4654,6 +4655,7 @@
46544655
"DeploymentConfiguration": {
46554656
"base": "<p>The configuration to use when updating the AMI versions.</p>",
46564657
"refs": {
4658+
"ClusterInstanceGroupDetails$ActiveSoftwareUpdateConfig": null,
46574659
"ScheduledUpdateConfig$DeploymentConfig": "<p>The configuration to use when updating the AMI versions.</p>",
46584660
"UpdateClusterSoftwareRequest$DeploymentConfig": "<p>The configuration to use when updating the AMI versions.</p>"
46594661
}
@@ -15443,6 +15445,12 @@
1544315445
"LabelingJobSnsDataSource$SnsTopicArn": "<p>The Amazon SNS input topic Amazon Resource Name (ARN). Specify the ARN of the input topic you will use to send new data objects to a streaming labeling job.</p>"
1544415446
}
1544515447
},
15448+
"SoftwareUpdateStatus": {
15449+
"base": null,
15450+
"refs": {
15451+
"ClusterInstanceGroupDetails$SoftwareUpdateStatus": "<p>Status of the last software udpate request.</p>"
15452+
}
15453+
},
1544615454
"SortActionsBy": {
1544715455
"base": null,
1544815456
"refs": {

generator/ServiceModels/sagemaker/sagemaker-2017-07-24.normal.json

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8627,7 +8627,16 @@
86278627
"DesiredImageId":{
86288628
"shape":"ImageId",
86298629
"documentation":"<p>The ID of the Amazon Machine Image (AMI) desired for the instance group.</p>"
8630-
}
8630+
},
8631+
"TargetStateCount":{
8632+
"shape":"ClusterInstanceCount",
8633+
"documentation":"<p>The number of nodes running a specific image ID since the last software update request.</p>"
8634+
},
8635+
"SoftwareUpdateStatus":{
8636+
"shape":"SoftwareUpdateStatus",
8637+
"documentation":"<p>Status of the last software udpate request.</p>"
8638+
},
8639+
"ActiveSoftwareUpdateConfig":{"shape":"DeploymentConfiguration"}
86318640
},
86328641
"documentation":"<p>Details of an instance group in a SageMaker HyperPod cluster.</p>"
86338642
},
@@ -13029,10 +13038,8 @@
1302913038
"type":"structure",
1303013039
"required":[
1303113040
"TrainingJobName",
13032-
"AlgorithmSpecification",
1303313041
"RoleArn",
1303413042
"OutputDataConfig",
13035-
"ResourceConfig",
1303613043
"StoppingCondition"
1303713044
],
1303813045
"members":{
@@ -39748,6 +39755,17 @@
3974839755
"min":0,
3974939756
"pattern":"arn:aws[a-z\\-]*:sns:[a-z0-9\\-]*:[0-9]{12}:[a-zA-Z0-9_.-]+"
3975039757
},
39758+
"SoftwareUpdateStatus":{
39759+
"type":"string",
39760+
"enum":[
39761+
"Pending",
39762+
"InProgress",
39763+
"Succeeded",
39764+
"Failed",
39765+
"RollbackInProgress",
39766+
"RollbackComplete"
39767+
]
39768+
},
3975139769
"SortActionsBy":{
3975239770
"type":"string",
3975339771
"enum":[

sdk/code-analysis/ServiceAnalysis/SageMaker/Generated/PropertyValueRules.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9211,6 +9211,11 @@
92119211
<min>0</min>
92129212
<max>6758</max>
92139213
</property-value-rule>
9214+
<property-value-rule>
9215+
<property>Amazon.SageMaker.Model.ClusterInstanceGroupDetails.TargetStateCount</property>
9216+
<min>0</min>
9217+
<max>6758</max>
9218+
</property-value-rule>
92149219
<property-value-rule>
92159220
<property>Amazon.SageMaker.Model.ClusterInstanceGroupDetails.ThreadsPerCore</property>
92169221
<min>1</min>

sdk/src/Services/SageMaker/Generated/Model/ClusterInstanceGroupDetails.cs

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ namespace Amazon.SageMaker.Model
3434
/// </summary>
3535
public partial class ClusterInstanceGroupDetails
3636
{
37+
private DeploymentConfiguration _activeSoftwareUpdateConfig;
3738
private int? _currentCount;
3839
private string _currentImageId;
3940
private string _desiredImageId;
@@ -45,12 +46,29 @@ public partial class ClusterInstanceGroupDetails
4546
private List<string> _onStartDeepHealthChecks = AWSConfigs.InitializeCollections ? new List<string>() : null;
4647
private VpcConfig _overrideVpcConfig;
4748
private ScheduledUpdateConfig _scheduledUpdateConfig;
49+
private SoftwareUpdateStatus _softwareUpdateStatus;
4850
private InstanceGroupStatus _status;
4951
private int? _targetCount;
52+
private int? _targetStateCount;
5053
private int? _threadsPerCore;
5154
private string _trainingPlanArn;
5255
private string _trainingPlanStatus;
5356

57+
/// <summary>
58+
/// Gets and sets the property ActiveSoftwareUpdateConfig.
59+
/// </summary>
60+
public DeploymentConfiguration ActiveSoftwareUpdateConfig
61+
{
62+
get { return this._activeSoftwareUpdateConfig; }
63+
set { this._activeSoftwareUpdateConfig = value; }
64+
}
65+
66+
// Check to see if ActiveSoftwareUpdateConfig property is set
67+
internal bool IsSetActiveSoftwareUpdateConfig()
68+
{
69+
return this._activeSoftwareUpdateConfig != null;
70+
}
71+
5472
/// <summary>
5573
/// Gets and sets the property CurrentCount.
5674
/// <para>
@@ -271,6 +289,24 @@ internal bool IsSetScheduledUpdateConfig()
271289
return this._scheduledUpdateConfig != null;
272290
}
273291

292+
/// <summary>
293+
/// Gets and sets the property SoftwareUpdateStatus.
294+
/// <para>
295+
/// Status of the last software udpate request.
296+
/// </para>
297+
/// </summary>
298+
public SoftwareUpdateStatus SoftwareUpdateStatus
299+
{
300+
get { return this._softwareUpdateStatus; }
301+
set { this._softwareUpdateStatus = value; }
302+
}
303+
304+
// Check to see if SoftwareUpdateStatus property is set
305+
internal bool IsSetSoftwareUpdateStatus()
306+
{
307+
return this._softwareUpdateStatus != null;
308+
}
309+
274310
/// <summary>
275311
/// Gets and sets the property Status.
276312
/// <para>
@@ -335,6 +371,25 @@ internal bool IsSetTargetCount()
335371
return this._targetCount.HasValue;
336372
}
337373

374+
/// <summary>
375+
/// Gets and sets the property TargetStateCount.
376+
/// <para>
377+
/// The number of nodes running a specific image ID since the last software update request.
378+
/// </para>
379+
/// </summary>
380+
[AWSProperty(Min=0, Max=6758)]
381+
public int? TargetStateCount
382+
{
383+
get { return this._targetStateCount; }
384+
set { this._targetStateCount = value; }
385+
}
386+
387+
// Check to see if TargetStateCount property is set
388+
internal bool IsSetTargetStateCount()
389+
{
390+
return this._targetStateCount.HasValue;
391+
}
392+
338393
/// <summary>
339394
/// Gets and sets the property ThreadsPerCore.
340395
/// <para>

sdk/src/Services/SageMaker/Generated/Model/CreateTrainingJobRequest.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,6 @@ public partial class CreateTrainingJobRequest : AmazonSageMakerRequest
161161
/// Your Own Algorithms with Amazon SageMaker</a>.
162162
/// </para>
163163
/// </summary>
164-
[AWSProperty(Required=true)]
165164
public AlgorithmSpecification AlgorithmSpecification
166165
{
167166
get { return this._algorithmSpecification; }
@@ -555,7 +554,6 @@ internal bool IsSetRemoteDebugConfig()
555554
/// count greater than 1.
556555
/// </para>
557556
/// </summary>
558-
[AWSProperty(Required=true)]
559557
public ResourceConfig ResourceConfig
560558
{
561559
get { return this._resourceConfig; }

sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/ClusterInstanceGroupDetailsUnmarshaller.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,12 @@ public ClusterInstanceGroupDetails Unmarshall(JsonUnmarshallerContext context, r
5656
int targetDepth = context.CurrentDepth;
5757
while (context.ReadAtDepth(targetDepth, ref reader))
5858
{
59+
if (context.TestExpression("ActiveSoftwareUpdateConfig", targetDepth))
60+
{
61+
var unmarshaller = DeploymentConfigurationUnmarshaller.Instance;
62+
unmarshalledObject.ActiveSoftwareUpdateConfig = unmarshaller.Unmarshall(context, ref reader);
63+
continue;
64+
}
5965
if (context.TestExpression("CurrentCount", targetDepth))
6066
{
6167
var unmarshaller = NullableIntUnmarshaller.Instance;
@@ -122,6 +128,12 @@ public ClusterInstanceGroupDetails Unmarshall(JsonUnmarshallerContext context, r
122128
unmarshalledObject.ScheduledUpdateConfig = unmarshaller.Unmarshall(context, ref reader);
123129
continue;
124130
}
131+
if (context.TestExpression("SoftwareUpdateStatus", targetDepth))
132+
{
133+
var unmarshaller = StringUnmarshaller.Instance;
134+
unmarshalledObject.SoftwareUpdateStatus = unmarshaller.Unmarshall(context, ref reader);
135+
continue;
136+
}
125137
if (context.TestExpression("Status", targetDepth))
126138
{
127139
var unmarshaller = StringUnmarshaller.Instance;
@@ -134,6 +146,12 @@ public ClusterInstanceGroupDetails Unmarshall(JsonUnmarshallerContext context, r
134146
unmarshalledObject.TargetCount = unmarshaller.Unmarshall(context, ref reader);
135147
continue;
136148
}
149+
if (context.TestExpression("TargetStateCount", targetDepth))
150+
{
151+
var unmarshaller = NullableIntUnmarshaller.Instance;
152+
unmarshalledObject.TargetStateCount = unmarshaller.Unmarshall(context, ref reader);
153+
continue;
154+
}
137155
if (context.TestExpression("ThreadsPerCore", targetDepth))
138156
{
139157
var unmarshaller = NullableIntUnmarshaller.Instance;

sdk/src/Services/SageMaker/Generated/ServiceEnumerations.cs

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18132,6 +18132,72 @@ public static implicit operator SkipModelValidation(string value)
1813218132
}
1813318133

1813418134

18135+
/// <summary>
18136+
/// Constants used for properties of type SoftwareUpdateStatus.
18137+
/// </summary>
18138+
public class SoftwareUpdateStatus : ConstantClass
18139+
{
18140+
18141+
/// <summary>
18142+
/// Constant Failed for SoftwareUpdateStatus
18143+
/// </summary>
18144+
public static readonly SoftwareUpdateStatus Failed = new SoftwareUpdateStatus("Failed");
18145+
/// <summary>
18146+
/// Constant InProgress for SoftwareUpdateStatus
18147+
/// </summary>
18148+
public static readonly SoftwareUpdateStatus InProgress = new SoftwareUpdateStatus("InProgress");
18149+
/// <summary>
18150+
/// Constant Pending for SoftwareUpdateStatus
18151+
/// </summary>
18152+
public static readonly SoftwareUpdateStatus Pending = new SoftwareUpdateStatus("Pending");
18153+
/// <summary>
18154+
/// Constant RollbackComplete for SoftwareUpdateStatus
18155+
/// </summary>
18156+
public static readonly SoftwareUpdateStatus RollbackComplete = new SoftwareUpdateStatus("RollbackComplete");
18157+
/// <summary>
18158+
/// Constant RollbackInProgress for SoftwareUpdateStatus
18159+
/// </summary>
18160+
public static readonly SoftwareUpdateStatus RollbackInProgress = new SoftwareUpdateStatus("RollbackInProgress");
18161+
/// <summary>
18162+
/// Constant Succeeded for SoftwareUpdateStatus
18163+
/// </summary>
18164+
public static readonly SoftwareUpdateStatus Succeeded = new SoftwareUpdateStatus("Succeeded");
18165+
18166+
/// <summary>
18167+
/// This constant constructor does not need to be called if the constant
18168+
/// you are attempting to use is already defined as a static instance of
18169+
/// this class.
18170+
/// This constructor should be used to construct constants that are not
18171+
/// defined as statics, for instance if attempting to use a feature that is
18172+
/// newer than the current version of the SDK.
18173+
/// </summary>
18174+
public SoftwareUpdateStatus(string value)
18175+
: base(value)
18176+
{
18177+
}
18178+
18179+
/// <summary>
18180+
/// Finds the constant for the unique value.
18181+
/// </summary>
18182+
/// <param name="value">The unique value for the constant</param>
18183+
/// <returns>The constant for the unique value</returns>
18184+
public static SoftwareUpdateStatus FindValue(string value)
18185+
{
18186+
return FindValue<SoftwareUpdateStatus>(value);
18187+
}
18188+
18189+
/// <summary>
18190+
/// Utility method to convert strings to the constant class.
18191+
/// </summary>
18192+
/// <param name="value">The string value to convert to the constant class.</param>
18193+
/// <returns></returns>
18194+
public static implicit operator SoftwareUpdateStatus(string value)
18195+
{
18196+
return FindValue(value);
18197+
}
18198+
}
18199+
18200+
1813518201
/// <summary>
1813618202
/// Constants used for properties of type SortActionsBy.
1813718203
/// </summary>

0 commit comments

Comments
 (0)