@aws-sdk/client-ec2 3.259.0 → 3.262.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 (127) hide show
  1. package/dist-cjs/EC2.js +60 -0
  2. package/dist-cjs/commands/AssignPrivateNatGatewayAddressCommand.js +46 -0
  3. package/dist-cjs/commands/AssociateNatGatewayAddressCommand.js +46 -0
  4. package/dist-cjs/commands/CreateClientVpnEndpointCommand.js +3 -3
  5. package/dist-cjs/commands/CreateClientVpnRouteCommand.js +1 -2
  6. package/dist-cjs/commands/DeleteTrafficMirrorTargetCommand.js +3 -3
  7. package/dist-cjs/commands/DeleteTransitGatewayCommand.js +3 -3
  8. package/dist-cjs/commands/DeleteTransitGatewayConnectCommand.js +1 -2
  9. package/dist-cjs/commands/DescribeInstanceStatusCommand.js +1 -2
  10. package/dist-cjs/commands/DescribeInstancesCommand.js +2 -1
  11. package/dist-cjs/commands/DescribeVolumeStatusCommand.js +2 -1
  12. package/dist-cjs/commands/DisassociateNatGatewayAddressCommand.js +46 -0
  13. package/dist-cjs/commands/ModifyAvailabilityZoneGroupCommand.js +3 -3
  14. package/dist-cjs/commands/ModifyCapacityReservationCommand.js +3 -3
  15. package/dist-cjs/commands/ModifyCapacityReservationFleetCommand.js +3 -3
  16. package/dist-cjs/commands/RunInstancesCommand.js +2 -2
  17. package/dist-cjs/commands/UnassignIpv6AddressesCommand.js +2 -1
  18. package/dist-cjs/commands/UnassignPrivateIpAddressesCommand.js +2 -2
  19. package/dist-cjs/commands/UnassignPrivateNatGatewayAddressCommand.js +46 -0
  20. package/dist-cjs/commands/UnmonitorInstancesCommand.js +3 -3
  21. package/dist-cjs/commands/UpdateSecurityGroupRuleDescriptionsEgressCommand.js +3 -3
  22. package/dist-cjs/commands/index.js +4 -0
  23. package/dist-cjs/models/models_0.js +37 -34
  24. package/dist-cjs/models/models_1.js +34 -33
  25. package/dist-cjs/models/models_2.js +29 -26
  26. package/dist-cjs/models/models_3.js +26 -30
  27. package/dist-cjs/models/models_4.js +30 -30
  28. package/dist-cjs/models/models_5.js +38 -34
  29. package/dist-cjs/models/models_6.js +34 -34
  30. package/dist-cjs/models/models_7.js +37 -1
  31. package/dist-cjs/protocols/Aws_ec2.js +565 -162
  32. package/dist-es/EC2.js +60 -0
  33. package/dist-es/commands/AssignPrivateNatGatewayAddressCommand.js +42 -0
  34. package/dist-es/commands/AssociateNatGatewayAddressCommand.js +42 -0
  35. package/dist-es/commands/CreateClientVpnEndpointCommand.js +1 -1
  36. package/dist-es/commands/CreateClientVpnRouteCommand.js +1 -2
  37. package/dist-es/commands/DeleteTrafficMirrorTargetCommand.js +1 -1
  38. package/dist-es/commands/DeleteTransitGatewayCommand.js +1 -1
  39. package/dist-es/commands/DeleteTransitGatewayConnectCommand.js +1 -2
  40. package/dist-es/commands/DescribeInstanceStatusCommand.js +1 -2
  41. package/dist-es/commands/DescribeInstancesCommand.js +2 -1
  42. package/dist-es/commands/DescribeVolumeStatusCommand.js +2 -1
  43. package/dist-es/commands/DisassociateNatGatewayAddressCommand.js +42 -0
  44. package/dist-es/commands/ModifyAvailabilityZoneGroupCommand.js +1 -1
  45. package/dist-es/commands/ModifyCapacityReservationCommand.js +1 -1
  46. package/dist-es/commands/ModifyCapacityReservationFleetCommand.js +1 -1
  47. package/dist-es/commands/RunInstancesCommand.js +1 -1
  48. package/dist-es/commands/UnassignIpv6AddressesCommand.js +2 -1
  49. package/dist-es/commands/UnassignPrivateIpAddressesCommand.js +1 -1
  50. package/dist-es/commands/UnassignPrivateNatGatewayAddressCommand.js +42 -0
  51. package/dist-es/commands/UnmonitorInstancesCommand.js +1 -1
  52. package/dist-es/commands/UpdateSecurityGroupRuleDescriptionsEgressCommand.js +1 -1
  53. package/dist-es/commands/index.js +4 -0
  54. package/dist-es/models/models_0.js +26 -24
  55. package/dist-es/models/models_1.js +24 -23
  56. package/dist-es/models/models_2.js +20 -15
  57. package/dist-es/models/models_3.js +15 -20
  58. package/dist-es/models/models_4.js +20 -21
  59. package/dist-es/models/models_5.js +27 -21
  60. package/dist-es/models/models_6.js +21 -21
  61. package/dist-es/models/models_7.js +27 -0
  62. package/dist-es/protocols/Aws_ec2.js +534 -139
  63. package/dist-types/EC2.d.ts +43 -0
  64. package/dist-types/EC2Client.d.ts +6 -2
  65. package/dist-types/commands/AssignPrivateNatGatewayAddressCommand.d.ts +37 -0
  66. package/dist-types/commands/AssociateNatGatewayAddressCommand.d.ts +38 -0
  67. package/dist-types/commands/CreateClientVpnEndpointCommand.d.ts +1 -1
  68. package/dist-types/commands/CreateClientVpnRouteCommand.d.ts +1 -2
  69. package/dist-types/commands/DeleteTrafficMirrorTargetCommand.d.ts +1 -1
  70. package/dist-types/commands/DeleteTransitGatewayCommand.d.ts +1 -1
  71. package/dist-types/commands/DeleteTransitGatewayConnectCommand.d.ts +1 -2
  72. package/dist-types/commands/DescribeInstanceStatusCommand.d.ts +1 -2
  73. package/dist-types/commands/DescribeInstancesCommand.d.ts +2 -1
  74. package/dist-types/commands/DescribeVolumeStatusCommand.d.ts +2 -1
  75. package/dist-types/commands/DisassociateNatGatewayAddressCommand.d.ts +43 -0
  76. package/dist-types/commands/ModifyAvailabilityZoneGroupCommand.d.ts +1 -1
  77. package/dist-types/commands/ModifyCapacityReservationCommand.d.ts +1 -1
  78. package/dist-types/commands/ModifyCapacityReservationFleetCommand.d.ts +1 -1
  79. package/dist-types/commands/RunInstancesCommand.d.ts +1 -1
  80. package/dist-types/commands/UnassignIpv6AddressesCommand.d.ts +2 -1
  81. package/dist-types/commands/UnassignPrivateIpAddressesCommand.d.ts +1 -1
  82. package/dist-types/commands/UnassignPrivateNatGatewayAddressCommand.d.ts +45 -0
  83. package/dist-types/commands/UnmonitorInstancesCommand.d.ts +1 -1
  84. package/dist-types/commands/UpdateSecurityGroupRuleDescriptionsEgressCommand.d.ts +1 -1
  85. package/dist-types/commands/index.d.ts +4 -0
  86. package/dist-types/models/models_0.d.ts +125 -226
  87. package/dist-types/models/models_1.d.ts +242 -164
  88. package/dist-types/models/models_2.d.ts +159 -72
  89. package/dist-types/models/models_3.d.ts +67 -205
  90. package/dist-types/models/models_4.d.ts +205 -78
  91. package/dist-types/models/models_5.d.ts +117 -170
  92. package/dist-types/models/models_6.d.ts +182 -128
  93. package/dist-types/models/models_7.d.ts +167 -2
  94. package/dist-types/protocols/Aws_ec2.d.ts +12 -0
  95. package/dist-types/ts3.4/EC2.d.ts +68 -0
  96. package/dist-types/ts3.4/EC2Client.d.ts +24 -0
  97. package/dist-types/ts3.4/commands/AssignPrivateNatGatewayAddressCommand.d.ts +41 -0
  98. package/dist-types/ts3.4/commands/AssociateNatGatewayAddressCommand.d.ts +41 -0
  99. package/dist-types/ts3.4/commands/CreateClientVpnEndpointCommand.d.ts +1 -1
  100. package/dist-types/ts3.4/commands/CreateClientVpnRouteCommand.d.ts +4 -2
  101. package/dist-types/ts3.4/commands/DeleteTrafficMirrorTargetCommand.d.ts +1 -1
  102. package/dist-types/ts3.4/commands/DeleteTransitGatewayCommand.d.ts +1 -1
  103. package/dist-types/ts3.4/commands/DeleteTransitGatewayConnectCommand.d.ts +4 -2
  104. package/dist-types/ts3.4/commands/DescribeInstanceStatusCommand.d.ts +4 -2
  105. package/dist-types/ts3.4/commands/DescribeInstancesCommand.d.ts +2 -4
  106. package/dist-types/ts3.4/commands/DescribeVolumeStatusCommand.d.ts +2 -4
  107. package/dist-types/ts3.4/commands/DisassociateNatGatewayAddressCommand.d.ts +41 -0
  108. package/dist-types/ts3.4/commands/ModifyAvailabilityZoneGroupCommand.d.ts +1 -1
  109. package/dist-types/ts3.4/commands/ModifyCapacityReservationCommand.d.ts +1 -1
  110. package/dist-types/ts3.4/commands/ModifyCapacityReservationFleetCommand.d.ts +1 -1
  111. package/dist-types/ts3.4/commands/RunInstancesCommand.d.ts +1 -1
  112. package/dist-types/ts3.4/commands/UnassignIpv6AddressesCommand.d.ts +2 -4
  113. package/dist-types/ts3.4/commands/UnassignPrivateIpAddressesCommand.d.ts +1 -1
  114. package/dist-types/ts3.4/commands/UnassignPrivateNatGatewayAddressCommand.d.ts +41 -0
  115. package/dist-types/ts3.4/commands/UnmonitorInstancesCommand.d.ts +1 -1
  116. package/dist-types/ts3.4/commands/UpdateSecurityGroupRuleDescriptionsEgressCommand.d.ts +1 -1
  117. package/dist-types/ts3.4/commands/index.d.ts +4 -0
  118. package/dist-types/ts3.4/models/models_0.d.ts +53 -59
  119. package/dist-types/ts3.4/models/models_1.d.ts +71 -54
  120. package/dist-types/ts3.4/models/models_2.d.ts +49 -37
  121. package/dist-types/ts3.4/models/models_3.d.ts +36 -46
  122. package/dist-types/ts3.4/models/models_4.d.ts +46 -38
  123. package/dist-types/ts3.4/models/models_5.d.ts +61 -57
  124. package/dist-types/ts3.4/models/models_6.d.ts +60 -55
  125. package/dist-types/ts3.4/models/models_7.d.ts +70 -2
  126. package/dist-types/ts3.4/protocols/Aws_ec2.d.ts +48 -0
  127. package/package.json +6 -6
@@ -1,5 +1,5 @@
1
1
  import { HttpRequest as __HttpRequest } from "@aws-sdk/protocol-http";
2
- import { expectNonNull as __expectNonNull, expectString as __expectString, extendedEncodeURIComponent as __extendedEncodeURIComponent, getArrayIfSingleItem as __getArrayIfSingleItem, getValueFromTextNode as __getValueFromTextNode, parseBoolean as __parseBoolean, parseRfc3339DateTime as __parseRfc3339DateTime, serializeFloat as __serializeFloat, strictParseFloat as __strictParseFloat, strictParseInt32 as __strictParseInt32, strictParseLong as __strictParseLong, throwDefaultError, } from "@aws-sdk/smithy-client";
2
+ import { expectNonNull as __expectNonNull, expectString as __expectString, extendedEncodeURIComponent as __extendedEncodeURIComponent, getArrayIfSingleItem as __getArrayIfSingleItem, getValueFromTextNode as __getValueFromTextNode, parseBoolean as __parseBoolean, parseRfc3339DateTimeWithOffset as __parseRfc3339DateTimeWithOffset, serializeFloat as __serializeFloat, strictParseFloat as __strictParseFloat, strictParseInt32 as __strictParseInt32, strictParseLong as __strictParseLong, throwDefaultError, } from "@aws-sdk/smithy-client";
3
3
  import { XMLParser } from "fast-xml-parser";
4
4
  import { v4 as generateIdempotencyToken } from "uuid";
5
5
  import { EC2ServiceException as __BaseException } from "../models/EC2ServiceException";
@@ -171,6 +171,18 @@ export const serializeAws_ec2AssignPrivateIpAddressesCommand = async (input, con
171
171
  });
172
172
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
173
173
  };
174
+ export const serializeAws_ec2AssignPrivateNatGatewayAddressCommand = async (input, context) => {
175
+ const headers = {
176
+ "content-type": "application/x-www-form-urlencoded",
177
+ };
178
+ let body;
179
+ body = buildFormUrlencodedString({
180
+ ...serializeAws_ec2AssignPrivateNatGatewayAddressRequest(input, context),
181
+ Action: "AssignPrivateNatGatewayAddress",
182
+ Version: "2016-11-15",
183
+ });
184
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
185
+ };
174
186
  export const serializeAws_ec2AssociateAddressCommand = async (input, context) => {
175
187
  const headers = {
176
188
  "content-type": "application/x-www-form-urlencoded",
@@ -255,6 +267,18 @@ export const serializeAws_ec2AssociateIpamResourceDiscoveryCommand = async (inpu
255
267
  });
256
268
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
257
269
  };
270
+ export const serializeAws_ec2AssociateNatGatewayAddressCommand = async (input, context) => {
271
+ const headers = {
272
+ "content-type": "application/x-www-form-urlencoded",
273
+ };
274
+ let body;
275
+ body = buildFormUrlencodedString({
276
+ ...serializeAws_ec2AssociateNatGatewayAddressRequest(input, context),
277
+ Action: "AssociateNatGatewayAddress",
278
+ Version: "2016-11-15",
279
+ });
280
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
281
+ };
258
282
  export const serializeAws_ec2AssociateRouteTableCommand = async (input, context) => {
259
283
  const headers = {
260
284
  "content-type": "application/x-www-form-urlencoded",
@@ -4575,6 +4599,18 @@ export const serializeAws_ec2DisassociateIpamResourceDiscoveryCommand = async (i
4575
4599
  });
4576
4600
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
4577
4601
  };
4602
+ export const serializeAws_ec2DisassociateNatGatewayAddressCommand = async (input, context) => {
4603
+ const headers = {
4604
+ "content-type": "application/x-www-form-urlencoded",
4605
+ };
4606
+ let body;
4607
+ body = buildFormUrlencodedString({
4608
+ ...serializeAws_ec2DisassociateNatGatewayAddressRequest(input, context),
4609
+ Action: "DisassociateNatGatewayAddress",
4610
+ Version: "2016-11-15",
4611
+ });
4612
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
4613
+ };
4578
4614
  export const serializeAws_ec2DisassociateRouteTableCommand = async (input, context) => {
4579
4615
  const headers = {
4580
4616
  "content-type": "application/x-www-form-urlencoded",
@@ -6975,6 +7011,18 @@ export const serializeAws_ec2UnassignPrivateIpAddressesCommand = async (input, c
6975
7011
  });
6976
7012
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
6977
7013
  };
7014
+ export const serializeAws_ec2UnassignPrivateNatGatewayAddressCommand = async (input, context) => {
7015
+ const headers = {
7016
+ "content-type": "application/x-www-form-urlencoded",
7017
+ };
7018
+ let body;
7019
+ body = buildFormUrlencodedString({
7020
+ ...serializeAws_ec2UnassignPrivateNatGatewayAddressRequest(input, context),
7021
+ Action: "UnassignPrivateNatGatewayAddress",
7022
+ Version: "2016-11-15",
7023
+ });
7024
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
7025
+ };
6978
7026
  export const serializeAws_ec2UnmonitorInstancesCommand = async (input, context) => {
6979
7027
  const headers = {
6980
7028
  "content-type": "application/x-www-form-urlencoded",
@@ -7401,6 +7449,33 @@ const deserializeAws_ec2AssignPrivateIpAddressesCommandError = async (output, co
7401
7449
  errorCode,
7402
7450
  });
7403
7451
  };
7452
+ export const deserializeAws_ec2AssignPrivateNatGatewayAddressCommand = async (output, context) => {
7453
+ if (output.statusCode >= 300) {
7454
+ return deserializeAws_ec2AssignPrivateNatGatewayAddressCommandError(output, context);
7455
+ }
7456
+ const data = await parseBody(output.body, context);
7457
+ let contents = {};
7458
+ contents = deserializeAws_ec2AssignPrivateNatGatewayAddressResult(data, context);
7459
+ const response = {
7460
+ $metadata: deserializeMetadata(output),
7461
+ ...contents,
7462
+ };
7463
+ return Promise.resolve(response);
7464
+ };
7465
+ const deserializeAws_ec2AssignPrivateNatGatewayAddressCommandError = async (output, context) => {
7466
+ const parsedOutput = {
7467
+ ...output,
7468
+ body: await parseErrorBody(output.body, context),
7469
+ };
7470
+ const errorCode = loadEc2ErrorCode(output, parsedOutput.body);
7471
+ const parsedBody = parsedOutput.body;
7472
+ throwDefaultError({
7473
+ output,
7474
+ parsedBody: parsedBody.Errors.Error,
7475
+ exceptionCtor: __BaseException,
7476
+ errorCode,
7477
+ });
7478
+ };
7404
7479
  export const deserializeAws_ec2AssociateAddressCommand = async (output, context) => {
7405
7480
  if (output.statusCode >= 300) {
7406
7481
  return deserializeAws_ec2AssociateAddressCommandError(output, context);
@@ -7587,6 +7662,33 @@ const deserializeAws_ec2AssociateIpamResourceDiscoveryCommandError = async (outp
7587
7662
  errorCode,
7588
7663
  });
7589
7664
  };
7665
+ export const deserializeAws_ec2AssociateNatGatewayAddressCommand = async (output, context) => {
7666
+ if (output.statusCode >= 300) {
7667
+ return deserializeAws_ec2AssociateNatGatewayAddressCommandError(output, context);
7668
+ }
7669
+ const data = await parseBody(output.body, context);
7670
+ let contents = {};
7671
+ contents = deserializeAws_ec2AssociateNatGatewayAddressResult(data, context);
7672
+ const response = {
7673
+ $metadata: deserializeMetadata(output),
7674
+ ...contents,
7675
+ };
7676
+ return Promise.resolve(response);
7677
+ };
7678
+ const deserializeAws_ec2AssociateNatGatewayAddressCommandError = async (output, context) => {
7679
+ const parsedOutput = {
7680
+ ...output,
7681
+ body: await parseErrorBody(output.body, context),
7682
+ };
7683
+ const errorCode = loadEc2ErrorCode(output, parsedOutput.body);
7684
+ const parsedBody = parsedOutput.body;
7685
+ throwDefaultError({
7686
+ output,
7687
+ parsedBody: parsedBody.Errors.Error,
7688
+ exceptionCtor: __BaseException,
7689
+ errorCode,
7690
+ });
7691
+ };
7590
7692
  export const deserializeAws_ec2AssociateRouteTableCommand = async (output, context) => {
7591
7693
  if (output.statusCode >= 300) {
7592
7694
  return deserializeAws_ec2AssociateRouteTableCommandError(output, context);
@@ -17211,6 +17313,33 @@ const deserializeAws_ec2DisassociateIpamResourceDiscoveryCommandError = async (o
17211
17313
  errorCode,
17212
17314
  });
17213
17315
  };
17316
+ export const deserializeAws_ec2DisassociateNatGatewayAddressCommand = async (output, context) => {
17317
+ if (output.statusCode >= 300) {
17318
+ return deserializeAws_ec2DisassociateNatGatewayAddressCommandError(output, context);
17319
+ }
17320
+ const data = await parseBody(output.body, context);
17321
+ let contents = {};
17322
+ contents = deserializeAws_ec2DisassociateNatGatewayAddressResult(data, context);
17323
+ const response = {
17324
+ $metadata: deserializeMetadata(output),
17325
+ ...contents,
17326
+ };
17327
+ return Promise.resolve(response);
17328
+ };
17329
+ const deserializeAws_ec2DisassociateNatGatewayAddressCommandError = async (output, context) => {
17330
+ const parsedOutput = {
17331
+ ...output,
17332
+ body: await parseErrorBody(output.body, context),
17333
+ };
17334
+ const errorCode = loadEc2ErrorCode(output, parsedOutput.body);
17335
+ const parsedBody = parsedOutput.body;
17336
+ throwDefaultError({
17337
+ output,
17338
+ parsedBody: parsedBody.Errors.Error,
17339
+ exceptionCtor: __BaseException,
17340
+ errorCode,
17341
+ });
17342
+ };
17214
17343
  export const deserializeAws_ec2DisassociateRouteTableCommand = async (output, context) => {
17215
17344
  if (output.statusCode >= 300) {
17216
17345
  return deserializeAws_ec2DisassociateRouteTableCommandError(output, context);
@@ -22542,6 +22671,33 @@ const deserializeAws_ec2UnassignPrivateIpAddressesCommandError = async (output,
22542
22671
  errorCode,
22543
22672
  });
22544
22673
  };
22674
+ export const deserializeAws_ec2UnassignPrivateNatGatewayAddressCommand = async (output, context) => {
22675
+ if (output.statusCode >= 300) {
22676
+ return deserializeAws_ec2UnassignPrivateNatGatewayAddressCommandError(output, context);
22677
+ }
22678
+ const data = await parseBody(output.body, context);
22679
+ let contents = {};
22680
+ contents = deserializeAws_ec2UnassignPrivateNatGatewayAddressResult(data, context);
22681
+ const response = {
22682
+ $metadata: deserializeMetadata(output),
22683
+ ...contents,
22684
+ };
22685
+ return Promise.resolve(response);
22686
+ };
22687
+ const deserializeAws_ec2UnassignPrivateNatGatewayAddressCommandError = async (output, context) => {
22688
+ const parsedOutput = {
22689
+ ...output,
22690
+ body: await parseErrorBody(output.body, context),
22691
+ };
22692
+ const errorCode = loadEc2ErrorCode(output, parsedOutput.body);
22693
+ const parsedBody = parsedOutput.body;
22694
+ throwDefaultError({
22695
+ output,
22696
+ parsedBody: parsedBody.Errors.Error,
22697
+ exceptionCtor: __BaseException,
22698
+ errorCode,
22699
+ });
22700
+ };
22545
22701
  export const deserializeAws_ec2UnmonitorInstancesCommand = async (output, context) => {
22546
22702
  if (output.statusCode >= 300) {
22547
22703
  return deserializeAws_ec2UnmonitorInstancesCommandError(output, context);
@@ -23218,6 +23374,29 @@ const serializeAws_ec2AssignPrivateIpAddressesRequest = (input, context) => {
23218
23374
  }
23219
23375
  return entries;
23220
23376
  };
23377
+ const serializeAws_ec2AssignPrivateNatGatewayAddressRequest = (input, context) => {
23378
+ const entries = {};
23379
+ if (input.NatGatewayId != null) {
23380
+ entries["NatGatewayId"] = input.NatGatewayId;
23381
+ }
23382
+ if (input.PrivateIpAddresses != null) {
23383
+ const memberEntries = serializeAws_ec2IpList(input.PrivateIpAddresses, context);
23384
+ if (input.PrivateIpAddresses?.length === 0) {
23385
+ entries.PrivateIpAddress = [];
23386
+ }
23387
+ Object.entries(memberEntries).forEach(([key, value]) => {
23388
+ const loc = `PrivateIpAddress.${key.substring(key.indexOf(".") + 1)}`;
23389
+ entries[loc] = value;
23390
+ });
23391
+ }
23392
+ if (input.PrivateIpAddressCount != null) {
23393
+ entries["PrivateIpAddressCount"] = input.PrivateIpAddressCount;
23394
+ }
23395
+ if (input.DryRun != null) {
23396
+ entries["DryRun"] = input.DryRun;
23397
+ }
23398
+ return entries;
23399
+ };
23221
23400
  const serializeAws_ec2AssociateAddressRequest = (input, context) => {
23222
23401
  const entries = {};
23223
23402
  if (input.AllocationId != null) {
@@ -23348,6 +23527,36 @@ const serializeAws_ec2AssociateIpamResourceDiscoveryRequest = (input, context) =
23348
23527
  }
23349
23528
  return entries;
23350
23529
  };
23530
+ const serializeAws_ec2AssociateNatGatewayAddressRequest = (input, context) => {
23531
+ const entries = {};
23532
+ if (input.NatGatewayId != null) {
23533
+ entries["NatGatewayId"] = input.NatGatewayId;
23534
+ }
23535
+ if (input.AllocationIds != null) {
23536
+ const memberEntries = serializeAws_ec2AllocationIdList(input.AllocationIds, context);
23537
+ if (input.AllocationIds?.length === 0) {
23538
+ entries.AllocationId = [];
23539
+ }
23540
+ Object.entries(memberEntries).forEach(([key, value]) => {
23541
+ const loc = `AllocationId.${key.substring(key.indexOf(".") + 1)}`;
23542
+ entries[loc] = value;
23543
+ });
23544
+ }
23545
+ if (input.PrivateIpAddresses != null) {
23546
+ const memberEntries = serializeAws_ec2IpList(input.PrivateIpAddresses, context);
23547
+ if (input.PrivateIpAddresses?.length === 0) {
23548
+ entries.PrivateIpAddress = [];
23549
+ }
23550
+ Object.entries(memberEntries).forEach(([key, value]) => {
23551
+ const loc = `PrivateIpAddress.${key.substring(key.indexOf(".") + 1)}`;
23552
+ entries[loc] = value;
23553
+ });
23554
+ }
23555
+ if (input.DryRun != null) {
23556
+ entries["DryRun"] = input.DryRun;
23557
+ }
23558
+ return entries;
23559
+ };
23351
23560
  const serializeAws_ec2AssociateRouteTableRequest = (input, context) => {
23352
23561
  const entries = {};
23353
23562
  if (input.DryRun != null) {
@@ -25417,6 +25626,9 @@ const serializeAws_ec2CreateLocalGatewayRouteRequest = (input, context) => {
25417
25626
  if (input.NetworkInterfaceId != null) {
25418
25627
  entries["NetworkInterfaceId"] = input.NetworkInterfaceId;
25419
25628
  }
25629
+ if (input.DestinationPrefixListId != null) {
25630
+ entries["DestinationPrefixListId"] = input.DestinationPrefixListId;
25631
+ }
25420
25632
  return entries;
25421
25633
  };
25422
25634
  const serializeAws_ec2CreateLocalGatewayRouteTableRequest = (input, context) => {
@@ -25563,6 +25775,29 @@ const serializeAws_ec2CreateNatGatewayRequest = (input, context) => {
25563
25775
  if (input.PrivateIpAddress != null) {
25564
25776
  entries["PrivateIpAddress"] = input.PrivateIpAddress;
25565
25777
  }
25778
+ if (input.SecondaryAllocationIds != null) {
25779
+ const memberEntries = serializeAws_ec2AllocationIdList(input.SecondaryAllocationIds, context);
25780
+ if (input.SecondaryAllocationIds?.length === 0) {
25781
+ entries.SecondaryAllocationId = [];
25782
+ }
25783
+ Object.entries(memberEntries).forEach(([key, value]) => {
25784
+ const loc = `SecondaryAllocationId.${key.substring(key.indexOf(".") + 1)}`;
25785
+ entries[loc] = value;
25786
+ });
25787
+ }
25788
+ if (input.SecondaryPrivateIpAddresses != null) {
25789
+ const memberEntries = serializeAws_ec2IpList(input.SecondaryPrivateIpAddresses, context);
25790
+ if (input.SecondaryPrivateIpAddresses?.length === 0) {
25791
+ entries.SecondaryPrivateIpAddress = [];
25792
+ }
25793
+ Object.entries(memberEntries).forEach(([key, value]) => {
25794
+ const loc = `SecondaryPrivateIpAddress.${key.substring(key.indexOf(".") + 1)}`;
25795
+ entries[loc] = value;
25796
+ });
25797
+ }
25798
+ if (input.SecondaryPrivateIpAddressCount != null) {
25799
+ entries["SecondaryPrivateIpAddressCount"] = input.SecondaryPrivateIpAddressCount;
25800
+ }
25566
25801
  return entries;
25567
25802
  };
25568
25803
  const serializeAws_ec2CreateNetworkAclEntryRequest = (input, context) => {
@@ -27742,6 +27977,9 @@ const serializeAws_ec2DeleteLocalGatewayRouteRequest = (input, context) => {
27742
27977
  if (input.DryRun != null) {
27743
27978
  entries["DryRun"] = input.DryRun;
27744
27979
  }
27980
+ if (input.DestinationPrefixListId != null) {
27981
+ entries["DestinationPrefixListId"] = input.DestinationPrefixListId;
27982
+ }
27745
27983
  return entries;
27746
27984
  };
27747
27985
  const serializeAws_ec2DeleteLocalGatewayRouteTableRequest = (input, context) => {
@@ -33178,6 +33416,29 @@ const serializeAws_ec2DisassociateIpamResourceDiscoveryRequest = (input, context
33178
33416
  }
33179
33417
  return entries;
33180
33418
  };
33419
+ const serializeAws_ec2DisassociateNatGatewayAddressRequest = (input, context) => {
33420
+ const entries = {};
33421
+ if (input.NatGatewayId != null) {
33422
+ entries["NatGatewayId"] = input.NatGatewayId;
33423
+ }
33424
+ if (input.AssociationIds != null) {
33425
+ const memberEntries = serializeAws_ec2EipAssociationIdList(input.AssociationIds, context);
33426
+ if (input.AssociationIds?.length === 0) {
33427
+ entries.AssociationId = [];
33428
+ }
33429
+ Object.entries(memberEntries).forEach(([key, value]) => {
33430
+ const loc = `AssociationId.${key.substring(key.indexOf(".") + 1)}`;
33431
+ entries[loc] = value;
33432
+ });
33433
+ }
33434
+ if (input.MaxDrainDurationSeconds != null) {
33435
+ entries["MaxDrainDurationSeconds"] = input.MaxDrainDurationSeconds;
33436
+ }
33437
+ if (input.DryRun != null) {
33438
+ entries["DryRun"] = input.DryRun;
33439
+ }
33440
+ return entries;
33441
+ };
33181
33442
  const serializeAws_ec2DisassociateRouteTableRequest = (input, context) => {
33182
33443
  const entries = {};
33183
33444
  if (input.AssociationId != null) {
@@ -33393,6 +33654,18 @@ const serializeAws_ec2EgressOnlyInternetGatewayIdList = (input, context) => {
33393
33654
  }
33394
33655
  return entries;
33395
33656
  };
33657
+ const serializeAws_ec2EipAssociationIdList = (input, context) => {
33658
+ const entries = {};
33659
+ let counter = 1;
33660
+ for (const entry of input) {
33661
+ if (entry === null) {
33662
+ continue;
33663
+ }
33664
+ entries[`Item.${counter}`] = entry;
33665
+ counter++;
33666
+ }
33667
+ return entries;
33668
+ };
33396
33669
  const serializeAws_ec2ElasticGpuIdSet = (input, context) => {
33397
33670
  const entries = {};
33398
33671
  let counter = 1;
@@ -36346,6 +36619,18 @@ const serializeAws_ec2IpamPoolAllocationDisallowedCidrs = (input, context) => {
36346
36619
  }
36347
36620
  return entries;
36348
36621
  };
36622
+ const serializeAws_ec2IpList = (input, context) => {
36623
+ const entries = {};
36624
+ let counter = 1;
36625
+ for (const entry of input) {
36626
+ if (entry === null) {
36627
+ continue;
36628
+ }
36629
+ entries[`Item.${counter}`] = entry;
36630
+ counter++;
36631
+ }
36632
+ return entries;
36633
+ };
36349
36634
  const serializeAws_ec2IpPermission = (input, context) => {
36350
36635
  const entries = {};
36351
36636
  if (input.FromPort != null) {
@@ -38257,6 +38542,9 @@ const serializeAws_ec2ModifyLocalGatewayRouteRequest = (input, context) => {
38257
38542
  if (input.DryRun != null) {
38258
38543
  entries["DryRun"] = input.DryRun;
38259
38544
  }
38545
+ if (input.DestinationPrefixListId != null) {
38546
+ entries["DestinationPrefixListId"] = input.DestinationPrefixListId;
38547
+ }
38260
38548
  return entries;
38261
38549
  };
38262
38550
  const serializeAws_ec2ModifyManagedPrefixListRequest = (input, context) => {
@@ -43988,6 +44276,29 @@ const serializeAws_ec2UnassignPrivateIpAddressesRequest = (input, context) => {
43988
44276
  }
43989
44277
  return entries;
43990
44278
  };
44279
+ const serializeAws_ec2UnassignPrivateNatGatewayAddressRequest = (input, context) => {
44280
+ const entries = {};
44281
+ if (input.NatGatewayId != null) {
44282
+ entries["NatGatewayId"] = input.NatGatewayId;
44283
+ }
44284
+ if (input.PrivateIpAddresses != null) {
44285
+ const memberEntries = serializeAws_ec2IpList(input.PrivateIpAddresses, context);
44286
+ if (input.PrivateIpAddresses?.length === 0) {
44287
+ entries.PrivateIpAddress = [];
44288
+ }
44289
+ Object.entries(memberEntries).forEach(([key, value]) => {
44290
+ const loc = `PrivateIpAddress.${key.substring(key.indexOf(".") + 1)}`;
44291
+ entries[loc] = value;
44292
+ });
44293
+ }
44294
+ if (input.MaxDrainDurationSeconds != null) {
44295
+ entries["MaxDrainDurationSeconds"] = input.MaxDrainDurationSeconds;
44296
+ }
44297
+ if (input.DryRun != null) {
44298
+ entries["DryRun"] = input.DryRun;
44299
+ }
44300
+ return entries;
44301
+ };
43991
44302
  const serializeAws_ec2UnmonitorInstancesRequest = (input, context) => {
43992
44303
  const entries = {};
43993
44304
  if (input.InstanceIds != null) {
@@ -45075,10 +45386,10 @@ const deserializeAws_ec2AddressTransfer = (output, context) => {
45075
45386
  contents.TransferAccountId = __expectString(output["transferAccountId"]);
45076
45387
  }
45077
45388
  if (output["transferOfferExpirationTimestamp"] !== undefined) {
45078
- contents.TransferOfferExpirationTimestamp = __expectNonNull(__parseRfc3339DateTime(output["transferOfferExpirationTimestamp"]));
45389
+ contents.TransferOfferExpirationTimestamp = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["transferOfferExpirationTimestamp"]));
45079
45390
  }
45080
45391
  if (output["transferOfferAcceptedTimestamp"] !== undefined) {
45081
- contents.TransferOfferAcceptedTimestamp = __expectNonNull(__parseRfc3339DateTime(output["transferOfferAcceptedTimestamp"]));
45392
+ contents.TransferOfferAcceptedTimestamp = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["transferOfferAcceptedTimestamp"]));
45082
45393
  }
45083
45394
  if (output["addressTransferStatus"] !== undefined) {
45084
45395
  contents.AddressTransferStatus = __expectString(output["addressTransferStatus"]);
@@ -45513,6 +45824,22 @@ const deserializeAws_ec2AssignPrivateIpAddressesResult = (output, context) => {
45513
45824
  }
45514
45825
  return contents;
45515
45826
  };
45827
+ const deserializeAws_ec2AssignPrivateNatGatewayAddressResult = (output, context) => {
45828
+ const contents = {
45829
+ NatGatewayId: undefined,
45830
+ NatGatewayAddresses: undefined,
45831
+ };
45832
+ if (output["natGatewayId"] !== undefined) {
45833
+ contents.NatGatewayId = __expectString(output["natGatewayId"]);
45834
+ }
45835
+ if (output.natGatewayAddressSet === "") {
45836
+ contents.NatGatewayAddresses = [];
45837
+ }
45838
+ else if (output["natGatewayAddressSet"] !== undefined && output["natGatewayAddressSet"]["item"] !== undefined) {
45839
+ contents.NatGatewayAddresses = deserializeAws_ec2NatGatewayAddressList(__getArrayIfSingleItem(output["natGatewayAddressSet"]["item"]), context);
45840
+ }
45841
+ return contents;
45842
+ };
45516
45843
  const deserializeAws_ec2AssociateAddressResult = (output, context) => {
45517
45844
  const contents = {
45518
45845
  AssociationId: undefined,
@@ -45627,6 +45954,22 @@ const deserializeAws_ec2AssociateIpamResourceDiscoveryResult = (output, context)
45627
45954
  }
45628
45955
  return contents;
45629
45956
  };
45957
+ const deserializeAws_ec2AssociateNatGatewayAddressResult = (output, context) => {
45958
+ const contents = {
45959
+ NatGatewayId: undefined,
45960
+ NatGatewayAddresses: undefined,
45961
+ };
45962
+ if (output["natGatewayId"] !== undefined) {
45963
+ contents.NatGatewayId = __expectString(output["natGatewayId"]);
45964
+ }
45965
+ if (output.natGatewayAddressSet === "") {
45966
+ contents.NatGatewayAddresses = [];
45967
+ }
45968
+ else if (output["natGatewayAddressSet"] !== undefined && output["natGatewayAddressSet"]["item"] !== undefined) {
45969
+ contents.NatGatewayAddresses = deserializeAws_ec2NatGatewayAddressList(__getArrayIfSingleItem(output["natGatewayAddressSet"]["item"]), context);
45970
+ }
45971
+ return contents;
45972
+ };
45630
45973
  const deserializeAws_ec2AssociateRouteTableResult = (output, context) => {
45631
45974
  const contents = {
45632
45975
  AssociationId: undefined,
@@ -46064,7 +46407,7 @@ const deserializeAws_ec2BundleTask = (output, context) => {
46064
46407
  contents.Progress = __expectString(output["progress"]);
46065
46408
  }
46066
46409
  if (output["startTime"] !== undefined) {
46067
- contents.StartTime = __expectNonNull(__parseRfc3339DateTime(output["startTime"]));
46410
+ contents.StartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["startTime"]));
46068
46411
  }
46069
46412
  if (output["state"] !== undefined) {
46070
46413
  contents.State = __expectString(output["state"]);
@@ -46073,7 +46416,7 @@ const deserializeAws_ec2BundleTask = (output, context) => {
46073
46416
  contents.Storage = deserializeAws_ec2Storage(output["storage"], context);
46074
46417
  }
46075
46418
  if (output["updateTime"] !== undefined) {
46076
- contents.UpdateTime = __expectNonNull(__parseRfc3339DateTime(output["updateTime"]));
46419
+ contents.UpdateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["updateTime"]));
46077
46420
  }
46078
46421
  return contents;
46079
46422
  };
@@ -46412,10 +46755,10 @@ const deserializeAws_ec2CapacityReservation = (output, context) => {
46412
46755
  contents.State = __expectString(output["state"]);
46413
46756
  }
46414
46757
  if (output["startDate"] !== undefined) {
46415
- contents.StartDate = __expectNonNull(__parseRfc3339DateTime(output["startDate"]));
46758
+ contents.StartDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["startDate"]));
46416
46759
  }
46417
46760
  if (output["endDate"] !== undefined) {
46418
- contents.EndDate = __expectNonNull(__parseRfc3339DateTime(output["endDate"]));
46761
+ contents.EndDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["endDate"]));
46419
46762
  }
46420
46763
  if (output["endDateType"] !== undefined) {
46421
46764
  contents.EndDateType = __expectString(output["endDateType"]);
@@ -46424,7 +46767,7 @@ const deserializeAws_ec2CapacityReservation = (output, context) => {
46424
46767
  contents.InstanceMatchCriteria = __expectString(output["instanceMatchCriteria"]);
46425
46768
  }
46426
46769
  if (output["createDate"] !== undefined) {
46427
- contents.CreateDate = __expectNonNull(__parseRfc3339DateTime(output["createDate"]));
46770
+ contents.CreateDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createDate"]));
46428
46771
  }
46429
46772
  if (output.tagSet === "") {
46430
46773
  contents.Tags = [];
@@ -46483,10 +46826,10 @@ const deserializeAws_ec2CapacityReservationFleet = (output, context) => {
46483
46826
  contents.Tenancy = __expectString(output["tenancy"]);
46484
46827
  }
46485
46828
  if (output["endDate"] !== undefined) {
46486
- contents.EndDate = __expectNonNull(__parseRfc3339DateTime(output["endDate"]));
46829
+ contents.EndDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["endDate"]));
46487
46830
  }
46488
46831
  if (output["createTime"] !== undefined) {
46489
- contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(output["createTime"]));
46832
+ contents.CreateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createTime"]));
46490
46833
  }
46491
46834
  if (output["instanceMatchCriteria"] !== undefined) {
46492
46835
  contents.InstanceMatchCriteria = __expectString(output["instanceMatchCriteria"]);
@@ -47415,10 +47758,10 @@ const deserializeAws_ec2CreateCapacityReservationFleetResult = (output, context)
47415
47758
  contents.AllocationStrategy = __expectString(output["allocationStrategy"]);
47416
47759
  }
47417
47760
  if (output["createTime"] !== undefined) {
47418
- contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(output["createTime"]));
47761
+ contents.CreateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createTime"]));
47419
47762
  }
47420
47763
  if (output["endDate"] !== undefined) {
47421
- contents.EndDate = __expectNonNull(__parseRfc3339DateTime(output["endDate"]));
47764
+ contents.EndDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["endDate"]));
47422
47765
  }
47423
47766
  if (output["tenancy"] !== undefined) {
47424
47767
  contents.Tenancy = __expectString(output["tenancy"]);
@@ -49574,7 +49917,7 @@ const deserializeAws_ec2DescribeFastLaunchImagesSuccessItem = (output, context)
49574
49917
  contents.StateTransitionReason = __expectString(output["stateTransitionReason"]);
49575
49918
  }
49576
49919
  if (output["stateTransitionTime"] !== undefined) {
49577
- contents.StateTransitionTime = __expectNonNull(__parseRfc3339DateTime(output["stateTransitionTime"]));
49920
+ contents.StateTransitionTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["stateTransitionTime"]));
49578
49921
  }
49579
49922
  return contents;
49580
49923
  };
@@ -49634,19 +49977,19 @@ const deserializeAws_ec2DescribeFastSnapshotRestoreSuccessItem = (output, contex
49634
49977
  contents.OwnerAlias = __expectString(output["ownerAlias"]);
49635
49978
  }
49636
49979
  if (output["enablingTime"] !== undefined) {
49637
- contents.EnablingTime = __expectNonNull(__parseRfc3339DateTime(output["enablingTime"]));
49980
+ contents.EnablingTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["enablingTime"]));
49638
49981
  }
49639
49982
  if (output["optimizingTime"] !== undefined) {
49640
- contents.OptimizingTime = __expectNonNull(__parseRfc3339DateTime(output["optimizingTime"]));
49983
+ contents.OptimizingTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["optimizingTime"]));
49641
49984
  }
49642
49985
  if (output["enabledTime"] !== undefined) {
49643
- contents.EnabledTime = __expectNonNull(__parseRfc3339DateTime(output["enabledTime"]));
49986
+ contents.EnabledTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["enabledTime"]));
49644
49987
  }
49645
49988
  if (output["disablingTime"] !== undefined) {
49646
- contents.DisablingTime = __expectNonNull(__parseRfc3339DateTime(output["disablingTime"]));
49989
+ contents.DisablingTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["disablingTime"]));
49647
49990
  }
49648
49991
  if (output["disabledTime"] !== undefined) {
49649
- contents.DisabledTime = __expectNonNull(__parseRfc3339DateTime(output["disabledTime"]));
49992
+ contents.DisabledTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["disabledTime"]));
49650
49993
  }
49651
49994
  return contents;
49652
49995
  };
@@ -49693,7 +50036,7 @@ const deserializeAws_ec2DescribeFleetHistoryResult = (output, context) => {
49693
50036
  contents.HistoryRecords = deserializeAws_ec2HistoryRecordSet(__getArrayIfSingleItem(output["historyRecordSet"]["item"]), context);
49694
50037
  }
49695
50038
  if (output["lastEvaluatedTime"] !== undefined) {
49696
- contents.LastEvaluatedTime = __expectNonNull(__parseRfc3339DateTime(output["lastEvaluatedTime"]));
50039
+ contents.LastEvaluatedTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["lastEvaluatedTime"]));
49697
50040
  }
49698
50041
  if (output["nextToken"] !== undefined) {
49699
50042
  contents.NextToken = __expectString(output["nextToken"]);
@@ -49702,7 +50045,7 @@ const deserializeAws_ec2DescribeFleetHistoryResult = (output, context) => {
49702
50045
  contents.FleetId = __expectString(output["fleetId"]);
49703
50046
  }
49704
50047
  if (output["startTime"] !== undefined) {
49705
- contents.StartTime = __expectNonNull(__parseRfc3339DateTime(output["startTime"]));
50048
+ contents.StartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["startTime"]));
49706
50049
  }
49707
50050
  return contents;
49708
50051
  };
@@ -50863,7 +51206,7 @@ const deserializeAws_ec2DescribeSpotFleetRequestHistoryResponse = (output, conte
50863
51206
  contents.HistoryRecords = deserializeAws_ec2HistoryRecords(__getArrayIfSingleItem(output["historyRecordSet"]["item"]), context);
50864
51207
  }
50865
51208
  if (output["lastEvaluatedTime"] !== undefined) {
50866
- contents.LastEvaluatedTime = __expectNonNull(__parseRfc3339DateTime(output["lastEvaluatedTime"]));
51209
+ contents.LastEvaluatedTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["lastEvaluatedTime"]));
50867
51210
  }
50868
51211
  if (output["nextToken"] !== undefined) {
50869
51212
  contents.NextToken = __expectString(output["nextToken"]);
@@ -50872,7 +51215,7 @@ const deserializeAws_ec2DescribeSpotFleetRequestHistoryResponse = (output, conte
50872
51215
  contents.SpotFleetRequestId = __expectString(output["spotFleetRequestId"]);
50873
51216
  }
50874
51217
  if (output["startTime"] !== undefined) {
50875
- contents.StartTime = __expectNonNull(__parseRfc3339DateTime(output["startTime"]));
51218
+ contents.StartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["startTime"]));
50876
51219
  }
50877
51220
  return contents;
50878
51221
  };
@@ -51774,7 +52117,7 @@ const deserializeAws_ec2DisableFastLaunchResult = (output, context) => {
51774
52117
  contents.StateTransitionReason = __expectString(output["stateTransitionReason"]);
51775
52118
  }
51776
52119
  if (output["stateTransitionTime"] !== undefined) {
51777
- contents.StateTransitionTime = __expectNonNull(__parseRfc3339DateTime(output["stateTransitionTime"]));
52120
+ contents.StateTransitionTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["stateTransitionTime"]));
51778
52121
  }
51779
52122
  return contents;
51780
52123
  };
@@ -51887,19 +52230,19 @@ const deserializeAws_ec2DisableFastSnapshotRestoreSuccessItem = (output, context
51887
52230
  contents.OwnerAlias = __expectString(output["ownerAlias"]);
51888
52231
  }
51889
52232
  if (output["enablingTime"] !== undefined) {
51890
- contents.EnablingTime = __expectNonNull(__parseRfc3339DateTime(output["enablingTime"]));
52233
+ contents.EnablingTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["enablingTime"]));
51891
52234
  }
51892
52235
  if (output["optimizingTime"] !== undefined) {
51893
- contents.OptimizingTime = __expectNonNull(__parseRfc3339DateTime(output["optimizingTime"]));
52236
+ contents.OptimizingTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["optimizingTime"]));
51894
52237
  }
51895
52238
  if (output["enabledTime"] !== undefined) {
51896
- contents.EnabledTime = __expectNonNull(__parseRfc3339DateTime(output["enabledTime"]));
52239
+ contents.EnabledTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["enabledTime"]));
51897
52240
  }
51898
52241
  if (output["disablingTime"] !== undefined) {
51899
- contents.DisablingTime = __expectNonNull(__parseRfc3339DateTime(output["disablingTime"]));
52242
+ contents.DisablingTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["disablingTime"]));
51900
52243
  }
51901
52244
  if (output["disabledTime"] !== undefined) {
51902
- contents.DisabledTime = __expectNonNull(__parseRfc3339DateTime(output["disabledTime"]));
52245
+ contents.DisabledTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["disabledTime"]));
51903
52246
  }
51904
52247
  return contents;
51905
52248
  };
@@ -52013,6 +52356,22 @@ const deserializeAws_ec2DisassociateIpamResourceDiscoveryResult = (output, conte
52013
52356
  }
52014
52357
  return contents;
52015
52358
  };
52359
+ const deserializeAws_ec2DisassociateNatGatewayAddressResult = (output, context) => {
52360
+ const contents = {
52361
+ NatGatewayId: undefined,
52362
+ NatGatewayAddresses: undefined,
52363
+ };
52364
+ if (output["natGatewayId"] !== undefined) {
52365
+ contents.NatGatewayId = __expectString(output["natGatewayId"]);
52366
+ }
52367
+ if (output.natGatewayAddressSet === "") {
52368
+ contents.NatGatewayAddresses = [];
52369
+ }
52370
+ else if (output["natGatewayAddressSet"] !== undefined && output["natGatewayAddressSet"]["item"] !== undefined) {
52371
+ contents.NatGatewayAddresses = deserializeAws_ec2NatGatewayAddressList(__getArrayIfSingleItem(output["natGatewayAddressSet"]["item"]), context);
52372
+ }
52373
+ return contents;
52374
+ };
52016
52375
  const deserializeAws_ec2DisassociateSubnetCidrBlockResult = (output, context) => {
52017
52376
  const contents = {
52018
52377
  Ipv6CidrBlockAssociation: undefined,
@@ -52240,7 +52599,7 @@ const deserializeAws_ec2EbsInstanceBlockDevice = (output, context) => {
52240
52599
  VolumeId: undefined,
52241
52600
  };
52242
52601
  if (output["attachTime"] !== undefined) {
52243
- contents.AttachTime = __expectNonNull(__parseRfc3339DateTime(output["attachTime"]));
52602
+ contents.AttachTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["attachTime"]));
52244
52603
  }
52245
52604
  if (output["deleteOnTermination"] !== undefined) {
52246
52605
  contents.DeleteOnTermination = __parseBoolean(output["deleteOnTermination"]);
@@ -52434,7 +52793,7 @@ const deserializeAws_ec2ElasticInferenceAcceleratorAssociation = (output, contex
52434
52793
  contents.ElasticInferenceAcceleratorAssociationState = __expectString(output["elasticInferenceAcceleratorAssociationState"]);
52435
52794
  }
52436
52795
  if (output["elasticInferenceAcceleratorAssociationTime"] !== undefined) {
52437
- contents.ElasticInferenceAcceleratorAssociationTime = __expectNonNull(__parseRfc3339DateTime(output["elasticInferenceAcceleratorAssociationTime"]));
52796
+ contents.ElasticInferenceAcceleratorAssociationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["elasticInferenceAcceleratorAssociationTime"]));
52438
52797
  }
52439
52798
  return contents;
52440
52799
  };
@@ -52509,7 +52868,7 @@ const deserializeAws_ec2EnableFastLaunchResult = (output, context) => {
52509
52868
  contents.StateTransitionReason = __expectString(output["stateTransitionReason"]);
52510
52869
  }
52511
52870
  if (output["stateTransitionTime"] !== undefined) {
52512
- contents.StateTransitionTime = __expectNonNull(__parseRfc3339DateTime(output["stateTransitionTime"]));
52871
+ contents.StateTransitionTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["stateTransitionTime"]));
52513
52872
  }
52514
52873
  return contents;
52515
52874
  };
@@ -52622,19 +52981,19 @@ const deserializeAws_ec2EnableFastSnapshotRestoreSuccessItem = (output, context)
52622
52981
  contents.OwnerAlias = __expectString(output["ownerAlias"]);
52623
52982
  }
52624
52983
  if (output["enablingTime"] !== undefined) {
52625
- contents.EnablingTime = __expectNonNull(__parseRfc3339DateTime(output["enablingTime"]));
52984
+ contents.EnablingTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["enablingTime"]));
52626
52985
  }
52627
52986
  if (output["optimizingTime"] !== undefined) {
52628
- contents.OptimizingTime = __expectNonNull(__parseRfc3339DateTime(output["optimizingTime"]));
52987
+ contents.OptimizingTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["optimizingTime"]));
52629
52988
  }
52630
52989
  if (output["enabledTime"] !== undefined) {
52631
- contents.EnabledTime = __expectNonNull(__parseRfc3339DateTime(output["enabledTime"]));
52990
+ contents.EnabledTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["enabledTime"]));
52632
52991
  }
52633
52992
  if (output["disablingTime"] !== undefined) {
52634
- contents.DisablingTime = __expectNonNull(__parseRfc3339DateTime(output["disablingTime"]));
52993
+ contents.DisablingTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["disablingTime"]));
52635
52994
  }
52636
52995
  if (output["disabledTime"] !== undefined) {
52637
- contents.DisabledTime = __expectNonNull(__parseRfc3339DateTime(output["disabledTime"]));
52996
+ contents.DisabledTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["disabledTime"]));
52638
52997
  }
52639
52998
  return contents;
52640
52999
  };
@@ -53314,7 +53673,7 @@ const deserializeAws_ec2FleetCapacityReservation = (output, context) => {
53314
53673
  contents.EbsOptimized = __parseBoolean(output["ebsOptimized"]);
53315
53674
  }
53316
53675
  if (output["createDate"] !== undefined) {
53317
- contents.CreateDate = __expectNonNull(__parseRfc3339DateTime(output["createDate"]));
53676
+ contents.CreateDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createDate"]));
53318
53677
  }
53319
53678
  if (output["weight"] !== undefined) {
53320
53679
  contents.Weight = __strictParseFloat(output["weight"]);
@@ -53359,7 +53718,7 @@ const deserializeAws_ec2FleetData = (output, context) => {
53359
53718
  contents.ActivityStatus = __expectString(output["activityStatus"]);
53360
53719
  }
53361
53720
  if (output["createTime"] !== undefined) {
53362
- contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(output["createTime"]));
53721
+ contents.CreateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createTime"]));
53363
53722
  }
53364
53723
  if (output["fleetId"] !== undefined) {
53365
53724
  contents.FleetId = __expectString(output["fleetId"]);
@@ -53395,10 +53754,10 @@ const deserializeAws_ec2FleetData = (output, context) => {
53395
53754
  contents.Type = __expectString(output["type"]);
53396
53755
  }
53397
53756
  if (output["validFrom"] !== undefined) {
53398
- contents.ValidFrom = __expectNonNull(__parseRfc3339DateTime(output["validFrom"]));
53757
+ contents.ValidFrom = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["validFrom"]));
53399
53758
  }
53400
53759
  if (output["validUntil"] !== undefined) {
53401
- contents.ValidUntil = __expectNonNull(__parseRfc3339DateTime(output["validUntil"]));
53760
+ contents.ValidUntil = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["validUntil"]));
53402
53761
  }
53403
53762
  if (output["replaceUnhealthyInstances"] !== undefined) {
53404
53763
  contents.ReplaceUnhealthyInstances = __parseBoolean(output["replaceUnhealthyInstances"]);
@@ -53569,7 +53928,7 @@ const deserializeAws_ec2FlowLog = (output, context) => {
53569
53928
  DestinationOptions: undefined,
53570
53929
  };
53571
53930
  if (output["creationTime"] !== undefined) {
53572
- contents.CreationTime = __expectNonNull(__parseRfc3339DateTime(output["creationTime"]));
53931
+ contents.CreationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTime"]));
53573
53932
  }
53574
53933
  if (output["deliverLogsErrorMessage"] !== undefined) {
53575
53934
  contents.DeliverLogsErrorMessage = __expectString(output["deliverLogsErrorMessage"]);
@@ -53706,10 +54065,10 @@ const deserializeAws_ec2FpgaImage = (output, context) => {
53706
54065
  contents.State = deserializeAws_ec2FpgaImageState(output["state"], context);
53707
54066
  }
53708
54067
  if (output["createTime"] !== undefined) {
53709
- contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(output["createTime"]));
54068
+ contents.CreateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createTime"]));
53710
54069
  }
53711
54070
  if (output["updateTime"] !== undefined) {
53712
- contents.UpdateTime = __expectNonNull(__parseRfc3339DateTime(output["updateTime"]));
54071
+ contents.UpdateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["updateTime"]));
53713
54072
  }
53714
54073
  if (output["ownerId"] !== undefined) {
53715
54074
  contents.OwnerId = __expectString(output["ownerId"]);
@@ -53923,7 +54282,7 @@ const deserializeAws_ec2GetConsoleOutputResult = (output, context) => {
53923
54282
  contents.Output = __expectString(output["output"]);
53924
54283
  }
53925
54284
  if (output["timestamp"] !== undefined) {
53926
- contents.Timestamp = __expectNonNull(__parseRfc3339DateTime(output["timestamp"]));
54285
+ contents.Timestamp = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["timestamp"]));
53927
54286
  }
53928
54287
  return contents;
53929
54288
  };
@@ -54232,7 +54591,7 @@ const deserializeAws_ec2GetPasswordDataResult = (output, context) => {
54232
54591
  contents.PasswordData = __expectString(output["passwordData"]);
54233
54592
  }
54234
54593
  if (output["timestamp"] !== undefined) {
54235
- contents.Timestamp = __expectNonNull(__parseRfc3339DateTime(output["timestamp"]));
54594
+ contents.Timestamp = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["timestamp"]));
54236
54595
  }
54237
54596
  return contents;
54238
54597
  };
@@ -54255,7 +54614,7 @@ const deserializeAws_ec2GetReservedInstancesExchangeQuoteResult = (output, conte
54255
54614
  contents.IsValidExchange = __parseBoolean(output["isValidExchange"]);
54256
54615
  }
54257
54616
  if (output["outputReservedInstancesWillExpireAt"] !== undefined) {
54258
- contents.OutputReservedInstancesWillExpireAt = __expectNonNull(__parseRfc3339DateTime(output["outputReservedInstancesWillExpireAt"]));
54617
+ contents.OutputReservedInstancesWillExpireAt = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["outputReservedInstancesWillExpireAt"]));
54259
54618
  }
54260
54619
  if (output["paymentDue"] !== undefined) {
54261
54620
  contents.PaymentDue = __expectString(output["paymentDue"]);
@@ -54609,7 +54968,7 @@ const deserializeAws_ec2HistoryRecord = (output, context) => {
54609
54968
  contents.EventType = __expectString(output["eventType"]);
54610
54969
  }
54611
54970
  if (output["timestamp"] !== undefined) {
54612
- contents.Timestamp = __expectNonNull(__parseRfc3339DateTime(output["timestamp"]));
54971
+ contents.Timestamp = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["timestamp"]));
54613
54972
  }
54614
54973
  return contents;
54615
54974
  };
@@ -54626,7 +54985,7 @@ const deserializeAws_ec2HistoryRecordEntry = (output, context) => {
54626
54985
  contents.EventType = __expectString(output["eventType"]);
54627
54986
  }
54628
54987
  if (output["timestamp"] !== undefined) {
54629
- contents.Timestamp = __expectNonNull(__parseRfc3339DateTime(output["timestamp"]));
54988
+ contents.Timestamp = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["timestamp"]));
54630
54989
  }
54631
54990
  return contents;
54632
54991
  };
@@ -54696,10 +55055,10 @@ const deserializeAws_ec2Host = (output, context) => {
54696
55055
  contents.State = __expectString(output["state"]);
54697
55056
  }
54698
55057
  if (output["allocationTime"] !== undefined) {
54699
- contents.AllocationTime = __expectNonNull(__parseRfc3339DateTime(output["allocationTime"]));
55058
+ contents.AllocationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["allocationTime"]));
54700
55059
  }
54701
55060
  if (output["releaseTime"] !== undefined) {
54702
- contents.ReleaseTime = __expectNonNull(__parseRfc3339DateTime(output["releaseTime"]));
55061
+ contents.ReleaseTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["releaseTime"]));
54703
55062
  }
54704
55063
  if (output.tagSet === "") {
54705
55064
  contents.Tags = [];
@@ -54850,7 +55209,7 @@ const deserializeAws_ec2HostReservation = (output, context) => {
54850
55209
  contents.Duration = __strictParseInt32(output["duration"]);
54851
55210
  }
54852
55211
  if (output["end"] !== undefined) {
54853
- contents.End = __expectNonNull(__parseRfc3339DateTime(output["end"]));
55212
+ contents.End = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["end"]));
54854
55213
  }
54855
55214
  if (output.hostIdSet === "") {
54856
55215
  contents.HostIdSet = [];
@@ -54874,7 +55233,7 @@ const deserializeAws_ec2HostReservation = (output, context) => {
54874
55233
  contents.PaymentOption = __expectString(output["paymentOption"]);
54875
55234
  }
54876
55235
  if (output["start"] !== undefined) {
54877
- contents.Start = __expectNonNull(__parseRfc3339DateTime(output["start"]));
55236
+ contents.Start = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["start"]));
54878
55237
  }
54879
55238
  if (output["state"] !== undefined) {
54880
55239
  contents.State = __expectString(output["state"]);
@@ -54931,7 +55290,7 @@ const deserializeAws_ec2IamInstanceProfileAssociation = (output, context) => {
54931
55290
  contents.State = __expectString(output["state"]);
54932
55291
  }
54933
55292
  if (output["timestamp"] !== undefined) {
54934
- contents.Timestamp = __expectNonNull(__parseRfc3339DateTime(output["timestamp"]));
55293
+ contents.Timestamp = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["timestamp"]));
54935
55294
  }
54936
55295
  return contents;
54937
55296
  };
@@ -54975,7 +55334,7 @@ const deserializeAws_ec2IdFormat = (output, context) => {
54975
55334
  UseLongIds: undefined,
54976
55335
  };
54977
55336
  if (output["deadline"] !== undefined) {
54978
- contents.Deadline = __expectNonNull(__parseRfc3339DateTime(output["deadline"]));
55337
+ contents.Deadline = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["deadline"]));
54979
55338
  }
54980
55339
  if (output["resource"] !== undefined) {
54981
55340
  contents.Resource = __expectString(output["resource"]);
@@ -55233,10 +55592,10 @@ const deserializeAws_ec2ImageRecycleBinInfo = (output, context) => {
55233
55592
  contents.Description = __expectString(output["description"]);
55234
55593
  }
55235
55594
  if (output["recycleBinEnterTime"] !== undefined) {
55236
- contents.RecycleBinEnterTime = __expectNonNull(__parseRfc3339DateTime(output["recycleBinEnterTime"]));
55595
+ contents.RecycleBinEnterTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["recycleBinEnterTime"]));
55237
55596
  }
55238
55597
  if (output["recycleBinExitTime"] !== undefined) {
55239
- contents.RecycleBinExitTime = __expectNonNull(__parseRfc3339DateTime(output["recycleBinExitTime"]));
55598
+ contents.RecycleBinExitTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["recycleBinExitTime"]));
55240
55599
  }
55241
55600
  return contents;
55242
55601
  };
@@ -55746,7 +56105,7 @@ const deserializeAws_ec2Instance = (output, context) => {
55746
56105
  contents.KeyName = __expectString(output["keyName"]);
55747
56106
  }
55748
56107
  if (output["launchTime"] !== undefined) {
55749
- contents.LaunchTime = __expectNonNull(__parseRfc3339DateTime(output["launchTime"]));
56108
+ contents.LaunchTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["launchTime"]));
55750
56109
  }
55751
56110
  if (output["monitoring"] !== undefined) {
55752
56111
  contents.Monitoring = deserializeAws_ec2Monitoring(output["monitoring"], context);
@@ -55907,7 +56266,7 @@ const deserializeAws_ec2Instance = (output, context) => {
55907
56266
  contents.UsageOperation = __expectString(output["usageOperation"]);
55908
56267
  }
55909
56268
  if (output["usageOperationUpdateTime"] !== undefined) {
55910
- contents.UsageOperationUpdateTime = __expectNonNull(__parseRfc3339DateTime(output["usageOperationUpdateTime"]));
56269
+ contents.UsageOperationUpdateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["usageOperationUpdateTime"]));
55911
56270
  }
55912
56271
  if (output["privateDnsNameOptions"] !== undefined) {
55913
56272
  contents.PrivateDnsNameOptions = deserializeAws_ec2PrivateDnsNameOptionsResponse(output["privateDnsNameOptions"], context);
@@ -56489,7 +56848,7 @@ const deserializeAws_ec2InstanceNetworkInterfaceAttachment = (output, context) =
56489
56848
  NetworkCardIndex: undefined,
56490
56849
  };
56491
56850
  if (output["attachTime"] !== undefined) {
56492
- contents.AttachTime = __expectNonNull(__parseRfc3339DateTime(output["attachTime"]));
56851
+ contents.AttachTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["attachTime"]));
56493
56852
  }
56494
56853
  if (output["attachmentId"] !== undefined) {
56495
56854
  contents.AttachmentId = __expectString(output["attachmentId"]);
@@ -56849,7 +57208,7 @@ const deserializeAws_ec2InstanceStatusDetails = (output, context) => {
56849
57208
  Status: undefined,
56850
57209
  };
56851
57210
  if (output["impairedSince"] !== undefined) {
56852
- contents.ImpairedSince = __expectNonNull(__parseRfc3339DateTime(output["impairedSince"]));
57211
+ contents.ImpairedSince = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["impairedSince"]));
56853
57212
  }
56854
57213
  if (output["name"] !== undefined) {
56855
57214
  contents.Name = __expectString(output["name"]);
@@ -56885,13 +57244,13 @@ const deserializeAws_ec2InstanceStatusEvent = (output, context) => {
56885
57244
  contents.Description = __expectString(output["description"]);
56886
57245
  }
56887
57246
  if (output["notAfter"] !== undefined) {
56888
- contents.NotAfter = __expectNonNull(__parseRfc3339DateTime(output["notAfter"]));
57247
+ contents.NotAfter = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["notAfter"]));
56889
57248
  }
56890
57249
  if (output["notBefore"] !== undefined) {
56891
- contents.NotBefore = __expectNonNull(__parseRfc3339DateTime(output["notBefore"]));
57250
+ contents.NotBefore = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["notBefore"]));
56892
57251
  }
56893
57252
  if (output["notBeforeDeadline"] !== undefined) {
56894
- contents.NotBeforeDeadline = __expectNonNull(__parseRfc3339DateTime(output["notBeforeDeadline"]));
57253
+ contents.NotBeforeDeadline = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["notBeforeDeadline"]));
56895
57254
  }
56896
57255
  return contents;
56897
57256
  };
@@ -57331,10 +57690,10 @@ const deserializeAws_ec2IpamAddressHistoryRecord = (output, context) => {
57331
57690
  contents.VpcId = __expectString(output["vpcId"]);
57332
57691
  }
57333
57692
  if (output["sampledStartTime"] !== undefined) {
57334
- contents.SampledStartTime = __expectNonNull(__parseRfc3339DateTime(output["sampledStartTime"]));
57693
+ contents.SampledStartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["sampledStartTime"]));
57335
57694
  }
57336
57695
  if (output["sampledEndTime"] !== undefined) {
57337
- contents.SampledEndTime = __expectNonNull(__parseRfc3339DateTime(output["sampledEndTime"]));
57696
+ contents.SampledEndTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["sampledEndTime"]));
57338
57697
  }
57339
57698
  return contents;
57340
57699
  };
@@ -57363,10 +57722,10 @@ const deserializeAws_ec2IpamDiscoveredAccount = (output, context) => {
57363
57722
  contents.FailureReason = deserializeAws_ec2IpamDiscoveryFailureReason(output["failureReason"], context);
57364
57723
  }
57365
57724
  if (output["lastAttemptedDiscoveryTime"] !== undefined) {
57366
- contents.LastAttemptedDiscoveryTime = __expectNonNull(__parseRfc3339DateTime(output["lastAttemptedDiscoveryTime"]));
57725
+ contents.LastAttemptedDiscoveryTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["lastAttemptedDiscoveryTime"]));
57367
57726
  }
57368
57727
  if (output["lastSuccessfulDiscoveryTime"] !== undefined) {
57369
- contents.LastSuccessfulDiscoveryTime = __expectNonNull(__parseRfc3339DateTime(output["lastSuccessfulDiscoveryTime"]));
57728
+ contents.LastSuccessfulDiscoveryTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["lastSuccessfulDiscoveryTime"]));
57370
57729
  }
57371
57730
  return contents;
57372
57731
  };
@@ -57421,7 +57780,7 @@ const deserializeAws_ec2IpamDiscoveredResourceCidr = (output, context) => {
57421
57780
  contents.VpcId = __expectString(output["vpcId"]);
57422
57781
  }
57423
57782
  if (output["sampleTime"] !== undefined) {
57424
- contents.SampleTime = __expectNonNull(__parseRfc3339DateTime(output["sampleTime"]));
57783
+ contents.SampleTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["sampleTime"]));
57425
57784
  }
57426
57785
  return contents;
57427
57786
  };
@@ -58270,7 +58629,7 @@ const deserializeAws_ec2KeyPairInfo = (output, context) => {
58270
58629
  contents.PublicKey = __expectString(output["publicKey"]);
58271
58630
  }
58272
58631
  if (output["createTime"] !== undefined) {
58273
- contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(output["createTime"]));
58632
+ contents.CreateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createTime"]));
58274
58633
  }
58275
58634
  return contents;
58276
58635
  };
@@ -58420,7 +58779,7 @@ const deserializeAws_ec2LaunchTemplate = (output, context) => {
58420
58779
  contents.LaunchTemplateName = __expectString(output["launchTemplateName"]);
58421
58780
  }
58422
58781
  if (output["createTime"] !== undefined) {
58423
- contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(output["createTime"]));
58782
+ contents.CreateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createTime"]));
58424
58783
  }
58425
58784
  if (output["createdBy"] !== undefined) {
58426
58785
  contents.CreatedBy = __expectString(output["createdBy"]);
@@ -58919,7 +59278,7 @@ const deserializeAws_ec2LaunchTemplateSpotMarketOptions = (output, context) => {
58919
59278
  contents.BlockDurationMinutes = __strictParseInt32(output["blockDurationMinutes"]);
58920
59279
  }
58921
59280
  if (output["validUntil"] !== undefined) {
58922
- contents.ValidUntil = __expectNonNull(__parseRfc3339DateTime(output["validUntil"]));
59281
+ contents.ValidUntil = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["validUntil"]));
58923
59282
  }
58924
59283
  if (output["instanceInterruptionBehavior"] !== undefined) {
58925
59284
  contents.InstanceInterruptionBehavior = __expectString(output["instanceInterruptionBehavior"]);
@@ -58973,7 +59332,7 @@ const deserializeAws_ec2LaunchTemplateVersion = (output, context) => {
58973
59332
  contents.VersionDescription = __expectString(output["versionDescription"]);
58974
59333
  }
58975
59334
  if (output["createTime"] !== undefined) {
58976
- contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(output["createTime"]));
59335
+ contents.CreateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createTime"]));
58977
59336
  }
58978
59337
  if (output["createdBy"] !== undefined) {
58979
59338
  contents.CreatedBy = __expectString(output["createdBy"]);
@@ -59114,6 +59473,7 @@ const deserializeAws_ec2LocalGatewayRoute = (output, context) => {
59114
59473
  SubnetId: undefined,
59115
59474
  CoipPoolId: undefined,
59116
59475
  NetworkInterfaceId: undefined,
59476
+ DestinationPrefixListId: undefined,
59117
59477
  };
59118
59478
  if (output["destinationCidrBlock"] !== undefined) {
59119
59479
  contents.DestinationCidrBlock = __expectString(output["destinationCidrBlock"]);
@@ -59145,6 +59505,9 @@ const deserializeAws_ec2LocalGatewayRoute = (output, context) => {
59145
59505
  if (output["networkInterfaceId"] !== undefined) {
59146
59506
  contents.NetworkInterfaceId = __expectString(output["networkInterfaceId"]);
59147
59507
  }
59508
+ if (output["destinationPrefixListId"] !== undefined) {
59509
+ contents.DestinationPrefixListId = __expectString(output["destinationPrefixListId"]);
59510
+ }
59148
59511
  return contents;
59149
59512
  };
59150
59513
  const deserializeAws_ec2LocalGatewayRouteList = (output, context) => {
@@ -59508,10 +59871,10 @@ const deserializeAws_ec2MetricPoint = (output, context) => {
59508
59871
  Status: undefined,
59509
59872
  };
59510
59873
  if (output["startDate"] !== undefined) {
59511
- contents.StartDate = __expectNonNull(__parseRfc3339DateTime(output["startDate"]));
59874
+ contents.StartDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["startDate"]));
59512
59875
  }
59513
59876
  if (output["endDate"] !== undefined) {
59514
- contents.EndDate = __expectNonNull(__parseRfc3339DateTime(output["endDate"]));
59877
+ contents.EndDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["endDate"]));
59515
59878
  }
59516
59879
  if (output["value"] !== undefined) {
59517
59880
  contents.Value = __strictParseFloat(output["value"]);
@@ -59819,7 +60182,7 @@ const deserializeAws_ec2ModifySnapshotTierResult = (output, context) => {
59819
60182
  contents.SnapshotId = __expectString(output["snapshotId"]);
59820
60183
  }
59821
60184
  if (output["tieringStartTime"] !== undefined) {
59822
- contents.TieringStartTime = __expectNonNull(__parseRfc3339DateTime(output["tieringStartTime"]));
60185
+ contents.TieringStartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["tieringStartTime"]));
59823
60186
  }
59824
60187
  return contents;
59825
60188
  };
@@ -60155,10 +60518,10 @@ const deserializeAws_ec2NatGateway = (output, context) => {
60155
60518
  ConnectivityType: undefined,
60156
60519
  };
60157
60520
  if (output["createTime"] !== undefined) {
60158
- contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(output["createTime"]));
60521
+ contents.CreateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createTime"]));
60159
60522
  }
60160
60523
  if (output["deleteTime"] !== undefined) {
60161
- contents.DeleteTime = __expectNonNull(__parseRfc3339DateTime(output["deleteTime"]));
60524
+ contents.DeleteTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["deleteTime"]));
60162
60525
  }
60163
60526
  if (output["failureCode"] !== undefined) {
60164
60527
  contents.FailureCode = __expectString(output["failureCode"]);
@@ -60204,6 +60567,10 @@ const deserializeAws_ec2NatGatewayAddress = (output, context) => {
60204
60567
  NetworkInterfaceId: undefined,
60205
60568
  PrivateIp: undefined,
60206
60569
  PublicIp: undefined,
60570
+ AssociationId: undefined,
60571
+ IsPrimary: undefined,
60572
+ FailureMessage: undefined,
60573
+ Status: undefined,
60207
60574
  };
60208
60575
  if (output["allocationId"] !== undefined) {
60209
60576
  contents.AllocationId = __expectString(output["allocationId"]);
@@ -60217,6 +60584,18 @@ const deserializeAws_ec2NatGatewayAddress = (output, context) => {
60217
60584
  if (output["publicIp"] !== undefined) {
60218
60585
  contents.PublicIp = __expectString(output["publicIp"]);
60219
60586
  }
60587
+ if (output["associationId"] !== undefined) {
60588
+ contents.AssociationId = __expectString(output["associationId"]);
60589
+ }
60590
+ if (output["isPrimary"] !== undefined) {
60591
+ contents.IsPrimary = __parseBoolean(output["isPrimary"]);
60592
+ }
60593
+ if (output["failureMessage"] !== undefined) {
60594
+ contents.FailureMessage = __expectString(output["failureMessage"]);
60595
+ }
60596
+ if (output["status"] !== undefined) {
60597
+ contents.Status = __expectString(output["status"]);
60598
+ }
60220
60599
  return contents;
60221
60600
  };
60222
60601
  const deserializeAws_ec2NatGatewayAddressList = (output, context) => {
@@ -60462,10 +60841,10 @@ const deserializeAws_ec2NetworkInsightsAccessScope = (output, context) => {
60462
60841
  contents.NetworkInsightsAccessScopeArn = __expectString(output["networkInsightsAccessScopeArn"]);
60463
60842
  }
60464
60843
  if (output["createdDate"] !== undefined) {
60465
- contents.CreatedDate = __expectNonNull(__parseRfc3339DateTime(output["createdDate"]));
60844
+ contents.CreatedDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createdDate"]));
60466
60845
  }
60467
60846
  if (output["updatedDate"] !== undefined) {
60468
- contents.UpdatedDate = __expectNonNull(__parseRfc3339DateTime(output["updatedDate"]));
60847
+ contents.UpdatedDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["updatedDate"]));
60469
60848
  }
60470
60849
  if (output.tagSet === "") {
60471
60850
  contents.Tags = [];
@@ -60508,10 +60887,10 @@ const deserializeAws_ec2NetworkInsightsAccessScopeAnalysis = (output, context) =
60508
60887
  contents.WarningMessage = __expectString(output["warningMessage"]);
60509
60888
  }
60510
60889
  if (output["startDate"] !== undefined) {
60511
- contents.StartDate = __expectNonNull(__parseRfc3339DateTime(output["startDate"]));
60890
+ contents.StartDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["startDate"]));
60512
60891
  }
60513
60892
  if (output["endDate"] !== undefined) {
60514
- contents.EndDate = __expectNonNull(__parseRfc3339DateTime(output["endDate"]));
60893
+ contents.EndDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["endDate"]));
60515
60894
  }
60516
60895
  if (output["findingsFound"] !== undefined) {
60517
60896
  contents.FindingsFound = __expectString(output["findingsFound"]);
@@ -60605,7 +60984,7 @@ const deserializeAws_ec2NetworkInsightsAnalysis = (output, context) => {
60605
60984
  contents.FilterInArns = deserializeAws_ec2ArnList(__getArrayIfSingleItem(output["filterInArnSet"]["item"]), context);
60606
60985
  }
60607
60986
  if (output["startDate"] !== undefined) {
60608
- contents.StartDate = __expectNonNull(__parseRfc3339DateTime(output["startDate"]));
60987
+ contents.StartDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["startDate"]));
60609
60988
  }
60610
60989
  if (output["status"] !== undefined) {
60611
60990
  contents.Status = __expectString(output["status"]);
@@ -60687,7 +61066,7 @@ const deserializeAws_ec2NetworkInsightsPath = (output, context) => {
60687
61066
  contents.NetworkInsightsPathArn = __expectString(output["networkInsightsPathArn"]);
60688
61067
  }
60689
61068
  if (output["createdDate"] !== undefined) {
60690
- contents.CreatedDate = __expectNonNull(__parseRfc3339DateTime(output["createdDate"]));
61069
+ contents.CreatedDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createdDate"]));
60691
61070
  }
60692
61071
  if (output["source"] !== undefined) {
60693
61072
  contents.Source = __expectString(output["source"]);
@@ -60901,7 +61280,7 @@ const deserializeAws_ec2NetworkInterfaceAttachment = (output, context) => {
60901
61280
  EnaSrdSpecification: undefined,
60902
61281
  };
60903
61282
  if (output["attachTime"] !== undefined) {
60904
- contents.AttachTime = __expectNonNull(__parseRfc3339DateTime(output["attachTime"]));
61283
+ contents.AttachTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["attachTime"]));
60905
61284
  }
60906
61285
  if (output["attachmentId"] !== undefined) {
60907
61286
  contents.AttachmentId = __expectString(output["attachmentId"]);
@@ -61918,13 +62297,13 @@ const deserializeAws_ec2ProvisionedBandwidth = (output, context) => {
61918
62297
  Status: undefined,
61919
62298
  };
61920
62299
  if (output["provisionTime"] !== undefined) {
61921
- contents.ProvisionTime = __expectNonNull(__parseRfc3339DateTime(output["provisionTime"]));
62300
+ contents.ProvisionTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["provisionTime"]));
61922
62301
  }
61923
62302
  if (output["provisioned"] !== undefined) {
61924
62303
  contents.Provisioned = __expectString(output["provisioned"]);
61925
62304
  }
61926
62305
  if (output["requestTime"] !== undefined) {
61927
- contents.RequestTime = __expectNonNull(__parseRfc3339DateTime(output["requestTime"]));
62306
+ contents.RequestTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["requestTime"]));
61928
62307
  }
61929
62308
  if (output["requested"] !== undefined) {
61930
62309
  contents.Requested = __expectString(output["requested"]);
@@ -62546,7 +62925,7 @@ const deserializeAws_ec2ReservedInstances = (output, context) => {
62546
62925
  contents.Duration = __strictParseLong(output["duration"]);
62547
62926
  }
62548
62927
  if (output["end"] !== undefined) {
62549
- contents.End = __expectNonNull(__parseRfc3339DateTime(output["end"]));
62928
+ contents.End = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["end"]));
62550
62929
  }
62551
62930
  if (output["fixedPrice"] !== undefined) {
62552
62931
  contents.FixedPrice = __strictParseFloat(output["fixedPrice"]);
@@ -62564,7 +62943,7 @@ const deserializeAws_ec2ReservedInstances = (output, context) => {
62564
62943
  contents.ReservedInstancesId = __expectString(output["reservedInstancesId"]);
62565
62944
  }
62566
62945
  if (output["start"] !== undefined) {
62567
- contents.Start = __expectNonNull(__parseRfc3339DateTime(output["start"]));
62946
+ contents.Start = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["start"]));
62568
62947
  }
62569
62948
  if (output["state"] !== undefined) {
62570
62949
  contents.State = __expectString(output["state"]);
@@ -62659,7 +63038,7 @@ const deserializeAws_ec2ReservedInstancesListing = (output, context) => {
62659
63038
  contents.ClientToken = __expectString(output["clientToken"]);
62660
63039
  }
62661
63040
  if (output["createDate"] !== undefined) {
62662
- contents.CreateDate = __expectNonNull(__parseRfc3339DateTime(output["createDate"]));
63041
+ contents.CreateDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createDate"]));
62663
63042
  }
62664
63043
  if (output.instanceCounts === "") {
62665
63044
  contents.InstanceCounts = [];
@@ -62692,7 +63071,7 @@ const deserializeAws_ec2ReservedInstancesListing = (output, context) => {
62692
63071
  contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context);
62693
63072
  }
62694
63073
  if (output["updateDate"] !== undefined) {
62695
- contents.UpdateDate = __expectNonNull(__parseRfc3339DateTime(output["updateDate"]));
63074
+ contents.UpdateDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["updateDate"]));
62696
63075
  }
62697
63076
  return contents;
62698
63077
  };
@@ -62719,10 +63098,10 @@ const deserializeAws_ec2ReservedInstancesModification = (output, context) => {
62719
63098
  contents.ClientToken = __expectString(output["clientToken"]);
62720
63099
  }
62721
63100
  if (output["createDate"] !== undefined) {
62722
- contents.CreateDate = __expectNonNull(__parseRfc3339DateTime(output["createDate"]));
63101
+ contents.CreateDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createDate"]));
62723
63102
  }
62724
63103
  if (output["effectiveDate"] !== undefined) {
62725
- contents.EffectiveDate = __expectNonNull(__parseRfc3339DateTime(output["effectiveDate"]));
63104
+ contents.EffectiveDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["effectiveDate"]));
62726
63105
  }
62727
63106
  if (output.modificationResultSet === "") {
62728
63107
  contents.ModificationResults = [];
@@ -62746,7 +63125,7 @@ const deserializeAws_ec2ReservedInstancesModification = (output, context) => {
62746
63125
  contents.StatusMessage = __expectString(output["statusMessage"]);
62747
63126
  }
62748
63127
  if (output["updateDate"] !== undefined) {
62749
- contents.UpdateDate = __expectNonNull(__parseRfc3339DateTime(output["updateDate"]));
63128
+ contents.UpdateDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["updateDate"]));
62750
63129
  }
62751
63130
  return contents;
62752
63131
  };
@@ -63154,7 +63533,7 @@ const deserializeAws_ec2RestoreSnapshotFromRecycleBinResult = (output, context)
63154
63533
  contents.Progress = __expectString(output["progress"]);
63155
63534
  }
63156
63535
  if (output["startTime"] !== undefined) {
63157
- contents.StartTime = __expectNonNull(__parseRfc3339DateTime(output["startTime"]));
63536
+ contents.StartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["startTime"]));
63158
63537
  }
63159
63538
  if (output["status"] !== undefined) {
63160
63539
  contents.State = __expectString(output["status"]);
@@ -63178,7 +63557,7 @@ const deserializeAws_ec2RestoreSnapshotTierResult = (output, context) => {
63178
63557
  contents.SnapshotId = __expectString(output["snapshotId"]);
63179
63558
  }
63180
63559
  if (output["restoreStartTime"] !== undefined) {
63181
- contents.RestoreStartTime = __expectNonNull(__parseRfc3339DateTime(output["restoreStartTime"]));
63560
+ contents.RestoreStartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["restoreStartTime"]));
63182
63561
  }
63183
63562
  if (output["restoreDuration"] !== undefined) {
63184
63563
  contents.RestoreDuration = __strictParseInt32(output["restoreDuration"]);
@@ -63481,7 +63860,7 @@ const deserializeAws_ec2ScheduledInstance = (output, context) => {
63481
63860
  contents.AvailabilityZone = __expectString(output["availabilityZone"]);
63482
63861
  }
63483
63862
  if (output["createDate"] !== undefined) {
63484
- contents.CreateDate = __expectNonNull(__parseRfc3339DateTime(output["createDate"]));
63863
+ contents.CreateDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createDate"]));
63485
63864
  }
63486
63865
  if (output["hourlyPrice"] !== undefined) {
63487
63866
  contents.HourlyPrice = __expectString(output["hourlyPrice"]);
@@ -63496,13 +63875,13 @@ const deserializeAws_ec2ScheduledInstance = (output, context) => {
63496
63875
  contents.NetworkPlatform = __expectString(output["networkPlatform"]);
63497
63876
  }
63498
63877
  if (output["nextSlotStartTime"] !== undefined) {
63499
- contents.NextSlotStartTime = __expectNonNull(__parseRfc3339DateTime(output["nextSlotStartTime"]));
63878
+ contents.NextSlotStartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["nextSlotStartTime"]));
63500
63879
  }
63501
63880
  if (output["platform"] !== undefined) {
63502
63881
  contents.Platform = __expectString(output["platform"]);
63503
63882
  }
63504
63883
  if (output["previousSlotEndTime"] !== undefined) {
63505
- contents.PreviousSlotEndTime = __expectNonNull(__parseRfc3339DateTime(output["previousSlotEndTime"]));
63884
+ contents.PreviousSlotEndTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["previousSlotEndTime"]));
63506
63885
  }
63507
63886
  if (output["recurrence"] !== undefined) {
63508
63887
  contents.Recurrence = deserializeAws_ec2ScheduledInstanceRecurrence(output["recurrence"], context);
@@ -63514,10 +63893,10 @@ const deserializeAws_ec2ScheduledInstance = (output, context) => {
63514
63893
  contents.SlotDurationInHours = __strictParseInt32(output["slotDurationInHours"]);
63515
63894
  }
63516
63895
  if (output["termEndDate"] !== undefined) {
63517
- contents.TermEndDate = __expectNonNull(__parseRfc3339DateTime(output["termEndDate"]));
63896
+ contents.TermEndDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["termEndDate"]));
63518
63897
  }
63519
63898
  if (output["termStartDate"] !== undefined) {
63520
- contents.TermStartDate = __expectNonNull(__parseRfc3339DateTime(output["termStartDate"]));
63899
+ contents.TermStartDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["termStartDate"]));
63521
63900
  }
63522
63901
  if (output["totalScheduledInstanceHours"] !== undefined) {
63523
63902
  contents.TotalScheduledInstanceHours = __strictParseInt32(output["totalScheduledInstanceHours"]);
@@ -63547,7 +63926,7 @@ const deserializeAws_ec2ScheduledInstanceAvailability = (output, context) => {
63547
63926
  contents.AvailableInstanceCount = __strictParseInt32(output["availableInstanceCount"]);
63548
63927
  }
63549
63928
  if (output["firstSlotStartTime"] !== undefined) {
63550
- contents.FirstSlotStartTime = __expectNonNull(__parseRfc3339DateTime(output["firstSlotStartTime"]));
63929
+ contents.FirstSlotStartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["firstSlotStartTime"]));
63551
63930
  }
63552
63931
  if (output["hourlyPrice"] !== undefined) {
63553
63932
  contents.HourlyPrice = __expectString(output["hourlyPrice"]);
@@ -64087,7 +64466,7 @@ const deserializeAws_ec2Snapshot = (output, context) => {
64087
64466
  contents.SnapshotId = __expectString(output["snapshotId"]);
64088
64467
  }
64089
64468
  if (output["startTime"] !== undefined) {
64090
- contents.StartTime = __expectNonNull(__parseRfc3339DateTime(output["startTime"]));
64469
+ contents.StartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["startTime"]));
64091
64470
  }
64092
64471
  if (output["status"] !== undefined) {
64093
64472
  contents.State = __expectString(output["status"]);
@@ -64117,7 +64496,7 @@ const deserializeAws_ec2Snapshot = (output, context) => {
64117
64496
  contents.StorageTier = __expectString(output["storageTier"]);
64118
64497
  }
64119
64498
  if (output["restoreExpiryTime"] !== undefined) {
64120
- contents.RestoreExpiryTime = __expectNonNull(__parseRfc3339DateTime(output["restoreExpiryTime"]));
64499
+ contents.RestoreExpiryTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["restoreExpiryTime"]));
64121
64500
  }
64122
64501
  return contents;
64123
64502
  };
@@ -64209,7 +64588,7 @@ const deserializeAws_ec2SnapshotInfo = (output, context) => {
64209
64588
  contents.VolumeSize = __strictParseInt32(output["volumeSize"]);
64210
64589
  }
64211
64590
  if (output["startTime"] !== undefined) {
64212
- contents.StartTime = __expectNonNull(__parseRfc3339DateTime(output["startTime"]));
64591
+ contents.StartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["startTime"]));
64213
64592
  }
64214
64593
  if (output["progress"] !== undefined) {
64215
64594
  contents.Progress = __expectString(output["progress"]);
@@ -64244,10 +64623,10 @@ const deserializeAws_ec2SnapshotRecycleBinInfo = (output, context) => {
64244
64623
  contents.SnapshotId = __expectString(output["snapshotId"]);
64245
64624
  }
64246
64625
  if (output["recycleBinEnterTime"] !== undefined) {
64247
- contents.RecycleBinEnterTime = __expectNonNull(__parseRfc3339DateTime(output["recycleBinEnterTime"]));
64626
+ contents.RecycleBinEnterTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["recycleBinEnterTime"]));
64248
64627
  }
64249
64628
  if (output["recycleBinExitTime"] !== undefined) {
64250
- contents.RecycleBinExitTime = __expectNonNull(__parseRfc3339DateTime(output["recycleBinExitTime"]));
64629
+ contents.RecycleBinExitTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["recycleBinExitTime"]));
64251
64630
  }
64252
64631
  if (output["description"] !== undefined) {
64253
64632
  contents.Description = __expectString(output["description"]);
@@ -64357,7 +64736,7 @@ const deserializeAws_ec2SnapshotTierStatus = (output, context) => {
64357
64736
  contents.StorageTier = __expectString(output["storageTier"]);
64358
64737
  }
64359
64738
  if (output["lastTieringStartTime"] !== undefined) {
64360
- contents.LastTieringStartTime = __expectNonNull(__parseRfc3339DateTime(output["lastTieringStartTime"]));
64739
+ contents.LastTieringStartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["lastTieringStartTime"]));
64361
64740
  }
64362
64741
  if (output["lastTieringProgress"] !== undefined) {
64363
64742
  contents.LastTieringProgress = __strictParseInt32(output["lastTieringProgress"]);
@@ -64369,10 +64748,10 @@ const deserializeAws_ec2SnapshotTierStatus = (output, context) => {
64369
64748
  contents.LastTieringOperationStatusDetail = __expectString(output["lastTieringOperationStatusDetail"]);
64370
64749
  }
64371
64750
  if (output["archivalCompleteTime"] !== undefined) {
64372
- contents.ArchivalCompleteTime = __expectNonNull(__parseRfc3339DateTime(output["archivalCompleteTime"]));
64751
+ contents.ArchivalCompleteTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["archivalCompleteTime"]));
64373
64752
  }
64374
64753
  if (output["restoreExpiryTime"] !== undefined) {
64375
- contents.RestoreExpiryTime = __expectNonNull(__parseRfc3339DateTime(output["restoreExpiryTime"]));
64754
+ contents.RestoreExpiryTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["restoreExpiryTime"]));
64376
64755
  }
64377
64756
  return contents;
64378
64757
  };
@@ -64536,7 +64915,7 @@ const deserializeAws_ec2SpotFleetRequestConfig = (output, context) => {
64536
64915
  contents.ActivityStatus = __expectString(output["activityStatus"]);
64537
64916
  }
64538
64917
  if (output["createTime"] !== undefined) {
64539
- contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(output["createTime"]));
64918
+ contents.CreateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createTime"]));
64540
64919
  }
64541
64920
  if (output["spotFleetRequestConfig"] !== undefined) {
64542
64921
  contents.SpotFleetRequestConfig = deserializeAws_ec2SpotFleetRequestConfigData(output["spotFleetRequestConfig"], context);
@@ -64642,10 +65021,10 @@ const deserializeAws_ec2SpotFleetRequestConfigData = (output, context) => {
64642
65021
  contents.Type = __expectString(output["type"]);
64643
65022
  }
64644
65023
  if (output["validFrom"] !== undefined) {
64645
- contents.ValidFrom = __expectNonNull(__parseRfc3339DateTime(output["validFrom"]));
65024
+ contents.ValidFrom = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["validFrom"]));
64646
65025
  }
64647
65026
  if (output["validUntil"] !== undefined) {
64648
- contents.ValidUntil = __expectNonNull(__parseRfc3339DateTime(output["validUntil"]));
65027
+ contents.ValidUntil = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["validUntil"]));
64649
65028
  }
64650
65029
  if (output["replaceUnhealthyInstances"] !== undefined) {
64651
65030
  contents.ReplaceUnhealthyInstances = __parseBoolean(output["replaceUnhealthyInstances"]);
@@ -64735,7 +65114,7 @@ const deserializeAws_ec2SpotInstanceRequest = (output, context) => {
64735
65114
  contents.BlockDurationMinutes = __strictParseInt32(output["blockDurationMinutes"]);
64736
65115
  }
64737
65116
  if (output["createTime"] !== undefined) {
64738
- contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(output["createTime"]));
65117
+ contents.CreateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createTime"]));
64739
65118
  }
64740
65119
  if (output["fault"] !== undefined) {
64741
65120
  contents.Fault = deserializeAws_ec2SpotInstanceStateFault(output["fault"], context);
@@ -64777,10 +65156,10 @@ const deserializeAws_ec2SpotInstanceRequest = (output, context) => {
64777
65156
  contents.Type = __expectString(output["type"]);
64778
65157
  }
64779
65158
  if (output["validFrom"] !== undefined) {
64780
- contents.ValidFrom = __expectNonNull(__parseRfc3339DateTime(output["validFrom"]));
65159
+ contents.ValidFrom = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["validFrom"]));
64781
65160
  }
64782
65161
  if (output["validUntil"] !== undefined) {
64783
- contents.ValidUntil = __expectNonNull(__parseRfc3339DateTime(output["validUntil"]));
65162
+ contents.ValidUntil = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["validUntil"]));
64784
65163
  }
64785
65164
  if (output["instanceInterruptionBehavior"] !== undefined) {
64786
65165
  contents.InstanceInterruptionBehavior = __expectString(output["instanceInterruptionBehavior"]);
@@ -64820,7 +65199,7 @@ const deserializeAws_ec2SpotInstanceStatus = (output, context) => {
64820
65199
  contents.Message = __expectString(output["message"]);
64821
65200
  }
64822
65201
  if (output["updateTime"] !== undefined) {
64823
- contents.UpdateTime = __expectNonNull(__parseRfc3339DateTime(output["updateTime"]));
65202
+ contents.UpdateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["updateTime"]));
64824
65203
  }
64825
65204
  return contents;
64826
65205
  };
@@ -64932,7 +65311,7 @@ const deserializeAws_ec2SpotPrice = (output, context) => {
64932
65311
  contents.SpotPrice = __expectString(output["spotPrice"]);
64933
65312
  }
64934
65313
  if (output["timestamp"] !== undefined) {
64935
- contents.Timestamp = __expectNonNull(__parseRfc3339DateTime(output["timestamp"]));
65314
+ contents.Timestamp = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["timestamp"]));
64936
65315
  }
64937
65316
  return contents;
64938
65317
  };
@@ -65118,7 +65497,7 @@ const deserializeAws_ec2StoreImageTaskResult = (output, context) => {
65118
65497
  contents.AmiId = __expectString(output["amiId"]);
65119
65498
  }
65120
65499
  if (output["taskStartTime"] !== undefined) {
65121
- contents.TaskStartTime = __expectNonNull(__parseRfc3339DateTime(output["taskStartTime"]));
65500
+ contents.TaskStartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["taskStartTime"]));
65122
65501
  }
65123
65502
  if (output["bucket"] !== undefined) {
65124
65503
  contents.Bucket = __expectString(output["bucket"]);
@@ -65966,7 +66345,7 @@ const deserializeAws_ec2TransitGateway = (output, context) => {
65966
66345
  contents.Description = __expectString(output["description"]);
65967
66346
  }
65968
66347
  if (output["creationTime"] !== undefined) {
65969
- contents.CreationTime = __expectNonNull(__parseRfc3339DateTime(output["creationTime"]));
66348
+ contents.CreationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTime"]));
65970
66349
  }
65971
66350
  if (output["options"] !== undefined) {
65972
66351
  contents.Options = deserializeAws_ec2TransitGatewayOptions(output["options"], context);
@@ -66042,7 +66421,7 @@ const deserializeAws_ec2TransitGatewayAttachment = (output, context) => {
66042
66421
  contents.Association = deserializeAws_ec2TransitGatewayAttachmentAssociation(output["association"], context);
66043
66422
  }
66044
66423
  if (output["creationTime"] !== undefined) {
66045
- contents.CreationTime = __expectNonNull(__parseRfc3339DateTime(output["creationTime"]));
66424
+ contents.CreationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTime"]));
66046
66425
  }
66047
66426
  if (output.tagSet === "") {
66048
66427
  contents.Tags = [];
@@ -66147,7 +66526,7 @@ const deserializeAws_ec2TransitGatewayConnect = (output, context) => {
66147
66526
  contents.State = __expectString(output["state"]);
66148
66527
  }
66149
66528
  if (output["creationTime"] !== undefined) {
66150
- contents.CreationTime = __expectNonNull(__parseRfc3339DateTime(output["creationTime"]));
66529
+ contents.CreationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTime"]));
66151
66530
  }
66152
66531
  if (output["options"] !== undefined) {
66153
66532
  contents.Options = deserializeAws_ec2TransitGatewayConnectOptions(output["options"], context);
@@ -66195,7 +66574,7 @@ const deserializeAws_ec2TransitGatewayConnectPeer = (output, context) => {
66195
66574
  contents.State = __expectString(output["state"]);
66196
66575
  }
66197
66576
  if (output["creationTime"] !== undefined) {
66198
- contents.CreationTime = __expectNonNull(__parseRfc3339DateTime(output["creationTime"]));
66577
+ contents.CreationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTime"]));
66199
66578
  }
66200
66579
  if (output["connectPeerConfiguration"] !== undefined) {
66201
66580
  contents.ConnectPeerConfiguration = deserializeAws_ec2TransitGatewayConnectPeerConfiguration(output["connectPeerConfiguration"], context);
@@ -66325,7 +66704,7 @@ const deserializeAws_ec2TransitGatewayMulticastDomain = (output, context) => {
66325
66704
  contents.State = __expectString(output["state"]);
66326
66705
  }
66327
66706
  if (output["creationTime"] !== undefined) {
66328
- contents.CreationTime = __expectNonNull(__parseRfc3339DateTime(output["creationTime"]));
66707
+ contents.CreationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTime"]));
66329
66708
  }
66330
66709
  if (output.tagSet === "") {
66331
66710
  contents.Tags = [];
@@ -66604,7 +66983,7 @@ const deserializeAws_ec2TransitGatewayPeeringAttachment = (output, context) => {
66604
66983
  contents.State = __expectString(output["state"]);
66605
66984
  }
66606
66985
  if (output["creationTime"] !== undefined) {
66607
- contents.CreationTime = __expectNonNull(__parseRfc3339DateTime(output["creationTime"]));
66986
+ contents.CreationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTime"]));
66608
66987
  }
66609
66988
  if (output.tagSet === "") {
66610
66989
  contents.Tags = [];
@@ -66690,7 +67069,7 @@ const deserializeAws_ec2TransitGatewayPolicyTable = (output, context) => {
66690
67069
  contents.State = __expectString(output["state"]);
66691
67070
  }
66692
67071
  if (output["creationTime"] !== undefined) {
66693
- contents.CreationTime = __expectNonNull(__parseRfc3339DateTime(output["creationTime"]));
67072
+ contents.CreationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTime"]));
66694
67073
  }
66695
67074
  if (output.tagSet === "") {
66696
67075
  contents.Tags = [];
@@ -66935,7 +67314,7 @@ const deserializeAws_ec2TransitGatewayRouteTable = (output, context) => {
66935
67314
  contents.DefaultPropagationRouteTable = __parseBoolean(output["defaultPropagationRouteTable"]);
66936
67315
  }
66937
67316
  if (output["creationTime"] !== undefined) {
66938
- contents.CreationTime = __expectNonNull(__parseRfc3339DateTime(output["creationTime"]));
67317
+ contents.CreationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTime"]));
66939
67318
  }
66940
67319
  if (output.tagSet === "") {
66941
67320
  contents.Tags = [];
@@ -66987,7 +67366,7 @@ const deserializeAws_ec2TransitGatewayRouteTableAnnouncement = (output, context)
66987
67366
  contents.State = __expectString(output["state"]);
66988
67367
  }
66989
67368
  if (output["creationTime"] !== undefined) {
66990
- contents.CreationTime = __expectNonNull(__parseRfc3339DateTime(output["creationTime"]));
67369
+ contents.CreationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTime"]));
66991
67370
  }
66992
67371
  if (output.tagSet === "") {
66993
67372
  contents.Tags = [];
@@ -67138,7 +67517,7 @@ const deserializeAws_ec2TransitGatewayVpcAttachment = (output, context) => {
67138
67517
  contents.SubnetIds = deserializeAws_ec2ValueStringList(__getArrayIfSingleItem(output["subnetIds"]["item"]), context);
67139
67518
  }
67140
67519
  if (output["creationTime"] !== undefined) {
67141
- contents.CreationTime = __expectNonNull(__parseRfc3339DateTime(output["creationTime"]));
67520
+ contents.CreationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTime"]));
67142
67521
  }
67143
67522
  if (output["options"] !== undefined) {
67144
67523
  contents.Options = deserializeAws_ec2TransitGatewayVpcAttachmentOptions(output["options"], context);
@@ -67360,6 +67739,22 @@ const deserializeAws_ec2UnassignIpv6AddressesResult = (output, context) => {
67360
67739
  }
67361
67740
  return contents;
67362
67741
  };
67742
+ const deserializeAws_ec2UnassignPrivateNatGatewayAddressResult = (output, context) => {
67743
+ const contents = {
67744
+ NatGatewayId: undefined,
67745
+ NatGatewayAddresses: undefined,
67746
+ };
67747
+ if (output["natGatewayId"] !== undefined) {
67748
+ contents.NatGatewayId = __expectString(output["natGatewayId"]);
67749
+ }
67750
+ if (output.natGatewayAddressSet === "") {
67751
+ contents.NatGatewayAddresses = [];
67752
+ }
67753
+ else if (output["natGatewayAddressSet"] !== undefined && output["natGatewayAddressSet"]["item"] !== undefined) {
67754
+ contents.NatGatewayAddresses = deserializeAws_ec2NatGatewayAddressList(__getArrayIfSingleItem(output["natGatewayAddressSet"]["item"]), context);
67755
+ }
67756
+ return contents;
67757
+ };
67363
67758
  const deserializeAws_ec2UnmonitorInstancesResult = (output, context) => {
67364
67759
  const contents = {
67365
67760
  InstanceMonitorings: undefined,
@@ -68064,7 +68459,7 @@ const deserializeAws_ec2VgwTelemetry = (output, context) => {
68064
68459
  contents.AcceptedRouteCount = __strictParseInt32(output["acceptedRouteCount"]);
68065
68460
  }
68066
68461
  if (output["lastStatusChange"] !== undefined) {
68067
- contents.LastStatusChange = __expectNonNull(__parseRfc3339DateTime(output["lastStatusChange"]));
68462
+ contents.LastStatusChange = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["lastStatusChange"]));
68068
68463
  }
68069
68464
  if (output["outsideIpAddress"] !== undefined) {
68070
68465
  contents.OutsideIpAddress = __expectString(output["outsideIpAddress"]);
@@ -68123,7 +68518,7 @@ const deserializeAws_ec2Volume = (output, context) => {
68123
68518
  contents.AvailabilityZone = __expectString(output["availabilityZone"]);
68124
68519
  }
68125
68520
  if (output["createTime"] !== undefined) {
68126
- contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(output["createTime"]));
68521
+ contents.CreateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createTime"]));
68127
68522
  }
68128
68523
  if (output["encrypted"] !== undefined) {
68129
68524
  contents.Encrypted = __parseBoolean(output["encrypted"]);
@@ -68179,7 +68574,7 @@ const deserializeAws_ec2VolumeAttachment = (output, context) => {
68179
68574
  DeleteOnTermination: undefined,
68180
68575
  };
68181
68576
  if (output["attachTime"] !== undefined) {
68182
- contents.AttachTime = __expectNonNull(__parseRfc3339DateTime(output["attachTime"]));
68577
+ contents.AttachTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["attachTime"]));
68183
68578
  }
68184
68579
  if (output["device"] !== undefined) {
68185
68580
  contents.Device = __expectString(output["device"]);
@@ -68274,10 +68669,10 @@ const deserializeAws_ec2VolumeModification = (output, context) => {
68274
68669
  contents.Progress = __strictParseLong(output["progress"]);
68275
68670
  }
68276
68671
  if (output["startTime"] !== undefined) {
68277
- contents.StartTime = __expectNonNull(__parseRfc3339DateTime(output["startTime"]));
68672
+ contents.StartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["startTime"]));
68278
68673
  }
68279
68674
  if (output["endTime"] !== undefined) {
68280
- contents.EndTime = __expectNonNull(__parseRfc3339DateTime(output["endTime"]));
68675
+ contents.EndTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["endTime"]));
68281
68676
  }
68282
68677
  return contents;
68283
68678
  };
@@ -68375,10 +68770,10 @@ const deserializeAws_ec2VolumeStatusEvent = (output, context) => {
68375
68770
  contents.EventType = __expectString(output["eventType"]);
68376
68771
  }
68377
68772
  if (output["notAfter"] !== undefined) {
68378
- contents.NotAfter = __expectNonNull(__parseRfc3339DateTime(output["notAfter"]));
68773
+ contents.NotAfter = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["notAfter"]));
68379
68774
  }
68380
68775
  if (output["notBefore"] !== undefined) {
68381
- contents.NotBefore = __expectNonNull(__parseRfc3339DateTime(output["notBefore"]));
68776
+ contents.NotBefore = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["notBefore"]));
68382
68777
  }
68383
68778
  if (output["instanceId"] !== undefined) {
68384
68779
  contents.InstanceId = __expectString(output["instanceId"]);
@@ -68680,7 +69075,7 @@ const deserializeAws_ec2VpcEndpoint = (output, context) => {
68680
69075
  contents.DnsEntries = deserializeAws_ec2DnsEntrySet(__getArrayIfSingleItem(output["dnsEntrySet"]["item"]), context);
68681
69076
  }
68682
69077
  if (output["creationTimestamp"] !== undefined) {
68683
- contents.CreationTimestamp = __expectNonNull(__parseRfc3339DateTime(output["creationTimestamp"]));
69078
+ contents.CreationTimestamp = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTimestamp"]));
68684
69079
  }
68685
69080
  if (output.tagSet === "") {
68686
69081
  contents.Tags = [];
@@ -68723,7 +69118,7 @@ const deserializeAws_ec2VpcEndpointConnection = (output, context) => {
68723
69118
  contents.VpcEndpointState = __expectString(output["vpcEndpointState"]);
68724
69119
  }
68725
69120
  if (output["creationTimestamp"] !== undefined) {
68726
- contents.CreationTimestamp = __expectNonNull(__parseRfc3339DateTime(output["creationTimestamp"]));
69121
+ contents.CreationTimestamp = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTimestamp"]));
68727
69122
  }
68728
69123
  if (output.dnsEntrySet === "") {
68729
69124
  contents.DnsEntries = [];
@@ -68825,7 +69220,7 @@ const deserializeAws_ec2VpcPeeringConnection = (output, context) => {
68825
69220
  contents.AccepterVpcInfo = deserializeAws_ec2VpcPeeringConnectionVpcInfo(output["accepterVpcInfo"], context);
68826
69221
  }
68827
69222
  if (output["expirationTime"] !== undefined) {
68828
- contents.ExpirationTime = __expectNonNull(__parseRfc3339DateTime(output["expirationTime"]));
69223
+ contents.ExpirationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["expirationTime"]));
68829
69224
  }
68830
69225
  if (output["requesterVpcInfo"] !== undefined) {
68831
69226
  contents.RequesterVpcInfo = deserializeAws_ec2VpcPeeringConnectionVpcInfo(output["requesterVpcInfo"], context);
@@ -69232,7 +69627,7 @@ const buildFormUrlencodedString = (formEntries) => Object.entries(formEntries)
69232
69627
  .map(([key, value]) => __extendedEncodeURIComponent(key) + "=" + __extendedEncodeURIComponent(value))
69233
69628
  .join("&");
69234
69629
  const loadEc2ErrorCode = (output, data) => {
69235
- if (data.Errors.Error.Code !== undefined) {
69630
+ if (data.Errors.Error?.Code !== undefined) {
69236
69631
  return data.Errors.Error.Code;
69237
69632
  }
69238
69633
  if (output.statusCode == 404) {