@aws-sdk/client-ec2 3.448.0 → 3.450.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/README.md +9 -1
  2. package/dist-cjs/EC2.js +2 -0
  3. package/dist-cjs/commands/DescribeInstanceTopologyCommand.js +51 -0
  4. package/dist-cjs/commands/index.js +1 -0
  5. package/dist-cjs/models/models_1.js +1 -16
  6. package/dist-cjs/models/models_2.js +17 -2
  7. package/dist-cjs/models/models_6.js +1 -4
  8. package/dist-cjs/models/models_7.js +4 -1
  9. package/dist-cjs/pagination/DescribeInstanceTopologyPaginator.js +29 -0
  10. package/dist-cjs/pagination/index.js +1 -0
  11. package/dist-cjs/protocols/Aws_ec2.js +275 -20
  12. package/dist-es/EC2.js +2 -0
  13. package/dist-es/commands/DescribeInstanceTopologyCommand.js +47 -0
  14. package/dist-es/commands/index.js +1 -0
  15. package/dist-es/models/models_1.js +0 -15
  16. package/dist-es/models/models_2.js +15 -0
  17. package/dist-es/models/models_6.js +0 -3
  18. package/dist-es/models/models_7.js +3 -0
  19. package/dist-es/pagination/DescribeInstanceTopologyPaginator.js +25 -0
  20. package/dist-es/pagination/index.js +1 -0
  21. package/dist-es/protocols/Aws_ec2.js +253 -0
  22. package/dist-types/EC2.d.ts +7 -0
  23. package/dist-types/EC2Client.d.ts +3 -2
  24. package/dist-types/commands/CreateFleetCommand.d.ts +6 -6
  25. package/dist-types/commands/CreateLaunchTemplateCommand.d.ts +8 -2
  26. package/dist-types/commands/CreateLaunchTemplateVersionCommand.d.ts +16 -4
  27. package/dist-types/commands/CreatePlacementGroupCommand.d.ts +1 -2
  28. package/dist-types/commands/DeleteNetworkInterfaceCommand.d.ts +1 -1
  29. package/dist-types/commands/DeleteNetworkInterfacePermissionCommand.d.ts +1 -1
  30. package/dist-types/commands/DeletePlacementGroupCommand.d.ts +1 -1
  31. package/dist-types/commands/DeleteVpcPeeringConnectionCommand.d.ts +1 -1
  32. package/dist-types/commands/DescribeFastLaunchImagesCommand.d.ts +1 -1
  33. package/dist-types/commands/DescribeFleetsCommand.d.ts +6 -6
  34. package/dist-types/commands/DescribeInstanceEventNotificationAttributesCommand.d.ts +1 -1
  35. package/dist-types/commands/DescribeInstanceEventWindowsCommand.d.ts +1 -1
  36. package/dist-types/commands/DescribeInstanceTopologyCommand.d.ts +148 -0
  37. package/dist-types/commands/DescribeInstancesCommand.d.ts +6 -0
  38. package/dist-types/commands/DescribeLaunchTemplateVersionsCommand.d.ts +8 -2
  39. package/dist-types/commands/DescribeSpotFleetRequestsCommand.d.ts +10 -4
  40. package/dist-types/commands/DescribeSpotInstanceRequestsCommand.d.ts +6 -0
  41. package/dist-types/commands/DescribeTransitGatewayPolicyTablesCommand.d.ts +2 -1
  42. package/dist-types/commands/DescribeTransitGatewayRouteTableAnnouncementsCommand.d.ts +1 -1
  43. package/dist-types/commands/DescribeTransitGatewayRouteTablesCommand.d.ts +1 -1
  44. package/dist-types/commands/DescribeTransitGatewayVpcAttachmentsCommand.d.ts +1 -1
  45. package/dist-types/commands/DescribeTransitGatewaysCommand.d.ts +1 -1
  46. package/dist-types/commands/DisableFastLaunchCommand.d.ts +4 -4
  47. package/dist-types/commands/DisableImageCommand.d.ts +3 -3
  48. package/dist-types/commands/EnableFastLaunchCommand.d.ts +2 -2
  49. package/dist-types/commands/GetCoipPoolUsageCommand.d.ts +1 -0
  50. package/dist-types/commands/GetInstanceTypesFromInstanceRequirementsCommand.d.ts +2 -2
  51. package/dist-types/commands/GetLaunchTemplateDataCommand.d.ts +8 -2
  52. package/dist-types/commands/GetSpotPlacementScoresCommand.d.ts +4 -3
  53. package/dist-types/commands/GetSubnetCidrReservationsCommand.d.ts +1 -1
  54. package/dist-types/commands/GetTransitGatewayAttachmentPropagationsCommand.d.ts +1 -1
  55. package/dist-types/commands/GetTransitGatewayMulticastDomainAssociationsCommand.d.ts +1 -2
  56. package/dist-types/commands/ModifyFleetCommand.d.ts +2 -2
  57. package/dist-types/commands/ModifySpotFleetRequestCommand.d.ts +2 -2
  58. package/dist-types/commands/RequestSpotFleetCommand.d.ts +10 -4
  59. package/dist-types/commands/RequestSpotInstancesCommand.d.ts +12 -0
  60. package/dist-types/commands/ResetFpgaImageAttributeCommand.d.ts +1 -1
  61. package/dist-types/commands/ResetImageAttributeCommand.d.ts +1 -1
  62. package/dist-types/commands/ResetInstanceAttributeCommand.d.ts +1 -1
  63. package/dist-types/commands/ResetNetworkInterfaceAttributeCommand.d.ts +1 -1
  64. package/dist-types/commands/ResetSnapshotAttributeCommand.d.ts +1 -1
  65. package/dist-types/commands/RestoreAddressToClassicCommand.d.ts +1 -1
  66. package/dist-types/commands/RunInstancesCommand.d.ts +12 -0
  67. package/dist-types/commands/index.d.ts +1 -0
  68. package/dist-types/models/models_0.d.ts +10 -17
  69. package/dist-types/models/models_1.d.ts +118 -102
  70. package/dist-types/models/models_2.d.ts +100 -92
  71. package/dist-types/models/models_3.d.ts +93 -150
  72. package/dist-types/models/models_4.d.ts +303 -303
  73. package/dist-types/models/models_5.d.ts +343 -334
  74. package/dist-types/models/models_6.d.ts +308 -201
  75. package/dist-types/models/models_7.d.ts +173 -3
  76. package/dist-types/pagination/DescribeInstanceTopologyPaginator.d.ts +7 -0
  77. package/dist-types/pagination/index.d.ts +1 -0
  78. package/dist-types/protocols/Aws_ec2.d.ts +9 -0
  79. package/dist-types/ts3.4/EC2.d.ts +17 -0
  80. package/dist-types/ts3.4/EC2Client.d.ts +6 -0
  81. package/dist-types/ts3.4/commands/CreatePlacementGroupCommand.d.ts +4 -2
  82. package/dist-types/ts3.4/commands/DeleteNetworkInterfaceCommand.d.ts +1 -1
  83. package/dist-types/ts3.4/commands/DeleteNetworkInterfacePermissionCommand.d.ts +1 -1
  84. package/dist-types/ts3.4/commands/DeletePlacementGroupCommand.d.ts +1 -1
  85. package/dist-types/ts3.4/commands/DescribeInstanceEventNotificationAttributesCommand.d.ts +1 -1
  86. package/dist-types/ts3.4/commands/DescribeInstanceEventWindowsCommand.d.ts +1 -1
  87. package/dist-types/ts3.4/commands/DescribeInstanceTopologyCommand.d.ts +42 -0
  88. package/dist-types/ts3.4/commands/DescribeTransitGatewayPolicyTablesCommand.d.ts +2 -4
  89. package/dist-types/ts3.4/commands/DescribeTransitGatewayRouteTableAnnouncementsCommand.d.ts +1 -1
  90. package/dist-types/ts3.4/commands/DescribeTransitGatewayRouteTablesCommand.d.ts +1 -1
  91. package/dist-types/ts3.4/commands/DescribeTransitGatewayVpcAttachmentsCommand.d.ts +1 -1
  92. package/dist-types/ts3.4/commands/DescribeTransitGatewaysCommand.d.ts +1 -1
  93. package/dist-types/ts3.4/commands/GetSpotPlacementScoresCommand.d.ts +2 -4
  94. package/dist-types/ts3.4/commands/GetSubnetCidrReservationsCommand.d.ts +1 -1
  95. package/dist-types/ts3.4/commands/GetTransitGatewayAttachmentPropagationsCommand.d.ts +1 -1
  96. package/dist-types/ts3.4/commands/GetTransitGatewayMulticastDomainAssociationsCommand.d.ts +4 -2
  97. package/dist-types/ts3.4/commands/ResetFpgaImageAttributeCommand.d.ts +1 -1
  98. package/dist-types/ts3.4/commands/ResetImageAttributeCommand.d.ts +1 -1
  99. package/dist-types/ts3.4/commands/ResetInstanceAttributeCommand.d.ts +1 -1
  100. package/dist-types/ts3.4/commands/ResetNetworkInterfaceAttributeCommand.d.ts +1 -1
  101. package/dist-types/ts3.4/commands/ResetSnapshotAttributeCommand.d.ts +1 -1
  102. package/dist-types/ts3.4/commands/RestoreAddressToClassicCommand.d.ts +1 -1
  103. package/dist-types/ts3.4/commands/index.d.ts +1 -0
  104. package/dist-types/ts3.4/models/models_1.d.ts +16 -28
  105. package/dist-types/ts3.4/models/models_2.d.ts +28 -19
  106. package/dist-types/ts3.4/models/models_3.d.ts +16 -18
  107. package/dist-types/ts3.4/models/models_4.d.ts +49 -53
  108. package/dist-types/ts3.4/models/models_5.d.ts +54 -52
  109. package/dist-types/ts3.4/models/models_6.d.ts +52 -42
  110. package/dist-types/ts3.4/models/models_7.d.ts +49 -1
  111. package/dist-types/ts3.4/pagination/DescribeInstanceTopologyPaginator.d.ts +11 -0
  112. package/dist-types/ts3.4/pagination/index.d.ts +1 -0
  113. package/dist-types/ts3.4/protocols/Aws_ec2.d.ts +12 -0
  114. package/package.json +13 -13
package/dist-es/EC2.js CHANGED
@@ -268,6 +268,7 @@ import { DescribeInstanceEventNotificationAttributesCommand, } from "./commands/
268
268
  import { DescribeInstanceEventWindowsCommand, } from "./commands/DescribeInstanceEventWindowsCommand";
269
269
  import { DescribeInstancesCommand, } from "./commands/DescribeInstancesCommand";
270
270
  import { DescribeInstanceStatusCommand, } from "./commands/DescribeInstanceStatusCommand";
271
+ import { DescribeInstanceTopologyCommand, } from "./commands/DescribeInstanceTopologyCommand";
271
272
  import { DescribeInstanceTypeOfferingsCommand, } from "./commands/DescribeInstanceTypeOfferingsCommand";
272
273
  import { DescribeInstanceTypesCommand, } from "./commands/DescribeInstanceTypesCommand";
273
274
  import { DescribeInternetGatewaysCommand, } from "./commands/DescribeInternetGatewaysCommand";
@@ -875,6 +876,7 @@ const commands = {
875
876
  DescribeInstanceEventWindowsCommand,
876
877
  DescribeInstancesCommand,
877
878
  DescribeInstanceStatusCommand,
879
+ DescribeInstanceTopologyCommand,
878
880
  DescribeInstanceTypeOfferingsCommand,
879
881
  DescribeInstanceTypesCommand,
880
882
  DescribeInternetGatewaysCommand,
@@ -0,0 +1,47 @@
1
+ import { getEndpointPlugin } from "@smithy/middleware-endpoint";
2
+ import { getSerdePlugin } from "@smithy/middleware-serde";
3
+ import { Command as $Command } from "@smithy/smithy-client";
4
+ import { SMITHY_CONTEXT_KEY, } from "@smithy/types";
5
+ import { de_DescribeInstanceTopologyCommand, se_DescribeInstanceTopologyCommand } from "../protocols/Aws_ec2";
6
+ export { $Command };
7
+ export class DescribeInstanceTopologyCommand extends $Command {
8
+ static getEndpointParameterInstructions() {
9
+ return {
10
+ UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" },
11
+ Endpoint: { type: "builtInParams", name: "endpoint" },
12
+ Region: { type: "builtInParams", name: "region" },
13
+ UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
14
+ };
15
+ }
16
+ constructor(input) {
17
+ super();
18
+ this.input = input;
19
+ }
20
+ resolveMiddleware(clientStack, configuration, options) {
21
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
22
+ this.middlewareStack.use(getEndpointPlugin(configuration, DescribeInstanceTopologyCommand.getEndpointParameterInstructions()));
23
+ const stack = clientStack.concat(this.middlewareStack);
24
+ const { logger } = configuration;
25
+ const clientName = "EC2Client";
26
+ const commandName = "DescribeInstanceTopologyCommand";
27
+ const handlerExecutionContext = {
28
+ logger,
29
+ clientName,
30
+ commandName,
31
+ inputFilterSensitiveLog: (_) => _,
32
+ outputFilterSensitiveLog: (_) => _,
33
+ [SMITHY_CONTEXT_KEY]: {
34
+ service: "AmazonEC2",
35
+ operation: "DescribeInstanceTopology",
36
+ },
37
+ };
38
+ const { requestHandler } = configuration;
39
+ return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
40
+ }
41
+ serialize(input, context) {
42
+ return se_DescribeInstanceTopologyCommand(input, context);
43
+ }
44
+ deserialize(output, context) {
45
+ return de_DescribeInstanceTopologyCommand(output, context);
46
+ }
47
+ }
@@ -266,6 +266,7 @@ export * from "./DescribeInstanceCreditSpecificationsCommand";
266
266
  export * from "./DescribeInstanceEventNotificationAttributesCommand";
267
267
  export * from "./DescribeInstanceEventWindowsCommand";
268
268
  export * from "./DescribeInstanceStatusCommand";
269
+ export * from "./DescribeInstanceTopologyCommand";
269
270
  export * from "./DescribeInstanceTypeOfferingsCommand";
270
271
  export * from "./DescribeInstanceTypesCommand";
271
272
  export * from "./DescribeInstancesCommand";
@@ -387,21 +387,6 @@ export const NetworkInterfacePermissionStateCode = {
387
387
  revoked: "revoked",
388
388
  revoking: "revoking",
389
389
  };
390
- export const SpreadLevel = {
391
- host: "host",
392
- rack: "rack",
393
- };
394
- export const PlacementStrategy = {
395
- cluster: "cluster",
396
- partition: "partition",
397
- spread: "spread",
398
- };
399
- export const PlacementGroupState = {
400
- available: "available",
401
- deleted: "deleted",
402
- deleting: "deleting",
403
- pending: "pending",
404
- };
405
390
  export const KeyPairFilterSensitiveLog = (obj) => ({
406
391
  ...obj,
407
392
  ...(obj.KeyMaterial && { KeyMaterial: SENSITIVE_STRING }),
@@ -1,5 +1,20 @@
1
1
  import { SENSITIVE_STRING } from "@smithy/smithy-client";
2
2
  import { VerifiedAccessTrustProviderFilterSensitiveLog, } from "./models_0";
3
+ export const SpreadLevel = {
4
+ host: "host",
5
+ rack: "rack",
6
+ };
7
+ export const PlacementStrategy = {
8
+ cluster: "cluster",
9
+ partition: "partition",
10
+ spread: "spread",
11
+ };
12
+ export const PlacementGroupState = {
13
+ available: "available",
14
+ deleted: "deleted",
15
+ deleting: "deleting",
16
+ pending: "pending",
17
+ };
3
18
  export const ReplaceRootVolumeTaskState = {
4
19
  failed: "failed",
5
20
  failed_detached: "failed-detached",
@@ -61,9 +61,6 @@ export const ReportStatusType = {
61
61
  export const ResetFpgaImageAttributeName = {
62
62
  loadPermission: "loadPermission",
63
63
  };
64
- export const ResetImageAttributeName = {
65
- launchPermission: "launchPermission",
66
- };
67
64
  export const GetVpnConnectionDeviceSampleConfigurationResultFilterSensitiveLog = (obj) => ({
68
65
  ...obj,
69
66
  ...(obj.VpnConnectionDeviceSampleConfiguration && { VpnConnectionDeviceSampleConfiguration: SENSITIVE_STRING }),
@@ -1,4 +1,7 @@
1
1
  import { SENSITIVE_STRING } from "@smithy/smithy-client";
2
+ export const ResetImageAttributeName = {
3
+ launchPermission: "launchPermission",
4
+ };
2
5
  export const MembershipType = {
3
6
  igmp: "igmp",
4
7
  static: "static",
@@ -0,0 +1,25 @@
1
+ import { DescribeInstanceTopologyCommand, } from "../commands/DescribeInstanceTopologyCommand";
2
+ import { EC2Client } from "../EC2Client";
3
+ const makePagedClientRequest = async (client, input, ...args) => {
4
+ return await client.send(new DescribeInstanceTopologyCommand(input), ...args);
5
+ };
6
+ export async function* paginateDescribeInstanceTopology(config, input, ...additionalArguments) {
7
+ let token = config.startingToken || undefined;
8
+ let hasNext = true;
9
+ let page;
10
+ while (hasNext) {
11
+ input.NextToken = token;
12
+ input["MaxResults"] = config.pageSize;
13
+ if (config.client instanceof EC2Client) {
14
+ page = await makePagedClientRequest(config.client, input, ...additionalArguments);
15
+ }
16
+ else {
17
+ throw new Error("Invalid client, expected EC2 | EC2Client");
18
+ }
19
+ yield page;
20
+ const prevToken = token;
21
+ token = page.NextToken;
22
+ hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));
23
+ }
24
+ return undefined;
25
+ }
@@ -33,6 +33,7 @@ export * from "./DescribeInstanceConnectEndpointsPaginator";
33
33
  export * from "./DescribeInstanceCreditSpecificationsPaginator";
34
34
  export * from "./DescribeInstanceEventWindowsPaginator";
35
35
  export * from "./DescribeInstanceStatusPaginator";
36
+ export * from "./DescribeInstanceTopologyPaginator";
36
37
  export * from "./DescribeInstanceTypeOfferingsPaginator";
37
38
  export * from "./DescribeInstanceTypesPaginator";
38
39
  export * from "./DescribeInstancesPaginator";
@@ -2693,6 +2693,16 @@ export const se_DescribeInstanceStatusCommand = async (input, context) => {
2693
2693
  });
2694
2694
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
2695
2695
  };
2696
+ export const se_DescribeInstanceTopologyCommand = async (input, context) => {
2697
+ const headers = SHARED_HEADERS;
2698
+ let body;
2699
+ body = buildFormUrlencodedString({
2700
+ ...se_DescribeInstanceTopologyRequest(input, context),
2701
+ Action: "DescribeInstanceTopology",
2702
+ Version: "2016-11-15",
2703
+ });
2704
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
2705
+ };
2696
2706
  export const se_DescribeInstanceTypeOfferingsCommand = async (input, context) => {
2697
2707
  const headers = SHARED_HEADERS;
2698
2708
  let body;
@@ -12966,6 +12976,32 @@ const de_DescribeInstanceStatusCommandError = async (output, context) => {
12966
12976
  errorCode,
12967
12977
  });
12968
12978
  };
12979
+ export const de_DescribeInstanceTopologyCommand = async (output, context) => {
12980
+ if (output.statusCode >= 300) {
12981
+ return de_DescribeInstanceTopologyCommandError(output, context);
12982
+ }
12983
+ const data = await parseBody(output.body, context);
12984
+ let contents = {};
12985
+ contents = de_DescribeInstanceTopologyResult(data, context);
12986
+ const response = {
12987
+ $metadata: deserializeMetadata(output),
12988
+ ...contents,
12989
+ };
12990
+ return response;
12991
+ };
12992
+ const de_DescribeInstanceTopologyCommandError = async (output, context) => {
12993
+ const parsedOutput = {
12994
+ ...output,
12995
+ body: await parseErrorBody(output.body, context),
12996
+ };
12997
+ const errorCode = loadEc2ErrorCode(output, parsedOutput.body);
12998
+ const parsedBody = parsedOutput.body;
12999
+ return throwDefaultError({
13000
+ output,
13001
+ parsedBody: parsedBody.Errors.Error,
13002
+ errorCode,
13003
+ });
13004
+ };
12969
13005
  export const de_DescribeInstanceTypeOfferingsCommand = async (output, context) => {
12970
13006
  if (output.statusCode >= 300) {
12971
13007
  return de_DescribeInstanceTypeOfferingsCommandError(output, context);
@@ -29112,6 +29148,73 @@ const se_DescribeInstanceStatusRequest = (input, context) => {
29112
29148
  }
29113
29149
  return entries;
29114
29150
  };
29151
+ const se_DescribeInstanceTopologyGroupNameSet = (input, context) => {
29152
+ const entries = {};
29153
+ let counter = 1;
29154
+ for (const entry of input) {
29155
+ if (entry === null) {
29156
+ continue;
29157
+ }
29158
+ entries[`Member.${counter}`] = entry;
29159
+ counter++;
29160
+ }
29161
+ return entries;
29162
+ };
29163
+ const se_DescribeInstanceTopologyInstanceIdSet = (input, context) => {
29164
+ const entries = {};
29165
+ let counter = 1;
29166
+ for (const entry of input) {
29167
+ if (entry === null) {
29168
+ continue;
29169
+ }
29170
+ entries[`Member.${counter}`] = entry;
29171
+ counter++;
29172
+ }
29173
+ return entries;
29174
+ };
29175
+ const se_DescribeInstanceTopologyRequest = (input, context) => {
29176
+ const entries = {};
29177
+ if (input.DryRun != null) {
29178
+ entries["DryRun"] = input.DryRun;
29179
+ }
29180
+ if (input.NextToken != null) {
29181
+ entries["NextToken"] = input.NextToken;
29182
+ }
29183
+ if (input.MaxResults != null) {
29184
+ entries["MaxResults"] = input.MaxResults;
29185
+ }
29186
+ if (input.InstanceIds != null) {
29187
+ const memberEntries = se_DescribeInstanceTopologyInstanceIdSet(input.InstanceIds, context);
29188
+ if (input.InstanceIds?.length === 0) {
29189
+ entries.InstanceId = [];
29190
+ }
29191
+ Object.entries(memberEntries).forEach(([key, value]) => {
29192
+ const loc = `InstanceId.${key.substring(key.indexOf(".") + 1)}`;
29193
+ entries[loc] = value;
29194
+ });
29195
+ }
29196
+ if (input.GroupNames != null) {
29197
+ const memberEntries = se_DescribeInstanceTopologyGroupNameSet(input.GroupNames, context);
29198
+ if (input.GroupNames?.length === 0) {
29199
+ entries.GroupName = [];
29200
+ }
29201
+ Object.entries(memberEntries).forEach(([key, value]) => {
29202
+ const loc = `GroupName.${key.substring(key.indexOf(".") + 1)}`;
29203
+ entries[loc] = value;
29204
+ });
29205
+ }
29206
+ if (input.Filters != null) {
29207
+ const memberEntries = se_FilterList(input.Filters, context);
29208
+ if (input.Filters?.length === 0) {
29209
+ entries.Filter = [];
29210
+ }
29211
+ Object.entries(memberEntries).forEach(([key, value]) => {
29212
+ const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`;
29213
+ entries[loc] = value;
29214
+ });
29215
+ }
29216
+ return entries;
29217
+ };
29115
29218
  const se_DescribeInstanceTypeOfferingsRequest = (input, context) => {
29116
29219
  const entries = {};
29117
29220
  if (input.DryRun != null) {
@@ -33004,6 +33107,20 @@ const se_EnaSrdSpecification = (input, context) => {
33004
33107
  }
33005
33108
  return entries;
33006
33109
  };
33110
+ const se_EnaSrdSpecificationRequest = (input, context) => {
33111
+ const entries = {};
33112
+ if (input.EnaSrdEnabled != null) {
33113
+ entries["EnaSrdEnabled"] = input.EnaSrdEnabled;
33114
+ }
33115
+ if (input.EnaSrdUdpSpecification != null) {
33116
+ const memberEntries = se_EnaSrdUdpSpecificationRequest(input.EnaSrdUdpSpecification, context);
33117
+ Object.entries(memberEntries).forEach(([key, value]) => {
33118
+ const loc = `EnaSrdUdpSpecification.${key}`;
33119
+ entries[loc] = value;
33120
+ });
33121
+ }
33122
+ return entries;
33123
+ };
33007
33124
  const se_EnaSrdUdpSpecification = (input, context) => {
33008
33125
  const entries = {};
33009
33126
  if (input.EnaSrdUdpEnabled != null) {
@@ -33011,6 +33128,13 @@ const se_EnaSrdUdpSpecification = (input, context) => {
33011
33128
  }
33012
33129
  return entries;
33013
33130
  };
33131
+ const se_EnaSrdUdpSpecificationRequest = (input, context) => {
33132
+ const entries = {};
33133
+ if (input.EnaSrdUdpEnabled != null) {
33134
+ entries["EnaSrdUdpEnabled"] = input.EnaSrdUdpEnabled;
33135
+ }
33136
+ return entries;
33137
+ };
33014
33138
  const se_EnclaveOptionsRequest = (input, context) => {
33015
33139
  const entries = {};
33016
33140
  if (input.Enabled != null) {
@@ -35257,6 +35381,13 @@ const se_InstanceNetworkInterfaceSpecification = (input, context) => {
35257
35381
  if (input.PrimaryIpv6 != null) {
35258
35382
  entries["PrimaryIpv6"] = input.PrimaryIpv6;
35259
35383
  }
35384
+ if (input.EnaSrdSpecification != null) {
35385
+ const memberEntries = se_EnaSrdSpecificationRequest(input.EnaSrdSpecification, context);
35386
+ Object.entries(memberEntries).forEach(([key, value]) => {
35387
+ const loc = `EnaSrdSpecification.${key}`;
35388
+ entries[loc] = value;
35389
+ });
35390
+ }
35260
35391
  return entries;
35261
35392
  };
35262
35393
  const se_InstanceNetworkInterfaceSpecificationList = (input, context) => {
@@ -36367,6 +36498,13 @@ const se_LaunchTemplateInstanceNetworkInterfaceSpecificationRequest = (input, co
36367
36498
  if (input.PrimaryIpv6 != null) {
36368
36499
  entries["PrimaryIpv6"] = input.PrimaryIpv6;
36369
36500
  }
36501
+ if (input.EnaSrdSpecification != null) {
36502
+ const memberEntries = se_EnaSrdSpecificationRequest(input.EnaSrdSpecification, context);
36503
+ Object.entries(memberEntries).forEach(([key, value]) => {
36504
+ const loc = `EnaSrdSpecification.${key}`;
36505
+ entries[loc] = value;
36506
+ });
36507
+ }
36370
36508
  return entries;
36371
36509
  };
36372
36510
  const se_LaunchTemplateInstanceNetworkInterfaceSpecificationRequestList = (input, context) => {
@@ -48794,6 +48932,19 @@ const de_DescribeInstanceStatusResult = (output, context) => {
48794
48932
  }
48795
48933
  return contents;
48796
48934
  };
48935
+ const de_DescribeInstanceTopologyResult = (output, context) => {
48936
+ const contents = {};
48937
+ if (output.instanceSet === "") {
48938
+ contents.Instances = [];
48939
+ }
48940
+ else if (output["instanceSet"] !== undefined && output["instanceSet"]["item"] !== undefined) {
48941
+ contents.Instances = de_InstanceSet(__getArrayIfSingleItem(output["instanceSet"]["item"]), context);
48942
+ }
48943
+ if (output["nextToken"] !== undefined) {
48944
+ contents.NextToken = __expectString(output["nextToken"]);
48945
+ }
48946
+ return contents;
48947
+ };
48797
48948
  const de_DescribeInstanceTypeOfferingsResult = (output, context) => {
48798
48949
  const contents = {};
48799
48950
  if (output.instanceTypeOfferingSet === "") {
@@ -51072,6 +51223,23 @@ const de_EnableVpcClassicLinkResult = (output, context) => {
51072
51223
  }
51073
51224
  return contents;
51074
51225
  };
51226
+ const de_EnaSrdSpecificationRequest = (output, context) => {
51227
+ const contents = {};
51228
+ if (output["EnaSrdEnabled"] !== undefined) {
51229
+ contents.EnaSrdEnabled = __parseBoolean(output["EnaSrdEnabled"]);
51230
+ }
51231
+ if (output["EnaSrdUdpSpecification"] !== undefined) {
51232
+ contents.EnaSrdUdpSpecification = de_EnaSrdUdpSpecificationRequest(output["EnaSrdUdpSpecification"], context);
51233
+ }
51234
+ return contents;
51235
+ };
51236
+ const de_EnaSrdUdpSpecificationRequest = (output, context) => {
51237
+ const contents = {};
51238
+ if (output["EnaSrdUdpEnabled"] !== undefined) {
51239
+ contents.EnaSrdUdpEnabled = __parseBoolean(output["EnaSrdUdpEnabled"]);
51240
+ }
51241
+ return contents;
51242
+ };
51075
51243
  const de_EnclaveOptions = (output, context) => {
51076
51244
  const contents = {};
51077
51245
  if (output["enabled"] !== undefined) {
@@ -52126,6 +52294,9 @@ const de_GetCoipPoolUsageResult = (output, context) => {
52126
52294
  if (output["localGatewayRouteTableId"] !== undefined) {
52127
52295
  contents.LocalGatewayRouteTableId = __expectString(output["localGatewayRouteTableId"]);
52128
52296
  }
52297
+ if (output["nextToken"] !== undefined) {
52298
+ contents.NextToken = __expectString(output["nextToken"]);
52299
+ }
52129
52300
  return contents;
52130
52301
  };
52131
52302
  const de_GetConsoleOutputResult = (output, context) => {
@@ -53815,6 +53986,23 @@ const de_Instance = (output, context) => {
53815
53986
  }
53816
53987
  return contents;
53817
53988
  };
53989
+ const de_InstanceAttachmentEnaSrdSpecification = (output, context) => {
53990
+ const contents = {};
53991
+ if (output["enaSrdEnabled"] !== undefined) {
53992
+ contents.EnaSrdEnabled = __parseBoolean(output["enaSrdEnabled"]);
53993
+ }
53994
+ if (output["enaSrdUdpSpecification"] !== undefined) {
53995
+ contents.EnaSrdUdpSpecification = de_InstanceAttachmentEnaSrdUdpSpecification(output["enaSrdUdpSpecification"], context);
53996
+ }
53997
+ return contents;
53998
+ };
53999
+ const de_InstanceAttachmentEnaSrdUdpSpecification = (output, context) => {
54000
+ const contents = {};
54001
+ if (output["enaSrdUdpEnabled"] !== undefined) {
54002
+ contents.EnaSrdUdpEnabled = __parseBoolean(output["enaSrdUdpEnabled"]);
54003
+ }
54004
+ return contents;
54005
+ };
53818
54006
  const de_InstanceAttribute = (output, context) => {
53819
54007
  const contents = {};
53820
54008
  if (output.groupSet === "") {
@@ -54301,6 +54489,9 @@ const de_InstanceNetworkInterfaceAttachment = (output, context) => {
54301
54489
  if (output["networkCardIndex"] !== undefined) {
54302
54490
  contents.NetworkCardIndex = __strictParseInt32(output["networkCardIndex"]);
54303
54491
  }
54492
+ if (output["enaSrdSpecification"] !== undefined) {
54493
+ contents.EnaSrdSpecification = de_InstanceAttachmentEnaSrdSpecification(output["enaSrdSpecification"], context);
54494
+ }
54304
54495
  return contents;
54305
54496
  };
54306
54497
  const de_InstanceNetworkInterfaceList = (output, context) => {
@@ -54387,6 +54578,9 @@ const de_InstanceNetworkInterfaceSpecification = (output, context) => {
54387
54578
  if (output["PrimaryIpv6"] !== undefined) {
54388
54579
  contents.PrimaryIpv6 = __parseBoolean(output["PrimaryIpv6"]);
54389
54580
  }
54581
+ if (output["EnaSrdSpecification"] !== undefined) {
54582
+ contents.EnaSrdSpecification = de_EnaSrdSpecificationRequest(output["EnaSrdSpecification"], context);
54583
+ }
54390
54584
  return contents;
54391
54585
  };
54392
54586
  const de_InstanceNetworkInterfaceSpecificationList = (output, context) => {
@@ -54518,6 +54712,13 @@ const de_InstanceRequirements = (output, context) => {
54518
54712
  }
54519
54713
  return contents;
54520
54714
  };
54715
+ const de_InstanceSet = (output, context) => {
54716
+ return (output || [])
54717
+ .filter((e) => e != null)
54718
+ .map((entry) => {
54719
+ return de_InstanceTopology(entry, context);
54720
+ });
54721
+ };
54521
54722
  const de_InstanceState = (output, context) => {
54522
54723
  const contents = {};
54523
54724
  if (output["code"] !== undefined) {
@@ -54684,6 +54885,31 @@ const de_InstanceTagNotificationAttribute = (output, context) => {
54684
54885
  }
54685
54886
  return contents;
54686
54887
  };
54888
+ const de_InstanceTopology = (output, context) => {
54889
+ const contents = {};
54890
+ if (output["instanceId"] !== undefined) {
54891
+ contents.InstanceId = __expectString(output["instanceId"]);
54892
+ }
54893
+ if (output["instanceType"] !== undefined) {
54894
+ contents.InstanceType = __expectString(output["instanceType"]);
54895
+ }
54896
+ if (output["groupName"] !== undefined) {
54897
+ contents.GroupName = __expectString(output["groupName"]);
54898
+ }
54899
+ if (output.networkNodeSet === "") {
54900
+ contents.NetworkNodes = [];
54901
+ }
54902
+ else if (output["networkNodeSet"] !== undefined && output["networkNodeSet"]["item"] !== undefined) {
54903
+ contents.NetworkNodes = de_NetworkNodesList(__getArrayIfSingleItem(output["networkNodeSet"]["item"]), context);
54904
+ }
54905
+ if (output["availabilityZone"] !== undefined) {
54906
+ contents.AvailabilityZone = __expectString(output["availabilityZone"]);
54907
+ }
54908
+ if (output["zoneId"] !== undefined) {
54909
+ contents.ZoneId = __expectString(output["zoneId"]);
54910
+ }
54911
+ return contents;
54912
+ };
54687
54913
  const de_InstanceTypeInfo = (output, context) => {
54688
54914
  const contents = {};
54689
54915
  if (output["instanceType"] !== undefined) {
@@ -56014,6 +56240,23 @@ const de_LaunchTemplateElasticInferenceAcceleratorResponseList = (output, contex
56014
56240
  return de_LaunchTemplateElasticInferenceAcceleratorResponse(entry, context);
56015
56241
  });
56016
56242
  };
56243
+ const de_LaunchTemplateEnaSrdSpecification = (output, context) => {
56244
+ const contents = {};
56245
+ if (output["enaSrdEnabled"] !== undefined) {
56246
+ contents.EnaSrdEnabled = __parseBoolean(output["enaSrdEnabled"]);
56247
+ }
56248
+ if (output["enaSrdUdpSpecification"] !== undefined) {
56249
+ contents.EnaSrdUdpSpecification = de_LaunchTemplateEnaSrdUdpSpecification(output["enaSrdUdpSpecification"], context);
56250
+ }
56251
+ return contents;
56252
+ };
56253
+ const de_LaunchTemplateEnaSrdUdpSpecification = (output, context) => {
56254
+ const contents = {};
56255
+ if (output["enaSrdUdpEnabled"] !== undefined) {
56256
+ contents.EnaSrdUdpEnabled = __parseBoolean(output["enaSrdUdpEnabled"]);
56257
+ }
56258
+ return contents;
56259
+ };
56017
56260
  const de_LaunchTemplateEnclaveOptions = (output, context) => {
56018
56261
  const contents = {};
56019
56262
  if (output["enabled"] !== undefined) {
@@ -56154,6 +56397,9 @@ const de_LaunchTemplateInstanceNetworkInterfaceSpecification = (output, context)
56154
56397
  if (output["primaryIpv6"] !== undefined) {
56155
56398
  contents.PrimaryIpv6 = __parseBoolean(output["primaryIpv6"]);
56156
56399
  }
56400
+ if (output["enaSrdSpecification"] !== undefined) {
56401
+ contents.EnaSrdSpecification = de_LaunchTemplateEnaSrdSpecification(output["enaSrdSpecification"], context);
56402
+ }
56157
56403
  return contents;
56158
56404
  };
56159
56405
  const de_LaunchTemplateInstanceNetworkInterfaceSpecificationList = (output, context) => {
@@ -58039,6 +58285,13 @@ const de_NetworkInterfacePrivateIpAddressList = (output, context) => {
58039
58285
  return de_NetworkInterfacePrivateIpAddress(entry, context);
58040
58286
  });
58041
58287
  };
58288
+ const de_NetworkNodesList = (output, context) => {
58289
+ return (output || [])
58290
+ .filter((e) => e != null)
58291
+ .map((entry) => {
58292
+ return __expectString(entry);
58293
+ });
58294
+ };
58042
58295
  const de_NitroTpmInfo = (output, context) => {
58043
58296
  const contents = {};
58044
58297
  if (output.supportedVersions === "") {
@@ -268,6 +268,7 @@ import { DescribeInstanceEventNotificationAttributesCommandInput, DescribeInstan
268
268
  import { DescribeInstanceEventWindowsCommandInput, DescribeInstanceEventWindowsCommandOutput } from "./commands/DescribeInstanceEventWindowsCommand";
269
269
  import { DescribeInstancesCommandInput, DescribeInstancesCommandOutput } from "./commands/DescribeInstancesCommand";
270
270
  import { DescribeInstanceStatusCommandInput, DescribeInstanceStatusCommandOutput } from "./commands/DescribeInstanceStatusCommand";
271
+ import { DescribeInstanceTopologyCommandInput, DescribeInstanceTopologyCommandOutput } from "./commands/DescribeInstanceTopologyCommand";
271
272
  import { DescribeInstanceTypeOfferingsCommandInput, DescribeInstanceTypeOfferingsCommandOutput } from "./commands/DescribeInstanceTypeOfferingsCommand";
272
273
  import { DescribeInstanceTypesCommandInput, DescribeInstanceTypesCommandOutput } from "./commands/DescribeInstanceTypesCommand";
273
274
  import { DescribeInternetGatewaysCommandInput, DescribeInternetGatewaysCommandOutput } from "./commands/DescribeInternetGatewaysCommand";
@@ -2220,6 +2221,12 @@ export interface EC2 {
2220
2221
  describeInstanceStatus(args: DescribeInstanceStatusCommandInput, options?: __HttpHandlerOptions): Promise<DescribeInstanceStatusCommandOutput>;
2221
2222
  describeInstanceStatus(args: DescribeInstanceStatusCommandInput, cb: (err: any, data?: DescribeInstanceStatusCommandOutput) => void): void;
2222
2223
  describeInstanceStatus(args: DescribeInstanceStatusCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DescribeInstanceStatusCommandOutput) => void): void;
2224
+ /**
2225
+ * @see {@link DescribeInstanceTopologyCommand}
2226
+ */
2227
+ describeInstanceTopology(args: DescribeInstanceTopologyCommandInput, options?: __HttpHandlerOptions): Promise<DescribeInstanceTopologyCommandOutput>;
2228
+ describeInstanceTopology(args: DescribeInstanceTopologyCommandInput, cb: (err: any, data?: DescribeInstanceTopologyCommandOutput) => void): void;
2229
+ describeInstanceTopology(args: DescribeInstanceTopologyCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DescribeInstanceTopologyCommandOutput) => void): void;
2223
2230
  /**
2224
2231
  * @see {@link DescribeInstanceTypeOfferingsCommand}
2225
2232
  */