Skip to content

Commit ffaf59e

Browse files
Add support for IPv6 Networking for Clusters.
1 parent bfb90da commit ffaf59e

File tree

12 files changed

+271
-149
lines changed

12 files changed

+271
-149
lines changed

generator/ServiceModels/pcs/pcs-2023-02-10.api.json

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -710,8 +710,7 @@
710710
},
711711
"DeleteClusterResponse":{
712712
"type":"structure",
713-
"members":{
714-
}
713+
"members":{}
715714
},
716715
"DeleteComputeNodeGroupRequest":{
717716
"type":"structure",
@@ -730,8 +729,7 @@
730729
},
731730
"DeleteComputeNodeGroupResponse":{
732731
"type":"structure",
733-
"members":{
734-
}
732+
"members":{}
735733
},
736734
"DeleteQueueRequest":{
737735
"type":"structure",
@@ -750,8 +748,7 @@
750748
},
751749
"DeleteQueueResponse":{
752750
"type":"structure",
753-
"members":{
754-
}
751+
"members":{}
755752
},
756753
"Endpoint":{
757754
"type":"structure",
@@ -764,6 +761,7 @@
764761
"type":{"shape":"EndpointType"},
765762
"privateIpAddress":{"shape":"String"},
766763
"publicIpAddress":{"shape":"String"},
764+
"ipv6Address":{"shape":"String"},
767765
"port":{"shape":"String"}
768766
}
769767
},
@@ -932,18 +930,27 @@
932930
"max":100,
933931
"min":1
934932
},
933+
"NetworkType":{
934+
"type":"string",
935+
"enum":[
936+
"IPV4",
937+
"IPV6"
938+
]
939+
},
935940
"Networking":{
936941
"type":"structure",
937942
"members":{
938943
"subnetIds":{"shape":"SubnetIdList"},
939-
"securityGroupIds":{"shape":"SecurityGroupIdList"}
944+
"securityGroupIds":{"shape":"SecurityGroupIdList"},
945+
"networkType":{"shape":"NetworkType"}
940946
}
941947
},
942948
"NetworkingRequest":{
943949
"type":"structure",
944950
"members":{
945951
"subnetIds":{"shape":"SubnetIdList"},
946-
"securityGroupIds":{"shape":"SecurityGroupIdList"}
952+
"securityGroupIds":{"shape":"SecurityGroupIdList"},
953+
"networkType":{"shape":"NetworkType"}
947954
}
948955
},
949956
"PurchaseOption":{

generator/ServiceModels/pcs/pcs-2023-02-10.docs.json

Lines changed: 52 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@
2424
"shapes": {
2525
"AccessDeniedException": {
2626
"base": "<p>You don't have permission to perform the action.</p> <p> <u>Examples</u> </p> <ul> <li> <p>The launch template instance profile doesn't pass <code>iam:PassRole</code> verification.</p> </li> <li> <p>There is a mismatch between the account ID and cluster ID.</p> </li> <li> <p>The cluster ID doesn't exist.</p> </li> <li> <p>The EC2 instance isn't present.</p> </li> </ul>",
27-
"refs": {
28-
}
27+
"refs": {}
2928
},
3029
"Accounting": {
3130
"base": "<p>The accounting configuration includes configurable settings for Slurm accounting. It's a property of the <b>ClusterSlurmConfiguration</b> object.</p>",
@@ -225,38 +224,31 @@
225224
},
226225
"ConflictException": {
227226
"base": "<p>Your request has conflicting operations. This can occur if you're trying to perform more than 1 operation on the same resource at the same time.</p> <p> <u>Examples</u> </p> <ul> <li> <p>A cluster with the same name already exists.</p> </li> <li> <p>A cluster isn't in <code>ACTIVE</code> status.</p> </li> <li> <p>A cluster to delete is in an unstable state. For example, because it still has <code>ACTIVE</code> node groups or queues.</p> </li> <li> <p>A queue already exists in a cluster.</p> </li> </ul>",
228-
"refs": {
229-
}
227+
"refs": {}
230228
},
231229
"CreateClusterRequest": {
232230
"base": null,
233-
"refs": {
234-
}
231+
"refs": {}
235232
},
236233
"CreateClusterResponse": {
237234
"base": null,
238-
"refs": {
239-
}
235+
"refs": {}
240236
},
241237
"CreateComputeNodeGroupRequest": {
242238
"base": null,
243-
"refs": {
244-
}
239+
"refs": {}
245240
},
246241
"CreateComputeNodeGroupResponse": {
247242
"base": null,
248-
"refs": {
249-
}
243+
"refs": {}
250244
},
251245
"CreateQueueRequest": {
252246
"base": null,
253-
"refs": {
254-
}
247+
"refs": {}
255248
},
256249
"CreateQueueResponse": {
257250
"base": null,
258-
"refs": {
259-
}
251+
"refs": {}
260252
},
261253
"CustomLaunchTemplate": {
262254
"base": "<p>An Amazon EC2 launch template Amazon Web Services PCS uses to launch compute nodes.</p>",
@@ -268,33 +260,27 @@
268260
},
269261
"DeleteClusterRequest": {
270262
"base": null,
271-
"refs": {
272-
}
263+
"refs": {}
273264
},
274265
"DeleteClusterResponse": {
275266
"base": null,
276-
"refs": {
277-
}
267+
"refs": {}
278268
},
279269
"DeleteComputeNodeGroupRequest": {
280270
"base": null,
281-
"refs": {
282-
}
271+
"refs": {}
283272
},
284273
"DeleteComputeNodeGroupResponse": {
285274
"base": null,
286-
"refs": {
287-
}
275+
"refs": {}
288276
},
289277
"DeleteQueueRequest": {
290278
"base": null,
291-
"refs": {
292-
}
279+
"refs": {}
293280
},
294281
"DeleteQueueResponse": {
295282
"base": null,
296-
"refs": {
297-
}
283+
"refs": {}
298284
},
299285
"Endpoint": {
300286
"base": "<p>An endpoint available for interaction with the scheduler.</p>",
@@ -331,33 +317,27 @@
331317
},
332318
"GetClusterRequest": {
333319
"base": null,
334-
"refs": {
335-
}
320+
"refs": {}
336321
},
337322
"GetClusterResponse": {
338323
"base": null,
339-
"refs": {
340-
}
324+
"refs": {}
341325
},
342326
"GetComputeNodeGroupRequest": {
343327
"base": null,
344-
"refs": {
345-
}
328+
"refs": {}
346329
},
347330
"GetComputeNodeGroupResponse": {
348331
"base": null,
349-
"refs": {
350-
}
332+
"refs": {}
351333
},
352334
"GetQueueRequest": {
353335
"base": null,
354-
"refs": {
355-
}
336+
"refs": {}
356337
},
357338
"GetQueueResponse": {
358339
"base": null,
359-
"refs": {
360-
}
340+
"refs": {}
361341
},
362342
"InstanceConfig": {
363343
"base": "<p>An EC2 instance configuration Amazon Web Services PCS uses to launch compute nodes.</p>",
@@ -388,48 +368,39 @@
388368
},
389369
"InternalServerException": {
390370
"base": "<p>Amazon Web Services PCS can't process your request right now. Try again later.</p>",
391-
"refs": {
392-
}
371+
"refs": {}
393372
},
394373
"ListClustersRequest": {
395374
"base": null,
396-
"refs": {
397-
}
375+
"refs": {}
398376
},
399377
"ListClustersResponse": {
400378
"base": null,
401-
"refs": {
402-
}
379+
"refs": {}
403380
},
404381
"ListComputeNodeGroupsRequest": {
405382
"base": null,
406-
"refs": {
407-
}
383+
"refs": {}
408384
},
409385
"ListComputeNodeGroupsResponse": {
410386
"base": null,
411-
"refs": {
412-
}
387+
"refs": {}
413388
},
414389
"ListQueuesRequest": {
415390
"base": null,
416-
"refs": {
417-
}
391+
"refs": {}
418392
},
419393
"ListQueuesResponse": {
420394
"base": null,
421-
"refs": {
422-
}
395+
"refs": {}
423396
},
424397
"ListTagsForResourceRequest": {
425398
"base": null,
426-
"refs": {
427-
}
399+
"refs": {}
428400
},
429401
"ListTagsForResourceResponse": {
430402
"base": null,
431-
"refs": {
432-
}
403+
"refs": {}
433404
},
434405
"MaxResults": {
435406
"base": null,
@@ -439,6 +410,13 @@
439410
"ListQueuesRequest$maxResults": "<p>The maximum number of results that are returned per call. You can use <code>nextToken</code> to obtain further pages of results. The default is 10 results, and the maximum allowed page size is 100 results. A value of 0 uses the default.</p>"
440411
}
441412
},
413+
"NetworkType": {
414+
"base": null,
415+
"refs": {
416+
"Networking$networkType": "<p>The IP address version the cluster uses. The default is <code>IPV4</code>.</p>",
417+
"NetworkingRequest$networkType": "<p>The IP address version the cluster uses. The default is <code>IPV4</code>.</p>"
418+
}
419+
},
442420
"Networking": {
443421
"base": "<p>The networking configuration for the cluster's control plane.</p>",
444422
"refs": {
@@ -504,13 +482,11 @@
504482
},
505483
"RegisterComputeNodeGroupInstanceRequest": {
506484
"base": null,
507-
"refs": {
508-
}
485+
"refs": {}
509486
},
510487
"RegisterComputeNodeGroupInstanceResponse": {
511488
"base": null,
512-
"refs": {
513-
}
489+
"refs": {}
514490
},
515491
"RequestTagMap": {
516492
"base": null,
@@ -523,8 +499,7 @@
523499
},
524500
"ResourceNotFoundException": {
525501
"base": "<p>The requested resource can't be found. The cluster, node group, or queue you're attempting to get, update, list, or delete doesn't exist.</p> <p> <u>Examples</u> </p>",
526-
"refs": {
527-
}
502+
"refs": {}
528503
},
529504
"ResponseTagMap": {
530505
"base": null,
@@ -610,14 +585,13 @@
610585
"SecurityGroupIdList": {
611586
"base": null,
612587
"refs": {
613-
"Networking$securityGroupIds": "<p>The list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets.</p> <p>The following rules are required:</p> <ul> <li> <p>Inbound rule 1</p> <ul> <li> <p>Protocol: All</p> </li> <li> <p>Ports: All</p> </li> <li> <p>Source: Self</p> </li> </ul> </li> <li> <p>Outbound rule 1</p> <ul> <li> <p>Protocol: All</p> </li> <li> <p>Ports: All</p> </li> <li> <p>Destination: 0.0.0.0/0 (IPv4)</p> </li> </ul> </li> <li> <p>Outbound rule 2</p> <ul> <li> <p>Protocol: All</p> </li> <li> <p>Ports: All</p> </li> <li> <p>Destination: Self</p> </li> </ul> </li> </ul>",
588+
"Networking$securityGroupIds": "<p>The list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets.</p> <p>The following rules are required:</p> <ul> <li> <p>Inbound rule 1</p> <ul> <li> <p>Protocol: All</p> </li> <li> <p>Ports: All</p> </li> <li> <p>Source: Self</p> </li> </ul> </li> <li> <p>Outbound rule 1</p> <ul> <li> <p>Protocol: All</p> </li> <li> <p>Ports: All</p> </li> <li> <p>Destination: 0.0.0.0/0 (IPv4) or ::/0 (IPv6)</p> </li> </ul> </li> <li> <p>Outbound rule 2</p> <ul> <li> <p>Protocol: All</p> </li> <li> <p>Ports: All</p> </li> <li> <p>Destination: Self</p> </li> </ul> </li> </ul>",
614589
"NetworkingRequest$securityGroupIds": "<p>A list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets.</p>"
615590
}
616591
},
617592
"ServiceQuotaExceededException": {
618593
"base": "<p>You exceeded your service quota. Service quotas, also referred to as limits, are the maximum number of service resources or operations for your Amazon Web Services account. To learn how to increase your service quota, see <a href=\"https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html\">Requesting a quota increase</a> in the <i>Service Quotas User Guide</i> </p> <p> <u>Examples</u> </p> <ul> <li> <p>The max number of clusters or queues has been reached for the account.</p> </li> <li> <p>The max number of compute node groups has been reached for the associated cluster.</p> </li> <li> <p>The total of <code>maxInstances</code> across all compute node groups has been reached for associated cluster.</p> </li> </ul>",
619-
"refs": {
620-
}
594+
"refs": {}
621595
},
622596
"SharedSecret": {
623597
"base": null,
@@ -690,8 +664,9 @@
690664
"ConflictException$resourceType": "<p> The type or category of the resource that caused the conflict exception.\" </p>",
691665
"CustomLaunchTemplate$id": "<p>The ID of the EC2 launch template to use to provision instances.</p> <p> Example: <code>lt-xxxx</code> </p>",
692666
"CustomLaunchTemplate$version": "<p>The version of the EC2 launch template to use to provision instances.</p>",
693-
"Endpoint$privateIpAddress": "<p>The endpoint's private IP address.</p> <p>Example: <code>2.2.2.2</code> </p>",
694-
"Endpoint$publicIpAddress": "<p>The endpoint's public IP address.</p> <p>Example: <code>1.1.1.1</code> </p>",
667+
"Endpoint$privateIpAddress": "<p>For clusters that use IPv4, this is the endpoint's private IP address.</p> <p>Example: <code>10.1.2.3</code> </p> <p>For clusters configured to use IPv6, this is an empty string.</p>",
668+
"Endpoint$publicIpAddress": "<p>The endpoint's public IP address.</p> <p>Example: <code>192.0.2.1</code> </p>",
669+
"Endpoint$ipv6Address": "<p>The endpoint's IPv6 address.</p> <p>Example: <code>2001:db8::1</code> </p>",
695670
"Endpoint$port": "<p>The endpoint's connection port number.</p> <p> Example: <code>1234</code> </p>",
696671
"ErrorInfo$code": "<p>The short-form error code.</p>",
697672
"ErrorInfo$message": "<p>The detailed error information.</p>",
@@ -785,8 +760,7 @@
785760
},
786761
"TagResourceRequest": {
787762
"base": null,
788-
"refs": {
789-
}
763+
"refs": {}
790764
},
791765
"TagValue": {
792766
"base": null,
@@ -797,23 +771,19 @@
797771
},
798772
"ThrottlingException": {
799773
"base": "<p>Your request exceeded a request rate quota. Check the resource's request rate quota and try again.</p>",
800-
"refs": {
801-
}
774+
"refs": {}
802775
},
803776
"UntagResourceRequest": {
804777
"base": null,
805-
"refs": {
806-
}
778+
"refs": {}
807779
},
808780
"UpdateComputeNodeGroupRequest": {
809781
"base": null,
810-
"refs": {
811-
}
782+
"refs": {}
812783
},
813784
"UpdateComputeNodeGroupResponse": {
814785
"base": null,
815-
"refs": {
816-
}
786+
"refs": {}
817787
},
818788
"UpdateComputeNodeGroupSlurmConfigurationRequest": {
819789
"base": "<p>Additional options related to the Slurm scheduler.</p>",
@@ -823,18 +793,15 @@
823793
},
824794
"UpdateQueueRequest": {
825795
"base": null,
826-
"refs": {
827-
}
796+
"refs": {}
828797
},
829798
"UpdateQueueResponse": {
830799
"base": null,
831-
"refs": {
832-
}
800+
"refs": {}
833801
},
834802
"ValidationException": {
835803
"base": "<p>The request isn't valid.</p> <p> <u>Examples</u> </p> <ul> <li> <p>Your request contains malformed JSON or unsupported characters.</p> </li> <li> <p>The scheduler version isn't supported.</p> </li> <li> <p>There are networking related errors, such as network validation failure.</p> </li> <li> <p>AMI type is <code>CUSTOM</code> and the launch template doesn't define the AMI ID, or the AMI type is AL2 and the launch template defines the AMI.</p> </li> </ul>",
836-
"refs": {
837-
}
804+
"refs": {}
838805
},
839806
"ValidationExceptionField": {
840807
"base": "<p>Stores information about a field in a request that caused an exception.</p>",
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
{
22
"version": "1.0",
3-
"examples": {
4-
}
3+
"examples": {}
54
}

0 commit comments

Comments
 (0)