Skip to content

Commit e8774c1

Browse files
author
awstools
committed
feat(client-pcs): Add support for IPv6 Networking for Clusters.
1 parent 749eb13 commit e8774c1

File tree

5 files changed

+79
-6
lines changed

5 files changed

+79
-6
lines changed

clients/client-pcs/src/commands/CreateClusterCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ export interface CreateClusterCommandOutput extends CreateClusterResponse, __Met
4949
* securityGroupIds: [ // SecurityGroupIdList
5050
* "STRING_VALUE",
5151
* ],
52+
* networkType: "IPV4" || "IPV6",
5253
* },
5354
* slurmConfiguration: { // ClusterSlurmConfigurationRequest
5455
* scaleDownIdleTimeInSeconds: Number("int"),
@@ -107,12 +108,14 @@ export interface CreateClusterCommandOutput extends CreateClusterResponse, __Met
107108
* // securityGroupIds: [ // SecurityGroupIdList
108109
* // "STRING_VALUE",
109110
* // ],
111+
* // networkType: "IPV4" || "IPV6",
110112
* // },
111113
* // endpoints: [ // Endpoints
112114
* // { // Endpoint
113115
* // type: "SLURMCTLD" || "SLURMDBD", // required
114116
* // privateIpAddress: "STRING_VALUE", // required
115117
* // publicIpAddress: "STRING_VALUE",
118+
* // ipv6Address: "STRING_VALUE",
116119
* // port: "STRING_VALUE", // required
117120
* // },
118121
* // ],

clients/client-pcs/src/commands/GetClusterCommand.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,12 +77,14 @@ export interface GetClusterCommandOutput extends GetClusterResponse, __MetadataB
7777
* // securityGroupIds: [ // SecurityGroupIdList
7878
* // "STRING_VALUE",
7979
* // ],
80+
* // networkType: "IPV4" || "IPV6",
8081
* // },
8182
* // endpoints: [ // Endpoints
8283
* // { // Endpoint
8384
* // type: "SLURMCTLD" || "SLURMDBD", // required
8485
* // privateIpAddress: "STRING_VALUE", // required
8586
* // publicIpAddress: "STRING_VALUE",
87+
* // ipv6Address: "STRING_VALUE",
8688
* // port: "STRING_VALUE", // required
8789
* // },
8890
* // ],

clients/client-pcs/src/commands/RegisterComputeNodeGroupInstanceCommand.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ export interface RegisterComputeNodeGroupInstanceCommandOutput
5858
* // type: "SLURMCTLD" || "SLURMDBD", // required
5959
* // privateIpAddress: "STRING_VALUE", // required
6060
* // publicIpAddress: "STRING_VALUE",
61+
* // ipv6Address: "STRING_VALUE",
6162
* // port: "STRING_VALUE", // required
6263
* // },
6364
* // ],

clients/client-pcs/src/models/models_0.ts

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -935,6 +935,20 @@ export interface UpdateComputeNodeGroupResponse {
935935
computeNodeGroup?: ComputeNodeGroup | undefined;
936936
}
937937

938+
/**
939+
* @public
940+
* @enum
941+
*/
942+
export const NetworkType = {
943+
IPV4: "IPV4",
944+
IPV6: "IPV6",
945+
} as const;
946+
947+
/**
948+
* @public
949+
*/
950+
export type NetworkType = (typeof NetworkType)[keyof typeof NetworkType];
951+
938952
/**
939953
* <p>The networking configuration for the cluster's control plane.</p>
940954
* @public
@@ -951,6 +965,12 @@ export interface NetworkingRequest {
951965
* @public
952966
*/
953967
securityGroupIds?: string[] | undefined;
968+
969+
/**
970+
* <p>The IP address version the cluster uses. The default is <code>IPV4</code>.</p>
971+
* @public
972+
*/
973+
networkType?: NetworkType | undefined;
954974
}
955975

956976
/**
@@ -1096,17 +1116,23 @@ export interface Endpoint {
10961116
type: EndpointType | undefined;
10971117

10981118
/**
1099-
* <p>The endpoint's private IP address.</p> <p>Example: <code>2.2.2.2</code> </p>
1119+
* <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>
11001120
* @public
11011121
*/
11021122
privateIpAddress: string | undefined;
11031123

11041124
/**
1105-
* <p>The endpoint's public IP address.</p> <p>Example: <code>1.1.1.1</code> </p>
1125+
* <p>The endpoint's public IP address.</p> <p>Example: <code>192.0.2.1</code> </p>
11061126
* @public
11071127
*/
11081128
publicIpAddress?: string | undefined;
11091129

1130+
/**
1131+
* <p>The endpoint's IPv6 address.</p> <p>Example: <code>2001:db8::1</code> </p>
1132+
* @public
1133+
*/
1134+
ipv6Address?: string | undefined;
1135+
11101136
/**
11111137
* <p>The endpoint's connection port number.</p> <p> Example: <code>1234</code> </p>
11121138
* @public
@@ -1126,10 +1152,16 @@ export interface Networking {
11261152
subnetIds?: string[] | undefined;
11271153

11281154
/**
1129-
* <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>
1155+
* <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>
11301156
* @public
11311157
*/
11321158
securityGroupIds?: string[] | undefined;
1159+
1160+
/**
1161+
* <p>The IP address version the cluster uses. The default is <code>IPV4</code>.</p>
1162+
* @public
1163+
*/
1164+
networkType?: NetworkType | undefined;
11331165
}
11341166

11351167
/**

codegen/sdk-codegen/aws-models/pcs.json

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2149,14 +2149,20 @@
21492149
"privateIpAddress": {
21502150
"target": "smithy.api#String",
21512151
"traits": {
2152-
"smithy.api#documentation": "<p>The endpoint's private IP address.</p> <p>Example: <code>2.2.2.2</code> </p>",
2152+
"smithy.api#documentation": "<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>",
21532153
"smithy.api#required": {}
21542154
}
21552155
},
21562156
"publicIpAddress": {
21572157
"target": "smithy.api#String",
21582158
"traits": {
2159-
"smithy.api#documentation": "<p>The endpoint's public IP address.</p> <p>Example: <code>1.1.1.1</code> </p>"
2159+
"smithy.api#documentation": "<p>The endpoint's public IP address.</p> <p>Example: <code>192.0.2.1</code> </p>"
2160+
}
2161+
},
2162+
"ipv6Address": {
2163+
"target": "smithy.api#String",
2164+
"traits": {
2165+
"smithy.api#documentation": "<p>The endpoint's IPv6 address.</p> <p>Example: <code>2001:db8::1</code> </p>"
21602166
}
21612167
},
21622168
"port": {
@@ -2902,6 +2908,23 @@
29022908
}
29032909
}
29042910
},
2911+
"com.amazonaws.pcs#NetworkType": {
2912+
"type": "enum",
2913+
"members": {
2914+
"IPV4": {
2915+
"target": "smithy.api#Unit",
2916+
"traits": {
2917+
"smithy.api#enumValue": "IPV4"
2918+
}
2919+
},
2920+
"IPV6": {
2921+
"target": "smithy.api#Unit",
2922+
"traits": {
2923+
"smithy.api#enumValue": "IPV6"
2924+
}
2925+
}
2926+
}
2927+
},
29052928
"com.amazonaws.pcs#Networking": {
29062929
"type": "structure",
29072930
"members": {
@@ -2914,7 +2937,13 @@
29142937
"securityGroupIds": {
29152938
"target": "com.amazonaws.pcs#SecurityGroupIdList",
29162939
"traits": {
2917-
"smithy.api#documentation": "<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>"
2940+
"smithy.api#documentation": "<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>"
2941+
}
2942+
},
2943+
"networkType": {
2944+
"target": "com.amazonaws.pcs#NetworkType",
2945+
"traits": {
2946+
"smithy.api#documentation": "<p>The IP address version the cluster uses. The default is <code>IPV4</code>.</p>"
29182947
}
29192948
}
29202949
},
@@ -2936,6 +2965,12 @@
29362965
"traits": {
29372966
"smithy.api#documentation": "<p>A list of security group IDs associated with the Elastic Network Interface (ENI) created in subnets.</p>"
29382967
}
2968+
},
2969+
"networkType": {
2970+
"target": "com.amazonaws.pcs#NetworkType",
2971+
"traits": {
2972+
"smithy.api#documentation": "<p>The IP address version the cluster uses. The default is <code>IPV4</code>.</p>"
2973+
}
29392974
}
29402975
},
29412976
"traits": {

0 commit comments

Comments
 (0)