@aws-sdk/client-ec2 3.261.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 +551 -161
  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 +520 -138
  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 +228 -163
  88. package/dist-types/models/models_2.d.ts +150 -70
  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 +170 -127
  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 +68 -53
  120. package/dist-types/ts3.4/models/models_2.d.ts +46 -35
  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 +58 -54
  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 +2 -2
@@ -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) {
@@ -25566,6 +25775,29 @@ const serializeAws_ec2CreateNatGatewayRequest = (input, context) => {
25566
25775
  if (input.PrivateIpAddress != null) {
25567
25776
  entries["PrivateIpAddress"] = input.PrivateIpAddress;
25568
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
+ }
25569
25801
  return entries;
25570
25802
  };
25571
25803
  const serializeAws_ec2CreateNetworkAclEntryRequest = (input, context) => {
@@ -33184,6 +33416,29 @@ const serializeAws_ec2DisassociateIpamResourceDiscoveryRequest = (input, context
33184
33416
  }
33185
33417
  return entries;
33186
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
+ };
33187
33442
  const serializeAws_ec2DisassociateRouteTableRequest = (input, context) => {
33188
33443
  const entries = {};
33189
33444
  if (input.AssociationId != null) {
@@ -33399,6 +33654,18 @@ const serializeAws_ec2EgressOnlyInternetGatewayIdList = (input, context) => {
33399
33654
  }
33400
33655
  return entries;
33401
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
+ };
33402
33669
  const serializeAws_ec2ElasticGpuIdSet = (input, context) => {
33403
33670
  const entries = {};
33404
33671
  let counter = 1;
@@ -36352,6 +36619,18 @@ const serializeAws_ec2IpamPoolAllocationDisallowedCidrs = (input, context) => {
36352
36619
  }
36353
36620
  return entries;
36354
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
+ };
36355
36634
  const serializeAws_ec2IpPermission = (input, context) => {
36356
36635
  const entries = {};
36357
36636
  if (input.FromPort != null) {
@@ -43997,6 +44276,29 @@ const serializeAws_ec2UnassignPrivateIpAddressesRequest = (input, context) => {
43997
44276
  }
43998
44277
  return entries;
43999
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
+ };
44000
44302
  const serializeAws_ec2UnmonitorInstancesRequest = (input, context) => {
44001
44303
  const entries = {};
44002
44304
  if (input.InstanceIds != null) {
@@ -45084,10 +45386,10 @@ const deserializeAws_ec2AddressTransfer = (output, context) => {
45084
45386
  contents.TransferAccountId = __expectString(output["transferAccountId"]);
45085
45387
  }
45086
45388
  if (output["transferOfferExpirationTimestamp"] !== undefined) {
45087
- contents.TransferOfferExpirationTimestamp = __expectNonNull(__parseRfc3339DateTime(output["transferOfferExpirationTimestamp"]));
45389
+ contents.TransferOfferExpirationTimestamp = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["transferOfferExpirationTimestamp"]));
45088
45390
  }
45089
45391
  if (output["transferOfferAcceptedTimestamp"] !== undefined) {
45090
- contents.TransferOfferAcceptedTimestamp = __expectNonNull(__parseRfc3339DateTime(output["transferOfferAcceptedTimestamp"]));
45392
+ contents.TransferOfferAcceptedTimestamp = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["transferOfferAcceptedTimestamp"]));
45091
45393
  }
45092
45394
  if (output["addressTransferStatus"] !== undefined) {
45093
45395
  contents.AddressTransferStatus = __expectString(output["addressTransferStatus"]);
@@ -45522,6 +45824,22 @@ const deserializeAws_ec2AssignPrivateIpAddressesResult = (output, context) => {
45522
45824
  }
45523
45825
  return contents;
45524
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
+ };
45525
45843
  const deserializeAws_ec2AssociateAddressResult = (output, context) => {
45526
45844
  const contents = {
45527
45845
  AssociationId: undefined,
@@ -45636,6 +45954,22 @@ const deserializeAws_ec2AssociateIpamResourceDiscoveryResult = (output, context)
45636
45954
  }
45637
45955
  return contents;
45638
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
+ };
45639
45973
  const deserializeAws_ec2AssociateRouteTableResult = (output, context) => {
45640
45974
  const contents = {
45641
45975
  AssociationId: undefined,
@@ -46073,7 +46407,7 @@ const deserializeAws_ec2BundleTask = (output, context) => {
46073
46407
  contents.Progress = __expectString(output["progress"]);
46074
46408
  }
46075
46409
  if (output["startTime"] !== undefined) {
46076
- contents.StartTime = __expectNonNull(__parseRfc3339DateTime(output["startTime"]));
46410
+ contents.StartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["startTime"]));
46077
46411
  }
46078
46412
  if (output["state"] !== undefined) {
46079
46413
  contents.State = __expectString(output["state"]);
@@ -46082,7 +46416,7 @@ const deserializeAws_ec2BundleTask = (output, context) => {
46082
46416
  contents.Storage = deserializeAws_ec2Storage(output["storage"], context);
46083
46417
  }
46084
46418
  if (output["updateTime"] !== undefined) {
46085
- contents.UpdateTime = __expectNonNull(__parseRfc3339DateTime(output["updateTime"]));
46419
+ contents.UpdateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["updateTime"]));
46086
46420
  }
46087
46421
  return contents;
46088
46422
  };
@@ -46421,10 +46755,10 @@ const deserializeAws_ec2CapacityReservation = (output, context) => {
46421
46755
  contents.State = __expectString(output["state"]);
46422
46756
  }
46423
46757
  if (output["startDate"] !== undefined) {
46424
- contents.StartDate = __expectNonNull(__parseRfc3339DateTime(output["startDate"]));
46758
+ contents.StartDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["startDate"]));
46425
46759
  }
46426
46760
  if (output["endDate"] !== undefined) {
46427
- contents.EndDate = __expectNonNull(__parseRfc3339DateTime(output["endDate"]));
46761
+ contents.EndDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["endDate"]));
46428
46762
  }
46429
46763
  if (output["endDateType"] !== undefined) {
46430
46764
  contents.EndDateType = __expectString(output["endDateType"]);
@@ -46433,7 +46767,7 @@ const deserializeAws_ec2CapacityReservation = (output, context) => {
46433
46767
  contents.InstanceMatchCriteria = __expectString(output["instanceMatchCriteria"]);
46434
46768
  }
46435
46769
  if (output["createDate"] !== undefined) {
46436
- contents.CreateDate = __expectNonNull(__parseRfc3339DateTime(output["createDate"]));
46770
+ contents.CreateDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createDate"]));
46437
46771
  }
46438
46772
  if (output.tagSet === "") {
46439
46773
  contents.Tags = [];
@@ -46492,10 +46826,10 @@ const deserializeAws_ec2CapacityReservationFleet = (output, context) => {
46492
46826
  contents.Tenancy = __expectString(output["tenancy"]);
46493
46827
  }
46494
46828
  if (output["endDate"] !== undefined) {
46495
- contents.EndDate = __expectNonNull(__parseRfc3339DateTime(output["endDate"]));
46829
+ contents.EndDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["endDate"]));
46496
46830
  }
46497
46831
  if (output["createTime"] !== undefined) {
46498
- contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(output["createTime"]));
46832
+ contents.CreateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createTime"]));
46499
46833
  }
46500
46834
  if (output["instanceMatchCriteria"] !== undefined) {
46501
46835
  contents.InstanceMatchCriteria = __expectString(output["instanceMatchCriteria"]);
@@ -47424,10 +47758,10 @@ const deserializeAws_ec2CreateCapacityReservationFleetResult = (output, context)
47424
47758
  contents.AllocationStrategy = __expectString(output["allocationStrategy"]);
47425
47759
  }
47426
47760
  if (output["createTime"] !== undefined) {
47427
- contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(output["createTime"]));
47761
+ contents.CreateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createTime"]));
47428
47762
  }
47429
47763
  if (output["endDate"] !== undefined) {
47430
- contents.EndDate = __expectNonNull(__parseRfc3339DateTime(output["endDate"]));
47764
+ contents.EndDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["endDate"]));
47431
47765
  }
47432
47766
  if (output["tenancy"] !== undefined) {
47433
47767
  contents.Tenancy = __expectString(output["tenancy"]);
@@ -49583,7 +49917,7 @@ const deserializeAws_ec2DescribeFastLaunchImagesSuccessItem = (output, context)
49583
49917
  contents.StateTransitionReason = __expectString(output["stateTransitionReason"]);
49584
49918
  }
49585
49919
  if (output["stateTransitionTime"] !== undefined) {
49586
- contents.StateTransitionTime = __expectNonNull(__parseRfc3339DateTime(output["stateTransitionTime"]));
49920
+ contents.StateTransitionTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["stateTransitionTime"]));
49587
49921
  }
49588
49922
  return contents;
49589
49923
  };
@@ -49643,19 +49977,19 @@ const deserializeAws_ec2DescribeFastSnapshotRestoreSuccessItem = (output, contex
49643
49977
  contents.OwnerAlias = __expectString(output["ownerAlias"]);
49644
49978
  }
49645
49979
  if (output["enablingTime"] !== undefined) {
49646
- contents.EnablingTime = __expectNonNull(__parseRfc3339DateTime(output["enablingTime"]));
49980
+ contents.EnablingTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["enablingTime"]));
49647
49981
  }
49648
49982
  if (output["optimizingTime"] !== undefined) {
49649
- contents.OptimizingTime = __expectNonNull(__parseRfc3339DateTime(output["optimizingTime"]));
49983
+ contents.OptimizingTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["optimizingTime"]));
49650
49984
  }
49651
49985
  if (output["enabledTime"] !== undefined) {
49652
- contents.EnabledTime = __expectNonNull(__parseRfc3339DateTime(output["enabledTime"]));
49986
+ contents.EnabledTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["enabledTime"]));
49653
49987
  }
49654
49988
  if (output["disablingTime"] !== undefined) {
49655
- contents.DisablingTime = __expectNonNull(__parseRfc3339DateTime(output["disablingTime"]));
49989
+ contents.DisablingTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["disablingTime"]));
49656
49990
  }
49657
49991
  if (output["disabledTime"] !== undefined) {
49658
- contents.DisabledTime = __expectNonNull(__parseRfc3339DateTime(output["disabledTime"]));
49992
+ contents.DisabledTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["disabledTime"]));
49659
49993
  }
49660
49994
  return contents;
49661
49995
  };
@@ -49702,7 +50036,7 @@ const deserializeAws_ec2DescribeFleetHistoryResult = (output, context) => {
49702
50036
  contents.HistoryRecords = deserializeAws_ec2HistoryRecordSet(__getArrayIfSingleItem(output["historyRecordSet"]["item"]), context);
49703
50037
  }
49704
50038
  if (output["lastEvaluatedTime"] !== undefined) {
49705
- contents.LastEvaluatedTime = __expectNonNull(__parseRfc3339DateTime(output["lastEvaluatedTime"]));
50039
+ contents.LastEvaluatedTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["lastEvaluatedTime"]));
49706
50040
  }
49707
50041
  if (output["nextToken"] !== undefined) {
49708
50042
  contents.NextToken = __expectString(output["nextToken"]);
@@ -49711,7 +50045,7 @@ const deserializeAws_ec2DescribeFleetHistoryResult = (output, context) => {
49711
50045
  contents.FleetId = __expectString(output["fleetId"]);
49712
50046
  }
49713
50047
  if (output["startTime"] !== undefined) {
49714
- contents.StartTime = __expectNonNull(__parseRfc3339DateTime(output["startTime"]));
50048
+ contents.StartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["startTime"]));
49715
50049
  }
49716
50050
  return contents;
49717
50051
  };
@@ -50872,7 +51206,7 @@ const deserializeAws_ec2DescribeSpotFleetRequestHistoryResponse = (output, conte
50872
51206
  contents.HistoryRecords = deserializeAws_ec2HistoryRecords(__getArrayIfSingleItem(output["historyRecordSet"]["item"]), context);
50873
51207
  }
50874
51208
  if (output["lastEvaluatedTime"] !== undefined) {
50875
- contents.LastEvaluatedTime = __expectNonNull(__parseRfc3339DateTime(output["lastEvaluatedTime"]));
51209
+ contents.LastEvaluatedTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["lastEvaluatedTime"]));
50876
51210
  }
50877
51211
  if (output["nextToken"] !== undefined) {
50878
51212
  contents.NextToken = __expectString(output["nextToken"]);
@@ -50881,7 +51215,7 @@ const deserializeAws_ec2DescribeSpotFleetRequestHistoryResponse = (output, conte
50881
51215
  contents.SpotFleetRequestId = __expectString(output["spotFleetRequestId"]);
50882
51216
  }
50883
51217
  if (output["startTime"] !== undefined) {
50884
- contents.StartTime = __expectNonNull(__parseRfc3339DateTime(output["startTime"]));
51218
+ contents.StartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["startTime"]));
50885
51219
  }
50886
51220
  return contents;
50887
51221
  };
@@ -51783,7 +52117,7 @@ const deserializeAws_ec2DisableFastLaunchResult = (output, context) => {
51783
52117
  contents.StateTransitionReason = __expectString(output["stateTransitionReason"]);
51784
52118
  }
51785
52119
  if (output["stateTransitionTime"] !== undefined) {
51786
- contents.StateTransitionTime = __expectNonNull(__parseRfc3339DateTime(output["stateTransitionTime"]));
52120
+ contents.StateTransitionTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["stateTransitionTime"]));
51787
52121
  }
51788
52122
  return contents;
51789
52123
  };
@@ -51896,19 +52230,19 @@ const deserializeAws_ec2DisableFastSnapshotRestoreSuccessItem = (output, context
51896
52230
  contents.OwnerAlias = __expectString(output["ownerAlias"]);
51897
52231
  }
51898
52232
  if (output["enablingTime"] !== undefined) {
51899
- contents.EnablingTime = __expectNonNull(__parseRfc3339DateTime(output["enablingTime"]));
52233
+ contents.EnablingTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["enablingTime"]));
51900
52234
  }
51901
52235
  if (output["optimizingTime"] !== undefined) {
51902
- contents.OptimizingTime = __expectNonNull(__parseRfc3339DateTime(output["optimizingTime"]));
52236
+ contents.OptimizingTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["optimizingTime"]));
51903
52237
  }
51904
52238
  if (output["enabledTime"] !== undefined) {
51905
- contents.EnabledTime = __expectNonNull(__parseRfc3339DateTime(output["enabledTime"]));
52239
+ contents.EnabledTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["enabledTime"]));
51906
52240
  }
51907
52241
  if (output["disablingTime"] !== undefined) {
51908
- contents.DisablingTime = __expectNonNull(__parseRfc3339DateTime(output["disablingTime"]));
52242
+ contents.DisablingTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["disablingTime"]));
51909
52243
  }
51910
52244
  if (output["disabledTime"] !== undefined) {
51911
- contents.DisabledTime = __expectNonNull(__parseRfc3339DateTime(output["disabledTime"]));
52245
+ contents.DisabledTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["disabledTime"]));
51912
52246
  }
51913
52247
  return contents;
51914
52248
  };
@@ -52022,6 +52356,22 @@ const deserializeAws_ec2DisassociateIpamResourceDiscoveryResult = (output, conte
52022
52356
  }
52023
52357
  return contents;
52024
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
+ };
52025
52375
  const deserializeAws_ec2DisassociateSubnetCidrBlockResult = (output, context) => {
52026
52376
  const contents = {
52027
52377
  Ipv6CidrBlockAssociation: undefined,
@@ -52249,7 +52599,7 @@ const deserializeAws_ec2EbsInstanceBlockDevice = (output, context) => {
52249
52599
  VolumeId: undefined,
52250
52600
  };
52251
52601
  if (output["attachTime"] !== undefined) {
52252
- contents.AttachTime = __expectNonNull(__parseRfc3339DateTime(output["attachTime"]));
52602
+ contents.AttachTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["attachTime"]));
52253
52603
  }
52254
52604
  if (output["deleteOnTermination"] !== undefined) {
52255
52605
  contents.DeleteOnTermination = __parseBoolean(output["deleteOnTermination"]);
@@ -52443,7 +52793,7 @@ const deserializeAws_ec2ElasticInferenceAcceleratorAssociation = (output, contex
52443
52793
  contents.ElasticInferenceAcceleratorAssociationState = __expectString(output["elasticInferenceAcceleratorAssociationState"]);
52444
52794
  }
52445
52795
  if (output["elasticInferenceAcceleratorAssociationTime"] !== undefined) {
52446
- contents.ElasticInferenceAcceleratorAssociationTime = __expectNonNull(__parseRfc3339DateTime(output["elasticInferenceAcceleratorAssociationTime"]));
52796
+ contents.ElasticInferenceAcceleratorAssociationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["elasticInferenceAcceleratorAssociationTime"]));
52447
52797
  }
52448
52798
  return contents;
52449
52799
  };
@@ -52518,7 +52868,7 @@ const deserializeAws_ec2EnableFastLaunchResult = (output, context) => {
52518
52868
  contents.StateTransitionReason = __expectString(output["stateTransitionReason"]);
52519
52869
  }
52520
52870
  if (output["stateTransitionTime"] !== undefined) {
52521
- contents.StateTransitionTime = __expectNonNull(__parseRfc3339DateTime(output["stateTransitionTime"]));
52871
+ contents.StateTransitionTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["stateTransitionTime"]));
52522
52872
  }
52523
52873
  return contents;
52524
52874
  };
@@ -52631,19 +52981,19 @@ const deserializeAws_ec2EnableFastSnapshotRestoreSuccessItem = (output, context)
52631
52981
  contents.OwnerAlias = __expectString(output["ownerAlias"]);
52632
52982
  }
52633
52983
  if (output["enablingTime"] !== undefined) {
52634
- contents.EnablingTime = __expectNonNull(__parseRfc3339DateTime(output["enablingTime"]));
52984
+ contents.EnablingTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["enablingTime"]));
52635
52985
  }
52636
52986
  if (output["optimizingTime"] !== undefined) {
52637
- contents.OptimizingTime = __expectNonNull(__parseRfc3339DateTime(output["optimizingTime"]));
52987
+ contents.OptimizingTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["optimizingTime"]));
52638
52988
  }
52639
52989
  if (output["enabledTime"] !== undefined) {
52640
- contents.EnabledTime = __expectNonNull(__parseRfc3339DateTime(output["enabledTime"]));
52990
+ contents.EnabledTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["enabledTime"]));
52641
52991
  }
52642
52992
  if (output["disablingTime"] !== undefined) {
52643
- contents.DisablingTime = __expectNonNull(__parseRfc3339DateTime(output["disablingTime"]));
52993
+ contents.DisablingTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["disablingTime"]));
52644
52994
  }
52645
52995
  if (output["disabledTime"] !== undefined) {
52646
- contents.DisabledTime = __expectNonNull(__parseRfc3339DateTime(output["disabledTime"]));
52996
+ contents.DisabledTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["disabledTime"]));
52647
52997
  }
52648
52998
  return contents;
52649
52999
  };
@@ -53323,7 +53673,7 @@ const deserializeAws_ec2FleetCapacityReservation = (output, context) => {
53323
53673
  contents.EbsOptimized = __parseBoolean(output["ebsOptimized"]);
53324
53674
  }
53325
53675
  if (output["createDate"] !== undefined) {
53326
- contents.CreateDate = __expectNonNull(__parseRfc3339DateTime(output["createDate"]));
53676
+ contents.CreateDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createDate"]));
53327
53677
  }
53328
53678
  if (output["weight"] !== undefined) {
53329
53679
  contents.Weight = __strictParseFloat(output["weight"]);
@@ -53368,7 +53718,7 @@ const deserializeAws_ec2FleetData = (output, context) => {
53368
53718
  contents.ActivityStatus = __expectString(output["activityStatus"]);
53369
53719
  }
53370
53720
  if (output["createTime"] !== undefined) {
53371
- contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(output["createTime"]));
53721
+ contents.CreateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createTime"]));
53372
53722
  }
53373
53723
  if (output["fleetId"] !== undefined) {
53374
53724
  contents.FleetId = __expectString(output["fleetId"]);
@@ -53404,10 +53754,10 @@ const deserializeAws_ec2FleetData = (output, context) => {
53404
53754
  contents.Type = __expectString(output["type"]);
53405
53755
  }
53406
53756
  if (output["validFrom"] !== undefined) {
53407
- contents.ValidFrom = __expectNonNull(__parseRfc3339DateTime(output["validFrom"]));
53757
+ contents.ValidFrom = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["validFrom"]));
53408
53758
  }
53409
53759
  if (output["validUntil"] !== undefined) {
53410
- contents.ValidUntil = __expectNonNull(__parseRfc3339DateTime(output["validUntil"]));
53760
+ contents.ValidUntil = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["validUntil"]));
53411
53761
  }
53412
53762
  if (output["replaceUnhealthyInstances"] !== undefined) {
53413
53763
  contents.ReplaceUnhealthyInstances = __parseBoolean(output["replaceUnhealthyInstances"]);
@@ -53578,7 +53928,7 @@ const deserializeAws_ec2FlowLog = (output, context) => {
53578
53928
  DestinationOptions: undefined,
53579
53929
  };
53580
53930
  if (output["creationTime"] !== undefined) {
53581
- contents.CreationTime = __expectNonNull(__parseRfc3339DateTime(output["creationTime"]));
53931
+ contents.CreationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTime"]));
53582
53932
  }
53583
53933
  if (output["deliverLogsErrorMessage"] !== undefined) {
53584
53934
  contents.DeliverLogsErrorMessage = __expectString(output["deliverLogsErrorMessage"]);
@@ -53715,10 +54065,10 @@ const deserializeAws_ec2FpgaImage = (output, context) => {
53715
54065
  contents.State = deserializeAws_ec2FpgaImageState(output["state"], context);
53716
54066
  }
53717
54067
  if (output["createTime"] !== undefined) {
53718
- contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(output["createTime"]));
54068
+ contents.CreateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createTime"]));
53719
54069
  }
53720
54070
  if (output["updateTime"] !== undefined) {
53721
- contents.UpdateTime = __expectNonNull(__parseRfc3339DateTime(output["updateTime"]));
54071
+ contents.UpdateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["updateTime"]));
53722
54072
  }
53723
54073
  if (output["ownerId"] !== undefined) {
53724
54074
  contents.OwnerId = __expectString(output["ownerId"]);
@@ -53932,7 +54282,7 @@ const deserializeAws_ec2GetConsoleOutputResult = (output, context) => {
53932
54282
  contents.Output = __expectString(output["output"]);
53933
54283
  }
53934
54284
  if (output["timestamp"] !== undefined) {
53935
- contents.Timestamp = __expectNonNull(__parseRfc3339DateTime(output["timestamp"]));
54285
+ contents.Timestamp = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["timestamp"]));
53936
54286
  }
53937
54287
  return contents;
53938
54288
  };
@@ -54241,7 +54591,7 @@ const deserializeAws_ec2GetPasswordDataResult = (output, context) => {
54241
54591
  contents.PasswordData = __expectString(output["passwordData"]);
54242
54592
  }
54243
54593
  if (output["timestamp"] !== undefined) {
54244
- contents.Timestamp = __expectNonNull(__parseRfc3339DateTime(output["timestamp"]));
54594
+ contents.Timestamp = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["timestamp"]));
54245
54595
  }
54246
54596
  return contents;
54247
54597
  };
@@ -54264,7 +54614,7 @@ const deserializeAws_ec2GetReservedInstancesExchangeQuoteResult = (output, conte
54264
54614
  contents.IsValidExchange = __parseBoolean(output["isValidExchange"]);
54265
54615
  }
54266
54616
  if (output["outputReservedInstancesWillExpireAt"] !== undefined) {
54267
- contents.OutputReservedInstancesWillExpireAt = __expectNonNull(__parseRfc3339DateTime(output["outputReservedInstancesWillExpireAt"]));
54617
+ contents.OutputReservedInstancesWillExpireAt = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["outputReservedInstancesWillExpireAt"]));
54268
54618
  }
54269
54619
  if (output["paymentDue"] !== undefined) {
54270
54620
  contents.PaymentDue = __expectString(output["paymentDue"]);
@@ -54618,7 +54968,7 @@ const deserializeAws_ec2HistoryRecord = (output, context) => {
54618
54968
  contents.EventType = __expectString(output["eventType"]);
54619
54969
  }
54620
54970
  if (output["timestamp"] !== undefined) {
54621
- contents.Timestamp = __expectNonNull(__parseRfc3339DateTime(output["timestamp"]));
54971
+ contents.Timestamp = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["timestamp"]));
54622
54972
  }
54623
54973
  return contents;
54624
54974
  };
@@ -54635,7 +54985,7 @@ const deserializeAws_ec2HistoryRecordEntry = (output, context) => {
54635
54985
  contents.EventType = __expectString(output["eventType"]);
54636
54986
  }
54637
54987
  if (output["timestamp"] !== undefined) {
54638
- contents.Timestamp = __expectNonNull(__parseRfc3339DateTime(output["timestamp"]));
54988
+ contents.Timestamp = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["timestamp"]));
54639
54989
  }
54640
54990
  return contents;
54641
54991
  };
@@ -54705,10 +55055,10 @@ const deserializeAws_ec2Host = (output, context) => {
54705
55055
  contents.State = __expectString(output["state"]);
54706
55056
  }
54707
55057
  if (output["allocationTime"] !== undefined) {
54708
- contents.AllocationTime = __expectNonNull(__parseRfc3339DateTime(output["allocationTime"]));
55058
+ contents.AllocationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["allocationTime"]));
54709
55059
  }
54710
55060
  if (output["releaseTime"] !== undefined) {
54711
- contents.ReleaseTime = __expectNonNull(__parseRfc3339DateTime(output["releaseTime"]));
55061
+ contents.ReleaseTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["releaseTime"]));
54712
55062
  }
54713
55063
  if (output.tagSet === "") {
54714
55064
  contents.Tags = [];
@@ -54859,7 +55209,7 @@ const deserializeAws_ec2HostReservation = (output, context) => {
54859
55209
  contents.Duration = __strictParseInt32(output["duration"]);
54860
55210
  }
54861
55211
  if (output["end"] !== undefined) {
54862
- contents.End = __expectNonNull(__parseRfc3339DateTime(output["end"]));
55212
+ contents.End = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["end"]));
54863
55213
  }
54864
55214
  if (output.hostIdSet === "") {
54865
55215
  contents.HostIdSet = [];
@@ -54883,7 +55233,7 @@ const deserializeAws_ec2HostReservation = (output, context) => {
54883
55233
  contents.PaymentOption = __expectString(output["paymentOption"]);
54884
55234
  }
54885
55235
  if (output["start"] !== undefined) {
54886
- contents.Start = __expectNonNull(__parseRfc3339DateTime(output["start"]));
55236
+ contents.Start = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["start"]));
54887
55237
  }
54888
55238
  if (output["state"] !== undefined) {
54889
55239
  contents.State = __expectString(output["state"]);
@@ -54940,7 +55290,7 @@ const deserializeAws_ec2IamInstanceProfileAssociation = (output, context) => {
54940
55290
  contents.State = __expectString(output["state"]);
54941
55291
  }
54942
55292
  if (output["timestamp"] !== undefined) {
54943
- contents.Timestamp = __expectNonNull(__parseRfc3339DateTime(output["timestamp"]));
55293
+ contents.Timestamp = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["timestamp"]));
54944
55294
  }
54945
55295
  return contents;
54946
55296
  };
@@ -54984,7 +55334,7 @@ const deserializeAws_ec2IdFormat = (output, context) => {
54984
55334
  UseLongIds: undefined,
54985
55335
  };
54986
55336
  if (output["deadline"] !== undefined) {
54987
- contents.Deadline = __expectNonNull(__parseRfc3339DateTime(output["deadline"]));
55337
+ contents.Deadline = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["deadline"]));
54988
55338
  }
54989
55339
  if (output["resource"] !== undefined) {
54990
55340
  contents.Resource = __expectString(output["resource"]);
@@ -55242,10 +55592,10 @@ const deserializeAws_ec2ImageRecycleBinInfo = (output, context) => {
55242
55592
  contents.Description = __expectString(output["description"]);
55243
55593
  }
55244
55594
  if (output["recycleBinEnterTime"] !== undefined) {
55245
- contents.RecycleBinEnterTime = __expectNonNull(__parseRfc3339DateTime(output["recycleBinEnterTime"]));
55595
+ contents.RecycleBinEnterTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["recycleBinEnterTime"]));
55246
55596
  }
55247
55597
  if (output["recycleBinExitTime"] !== undefined) {
55248
- contents.RecycleBinExitTime = __expectNonNull(__parseRfc3339DateTime(output["recycleBinExitTime"]));
55598
+ contents.RecycleBinExitTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["recycleBinExitTime"]));
55249
55599
  }
55250
55600
  return contents;
55251
55601
  };
@@ -55755,7 +56105,7 @@ const deserializeAws_ec2Instance = (output, context) => {
55755
56105
  contents.KeyName = __expectString(output["keyName"]);
55756
56106
  }
55757
56107
  if (output["launchTime"] !== undefined) {
55758
- contents.LaunchTime = __expectNonNull(__parseRfc3339DateTime(output["launchTime"]));
56108
+ contents.LaunchTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["launchTime"]));
55759
56109
  }
55760
56110
  if (output["monitoring"] !== undefined) {
55761
56111
  contents.Monitoring = deserializeAws_ec2Monitoring(output["monitoring"], context);
@@ -55916,7 +56266,7 @@ const deserializeAws_ec2Instance = (output, context) => {
55916
56266
  contents.UsageOperation = __expectString(output["usageOperation"]);
55917
56267
  }
55918
56268
  if (output["usageOperationUpdateTime"] !== undefined) {
55919
- contents.UsageOperationUpdateTime = __expectNonNull(__parseRfc3339DateTime(output["usageOperationUpdateTime"]));
56269
+ contents.UsageOperationUpdateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["usageOperationUpdateTime"]));
55920
56270
  }
55921
56271
  if (output["privateDnsNameOptions"] !== undefined) {
55922
56272
  contents.PrivateDnsNameOptions = deserializeAws_ec2PrivateDnsNameOptionsResponse(output["privateDnsNameOptions"], context);
@@ -56498,7 +56848,7 @@ const deserializeAws_ec2InstanceNetworkInterfaceAttachment = (output, context) =
56498
56848
  NetworkCardIndex: undefined,
56499
56849
  };
56500
56850
  if (output["attachTime"] !== undefined) {
56501
- contents.AttachTime = __expectNonNull(__parseRfc3339DateTime(output["attachTime"]));
56851
+ contents.AttachTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["attachTime"]));
56502
56852
  }
56503
56853
  if (output["attachmentId"] !== undefined) {
56504
56854
  contents.AttachmentId = __expectString(output["attachmentId"]);
@@ -56858,7 +57208,7 @@ const deserializeAws_ec2InstanceStatusDetails = (output, context) => {
56858
57208
  Status: undefined,
56859
57209
  };
56860
57210
  if (output["impairedSince"] !== undefined) {
56861
- contents.ImpairedSince = __expectNonNull(__parseRfc3339DateTime(output["impairedSince"]));
57211
+ contents.ImpairedSince = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["impairedSince"]));
56862
57212
  }
56863
57213
  if (output["name"] !== undefined) {
56864
57214
  contents.Name = __expectString(output["name"]);
@@ -56894,13 +57244,13 @@ const deserializeAws_ec2InstanceStatusEvent = (output, context) => {
56894
57244
  contents.Description = __expectString(output["description"]);
56895
57245
  }
56896
57246
  if (output["notAfter"] !== undefined) {
56897
- contents.NotAfter = __expectNonNull(__parseRfc3339DateTime(output["notAfter"]));
57247
+ contents.NotAfter = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["notAfter"]));
56898
57248
  }
56899
57249
  if (output["notBefore"] !== undefined) {
56900
- contents.NotBefore = __expectNonNull(__parseRfc3339DateTime(output["notBefore"]));
57250
+ contents.NotBefore = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["notBefore"]));
56901
57251
  }
56902
57252
  if (output["notBeforeDeadline"] !== undefined) {
56903
- contents.NotBeforeDeadline = __expectNonNull(__parseRfc3339DateTime(output["notBeforeDeadline"]));
57253
+ contents.NotBeforeDeadline = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["notBeforeDeadline"]));
56904
57254
  }
56905
57255
  return contents;
56906
57256
  };
@@ -57340,10 +57690,10 @@ const deserializeAws_ec2IpamAddressHistoryRecord = (output, context) => {
57340
57690
  contents.VpcId = __expectString(output["vpcId"]);
57341
57691
  }
57342
57692
  if (output["sampledStartTime"] !== undefined) {
57343
- contents.SampledStartTime = __expectNonNull(__parseRfc3339DateTime(output["sampledStartTime"]));
57693
+ contents.SampledStartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["sampledStartTime"]));
57344
57694
  }
57345
57695
  if (output["sampledEndTime"] !== undefined) {
57346
- contents.SampledEndTime = __expectNonNull(__parseRfc3339DateTime(output["sampledEndTime"]));
57696
+ contents.SampledEndTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["sampledEndTime"]));
57347
57697
  }
57348
57698
  return contents;
57349
57699
  };
@@ -57372,10 +57722,10 @@ const deserializeAws_ec2IpamDiscoveredAccount = (output, context) => {
57372
57722
  contents.FailureReason = deserializeAws_ec2IpamDiscoveryFailureReason(output["failureReason"], context);
57373
57723
  }
57374
57724
  if (output["lastAttemptedDiscoveryTime"] !== undefined) {
57375
- contents.LastAttemptedDiscoveryTime = __expectNonNull(__parseRfc3339DateTime(output["lastAttemptedDiscoveryTime"]));
57725
+ contents.LastAttemptedDiscoveryTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["lastAttemptedDiscoveryTime"]));
57376
57726
  }
57377
57727
  if (output["lastSuccessfulDiscoveryTime"] !== undefined) {
57378
- contents.LastSuccessfulDiscoveryTime = __expectNonNull(__parseRfc3339DateTime(output["lastSuccessfulDiscoveryTime"]));
57728
+ contents.LastSuccessfulDiscoveryTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["lastSuccessfulDiscoveryTime"]));
57379
57729
  }
57380
57730
  return contents;
57381
57731
  };
@@ -57430,7 +57780,7 @@ const deserializeAws_ec2IpamDiscoveredResourceCidr = (output, context) => {
57430
57780
  contents.VpcId = __expectString(output["vpcId"]);
57431
57781
  }
57432
57782
  if (output["sampleTime"] !== undefined) {
57433
- contents.SampleTime = __expectNonNull(__parseRfc3339DateTime(output["sampleTime"]));
57783
+ contents.SampleTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["sampleTime"]));
57434
57784
  }
57435
57785
  return contents;
57436
57786
  };
@@ -58279,7 +58629,7 @@ const deserializeAws_ec2KeyPairInfo = (output, context) => {
58279
58629
  contents.PublicKey = __expectString(output["publicKey"]);
58280
58630
  }
58281
58631
  if (output["createTime"] !== undefined) {
58282
- contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(output["createTime"]));
58632
+ contents.CreateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createTime"]));
58283
58633
  }
58284
58634
  return contents;
58285
58635
  };
@@ -58429,7 +58779,7 @@ const deserializeAws_ec2LaunchTemplate = (output, context) => {
58429
58779
  contents.LaunchTemplateName = __expectString(output["launchTemplateName"]);
58430
58780
  }
58431
58781
  if (output["createTime"] !== undefined) {
58432
- contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(output["createTime"]));
58782
+ contents.CreateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createTime"]));
58433
58783
  }
58434
58784
  if (output["createdBy"] !== undefined) {
58435
58785
  contents.CreatedBy = __expectString(output["createdBy"]);
@@ -58928,7 +59278,7 @@ const deserializeAws_ec2LaunchTemplateSpotMarketOptions = (output, context) => {
58928
59278
  contents.BlockDurationMinutes = __strictParseInt32(output["blockDurationMinutes"]);
58929
59279
  }
58930
59280
  if (output["validUntil"] !== undefined) {
58931
- contents.ValidUntil = __expectNonNull(__parseRfc3339DateTime(output["validUntil"]));
59281
+ contents.ValidUntil = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["validUntil"]));
58932
59282
  }
58933
59283
  if (output["instanceInterruptionBehavior"] !== undefined) {
58934
59284
  contents.InstanceInterruptionBehavior = __expectString(output["instanceInterruptionBehavior"]);
@@ -58982,7 +59332,7 @@ const deserializeAws_ec2LaunchTemplateVersion = (output, context) => {
58982
59332
  contents.VersionDescription = __expectString(output["versionDescription"]);
58983
59333
  }
58984
59334
  if (output["createTime"] !== undefined) {
58985
- contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(output["createTime"]));
59335
+ contents.CreateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createTime"]));
58986
59336
  }
58987
59337
  if (output["createdBy"] !== undefined) {
58988
59338
  contents.CreatedBy = __expectString(output["createdBy"]);
@@ -59521,10 +59871,10 @@ const deserializeAws_ec2MetricPoint = (output, context) => {
59521
59871
  Status: undefined,
59522
59872
  };
59523
59873
  if (output["startDate"] !== undefined) {
59524
- contents.StartDate = __expectNonNull(__parseRfc3339DateTime(output["startDate"]));
59874
+ contents.StartDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["startDate"]));
59525
59875
  }
59526
59876
  if (output["endDate"] !== undefined) {
59527
- contents.EndDate = __expectNonNull(__parseRfc3339DateTime(output["endDate"]));
59877
+ contents.EndDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["endDate"]));
59528
59878
  }
59529
59879
  if (output["value"] !== undefined) {
59530
59880
  contents.Value = __strictParseFloat(output["value"]);
@@ -59832,7 +60182,7 @@ const deserializeAws_ec2ModifySnapshotTierResult = (output, context) => {
59832
60182
  contents.SnapshotId = __expectString(output["snapshotId"]);
59833
60183
  }
59834
60184
  if (output["tieringStartTime"] !== undefined) {
59835
- contents.TieringStartTime = __expectNonNull(__parseRfc3339DateTime(output["tieringStartTime"]));
60185
+ contents.TieringStartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["tieringStartTime"]));
59836
60186
  }
59837
60187
  return contents;
59838
60188
  };
@@ -60168,10 +60518,10 @@ const deserializeAws_ec2NatGateway = (output, context) => {
60168
60518
  ConnectivityType: undefined,
60169
60519
  };
60170
60520
  if (output["createTime"] !== undefined) {
60171
- contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(output["createTime"]));
60521
+ contents.CreateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createTime"]));
60172
60522
  }
60173
60523
  if (output["deleteTime"] !== undefined) {
60174
- contents.DeleteTime = __expectNonNull(__parseRfc3339DateTime(output["deleteTime"]));
60524
+ contents.DeleteTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["deleteTime"]));
60175
60525
  }
60176
60526
  if (output["failureCode"] !== undefined) {
60177
60527
  contents.FailureCode = __expectString(output["failureCode"]);
@@ -60217,6 +60567,10 @@ const deserializeAws_ec2NatGatewayAddress = (output, context) => {
60217
60567
  NetworkInterfaceId: undefined,
60218
60568
  PrivateIp: undefined,
60219
60569
  PublicIp: undefined,
60570
+ AssociationId: undefined,
60571
+ IsPrimary: undefined,
60572
+ FailureMessage: undefined,
60573
+ Status: undefined,
60220
60574
  };
60221
60575
  if (output["allocationId"] !== undefined) {
60222
60576
  contents.AllocationId = __expectString(output["allocationId"]);
@@ -60230,6 +60584,18 @@ const deserializeAws_ec2NatGatewayAddress = (output, context) => {
60230
60584
  if (output["publicIp"] !== undefined) {
60231
60585
  contents.PublicIp = __expectString(output["publicIp"]);
60232
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
+ }
60233
60599
  return contents;
60234
60600
  };
60235
60601
  const deserializeAws_ec2NatGatewayAddressList = (output, context) => {
@@ -60475,10 +60841,10 @@ const deserializeAws_ec2NetworkInsightsAccessScope = (output, context) => {
60475
60841
  contents.NetworkInsightsAccessScopeArn = __expectString(output["networkInsightsAccessScopeArn"]);
60476
60842
  }
60477
60843
  if (output["createdDate"] !== undefined) {
60478
- contents.CreatedDate = __expectNonNull(__parseRfc3339DateTime(output["createdDate"]));
60844
+ contents.CreatedDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createdDate"]));
60479
60845
  }
60480
60846
  if (output["updatedDate"] !== undefined) {
60481
- contents.UpdatedDate = __expectNonNull(__parseRfc3339DateTime(output["updatedDate"]));
60847
+ contents.UpdatedDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["updatedDate"]));
60482
60848
  }
60483
60849
  if (output.tagSet === "") {
60484
60850
  contents.Tags = [];
@@ -60521,10 +60887,10 @@ const deserializeAws_ec2NetworkInsightsAccessScopeAnalysis = (output, context) =
60521
60887
  contents.WarningMessage = __expectString(output["warningMessage"]);
60522
60888
  }
60523
60889
  if (output["startDate"] !== undefined) {
60524
- contents.StartDate = __expectNonNull(__parseRfc3339DateTime(output["startDate"]));
60890
+ contents.StartDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["startDate"]));
60525
60891
  }
60526
60892
  if (output["endDate"] !== undefined) {
60527
- contents.EndDate = __expectNonNull(__parseRfc3339DateTime(output["endDate"]));
60893
+ contents.EndDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["endDate"]));
60528
60894
  }
60529
60895
  if (output["findingsFound"] !== undefined) {
60530
60896
  contents.FindingsFound = __expectString(output["findingsFound"]);
@@ -60618,7 +60984,7 @@ const deserializeAws_ec2NetworkInsightsAnalysis = (output, context) => {
60618
60984
  contents.FilterInArns = deserializeAws_ec2ArnList(__getArrayIfSingleItem(output["filterInArnSet"]["item"]), context);
60619
60985
  }
60620
60986
  if (output["startDate"] !== undefined) {
60621
- contents.StartDate = __expectNonNull(__parseRfc3339DateTime(output["startDate"]));
60987
+ contents.StartDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["startDate"]));
60622
60988
  }
60623
60989
  if (output["status"] !== undefined) {
60624
60990
  contents.Status = __expectString(output["status"]);
@@ -60700,7 +61066,7 @@ const deserializeAws_ec2NetworkInsightsPath = (output, context) => {
60700
61066
  contents.NetworkInsightsPathArn = __expectString(output["networkInsightsPathArn"]);
60701
61067
  }
60702
61068
  if (output["createdDate"] !== undefined) {
60703
- contents.CreatedDate = __expectNonNull(__parseRfc3339DateTime(output["createdDate"]));
61069
+ contents.CreatedDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createdDate"]));
60704
61070
  }
60705
61071
  if (output["source"] !== undefined) {
60706
61072
  contents.Source = __expectString(output["source"]);
@@ -60914,7 +61280,7 @@ const deserializeAws_ec2NetworkInterfaceAttachment = (output, context) => {
60914
61280
  EnaSrdSpecification: undefined,
60915
61281
  };
60916
61282
  if (output["attachTime"] !== undefined) {
60917
- contents.AttachTime = __expectNonNull(__parseRfc3339DateTime(output["attachTime"]));
61283
+ contents.AttachTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["attachTime"]));
60918
61284
  }
60919
61285
  if (output["attachmentId"] !== undefined) {
60920
61286
  contents.AttachmentId = __expectString(output["attachmentId"]);
@@ -61931,13 +62297,13 @@ const deserializeAws_ec2ProvisionedBandwidth = (output, context) => {
61931
62297
  Status: undefined,
61932
62298
  };
61933
62299
  if (output["provisionTime"] !== undefined) {
61934
- contents.ProvisionTime = __expectNonNull(__parseRfc3339DateTime(output["provisionTime"]));
62300
+ contents.ProvisionTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["provisionTime"]));
61935
62301
  }
61936
62302
  if (output["provisioned"] !== undefined) {
61937
62303
  contents.Provisioned = __expectString(output["provisioned"]);
61938
62304
  }
61939
62305
  if (output["requestTime"] !== undefined) {
61940
- contents.RequestTime = __expectNonNull(__parseRfc3339DateTime(output["requestTime"]));
62306
+ contents.RequestTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["requestTime"]));
61941
62307
  }
61942
62308
  if (output["requested"] !== undefined) {
61943
62309
  contents.Requested = __expectString(output["requested"]);
@@ -62559,7 +62925,7 @@ const deserializeAws_ec2ReservedInstances = (output, context) => {
62559
62925
  contents.Duration = __strictParseLong(output["duration"]);
62560
62926
  }
62561
62927
  if (output["end"] !== undefined) {
62562
- contents.End = __expectNonNull(__parseRfc3339DateTime(output["end"]));
62928
+ contents.End = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["end"]));
62563
62929
  }
62564
62930
  if (output["fixedPrice"] !== undefined) {
62565
62931
  contents.FixedPrice = __strictParseFloat(output["fixedPrice"]);
@@ -62577,7 +62943,7 @@ const deserializeAws_ec2ReservedInstances = (output, context) => {
62577
62943
  contents.ReservedInstancesId = __expectString(output["reservedInstancesId"]);
62578
62944
  }
62579
62945
  if (output["start"] !== undefined) {
62580
- contents.Start = __expectNonNull(__parseRfc3339DateTime(output["start"]));
62946
+ contents.Start = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["start"]));
62581
62947
  }
62582
62948
  if (output["state"] !== undefined) {
62583
62949
  contents.State = __expectString(output["state"]);
@@ -62672,7 +63038,7 @@ const deserializeAws_ec2ReservedInstancesListing = (output, context) => {
62672
63038
  contents.ClientToken = __expectString(output["clientToken"]);
62673
63039
  }
62674
63040
  if (output["createDate"] !== undefined) {
62675
- contents.CreateDate = __expectNonNull(__parseRfc3339DateTime(output["createDate"]));
63041
+ contents.CreateDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createDate"]));
62676
63042
  }
62677
63043
  if (output.instanceCounts === "") {
62678
63044
  contents.InstanceCounts = [];
@@ -62705,7 +63071,7 @@ const deserializeAws_ec2ReservedInstancesListing = (output, context) => {
62705
63071
  contents.Tags = deserializeAws_ec2TagList(__getArrayIfSingleItem(output["tagSet"]["item"]), context);
62706
63072
  }
62707
63073
  if (output["updateDate"] !== undefined) {
62708
- contents.UpdateDate = __expectNonNull(__parseRfc3339DateTime(output["updateDate"]));
63074
+ contents.UpdateDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["updateDate"]));
62709
63075
  }
62710
63076
  return contents;
62711
63077
  };
@@ -62732,10 +63098,10 @@ const deserializeAws_ec2ReservedInstancesModification = (output, context) => {
62732
63098
  contents.ClientToken = __expectString(output["clientToken"]);
62733
63099
  }
62734
63100
  if (output["createDate"] !== undefined) {
62735
- contents.CreateDate = __expectNonNull(__parseRfc3339DateTime(output["createDate"]));
63101
+ contents.CreateDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createDate"]));
62736
63102
  }
62737
63103
  if (output["effectiveDate"] !== undefined) {
62738
- contents.EffectiveDate = __expectNonNull(__parseRfc3339DateTime(output["effectiveDate"]));
63104
+ contents.EffectiveDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["effectiveDate"]));
62739
63105
  }
62740
63106
  if (output.modificationResultSet === "") {
62741
63107
  contents.ModificationResults = [];
@@ -62759,7 +63125,7 @@ const deserializeAws_ec2ReservedInstancesModification = (output, context) => {
62759
63125
  contents.StatusMessage = __expectString(output["statusMessage"]);
62760
63126
  }
62761
63127
  if (output["updateDate"] !== undefined) {
62762
- contents.UpdateDate = __expectNonNull(__parseRfc3339DateTime(output["updateDate"]));
63128
+ contents.UpdateDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["updateDate"]));
62763
63129
  }
62764
63130
  return contents;
62765
63131
  };
@@ -63167,7 +63533,7 @@ const deserializeAws_ec2RestoreSnapshotFromRecycleBinResult = (output, context)
63167
63533
  contents.Progress = __expectString(output["progress"]);
63168
63534
  }
63169
63535
  if (output["startTime"] !== undefined) {
63170
- contents.StartTime = __expectNonNull(__parseRfc3339DateTime(output["startTime"]));
63536
+ contents.StartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["startTime"]));
63171
63537
  }
63172
63538
  if (output["status"] !== undefined) {
63173
63539
  contents.State = __expectString(output["status"]);
@@ -63191,7 +63557,7 @@ const deserializeAws_ec2RestoreSnapshotTierResult = (output, context) => {
63191
63557
  contents.SnapshotId = __expectString(output["snapshotId"]);
63192
63558
  }
63193
63559
  if (output["restoreStartTime"] !== undefined) {
63194
- contents.RestoreStartTime = __expectNonNull(__parseRfc3339DateTime(output["restoreStartTime"]));
63560
+ contents.RestoreStartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["restoreStartTime"]));
63195
63561
  }
63196
63562
  if (output["restoreDuration"] !== undefined) {
63197
63563
  contents.RestoreDuration = __strictParseInt32(output["restoreDuration"]);
@@ -63494,7 +63860,7 @@ const deserializeAws_ec2ScheduledInstance = (output, context) => {
63494
63860
  contents.AvailabilityZone = __expectString(output["availabilityZone"]);
63495
63861
  }
63496
63862
  if (output["createDate"] !== undefined) {
63497
- contents.CreateDate = __expectNonNull(__parseRfc3339DateTime(output["createDate"]));
63863
+ contents.CreateDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createDate"]));
63498
63864
  }
63499
63865
  if (output["hourlyPrice"] !== undefined) {
63500
63866
  contents.HourlyPrice = __expectString(output["hourlyPrice"]);
@@ -63509,13 +63875,13 @@ const deserializeAws_ec2ScheduledInstance = (output, context) => {
63509
63875
  contents.NetworkPlatform = __expectString(output["networkPlatform"]);
63510
63876
  }
63511
63877
  if (output["nextSlotStartTime"] !== undefined) {
63512
- contents.NextSlotStartTime = __expectNonNull(__parseRfc3339DateTime(output["nextSlotStartTime"]));
63878
+ contents.NextSlotStartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["nextSlotStartTime"]));
63513
63879
  }
63514
63880
  if (output["platform"] !== undefined) {
63515
63881
  contents.Platform = __expectString(output["platform"]);
63516
63882
  }
63517
63883
  if (output["previousSlotEndTime"] !== undefined) {
63518
- contents.PreviousSlotEndTime = __expectNonNull(__parseRfc3339DateTime(output["previousSlotEndTime"]));
63884
+ contents.PreviousSlotEndTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["previousSlotEndTime"]));
63519
63885
  }
63520
63886
  if (output["recurrence"] !== undefined) {
63521
63887
  contents.Recurrence = deserializeAws_ec2ScheduledInstanceRecurrence(output["recurrence"], context);
@@ -63527,10 +63893,10 @@ const deserializeAws_ec2ScheduledInstance = (output, context) => {
63527
63893
  contents.SlotDurationInHours = __strictParseInt32(output["slotDurationInHours"]);
63528
63894
  }
63529
63895
  if (output["termEndDate"] !== undefined) {
63530
- contents.TermEndDate = __expectNonNull(__parseRfc3339DateTime(output["termEndDate"]));
63896
+ contents.TermEndDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["termEndDate"]));
63531
63897
  }
63532
63898
  if (output["termStartDate"] !== undefined) {
63533
- contents.TermStartDate = __expectNonNull(__parseRfc3339DateTime(output["termStartDate"]));
63899
+ contents.TermStartDate = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["termStartDate"]));
63534
63900
  }
63535
63901
  if (output["totalScheduledInstanceHours"] !== undefined) {
63536
63902
  contents.TotalScheduledInstanceHours = __strictParseInt32(output["totalScheduledInstanceHours"]);
@@ -63560,7 +63926,7 @@ const deserializeAws_ec2ScheduledInstanceAvailability = (output, context) => {
63560
63926
  contents.AvailableInstanceCount = __strictParseInt32(output["availableInstanceCount"]);
63561
63927
  }
63562
63928
  if (output["firstSlotStartTime"] !== undefined) {
63563
- contents.FirstSlotStartTime = __expectNonNull(__parseRfc3339DateTime(output["firstSlotStartTime"]));
63929
+ contents.FirstSlotStartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["firstSlotStartTime"]));
63564
63930
  }
63565
63931
  if (output["hourlyPrice"] !== undefined) {
63566
63932
  contents.HourlyPrice = __expectString(output["hourlyPrice"]);
@@ -64100,7 +64466,7 @@ const deserializeAws_ec2Snapshot = (output, context) => {
64100
64466
  contents.SnapshotId = __expectString(output["snapshotId"]);
64101
64467
  }
64102
64468
  if (output["startTime"] !== undefined) {
64103
- contents.StartTime = __expectNonNull(__parseRfc3339DateTime(output["startTime"]));
64469
+ contents.StartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["startTime"]));
64104
64470
  }
64105
64471
  if (output["status"] !== undefined) {
64106
64472
  contents.State = __expectString(output["status"]);
@@ -64130,7 +64496,7 @@ const deserializeAws_ec2Snapshot = (output, context) => {
64130
64496
  contents.StorageTier = __expectString(output["storageTier"]);
64131
64497
  }
64132
64498
  if (output["restoreExpiryTime"] !== undefined) {
64133
- contents.RestoreExpiryTime = __expectNonNull(__parseRfc3339DateTime(output["restoreExpiryTime"]));
64499
+ contents.RestoreExpiryTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["restoreExpiryTime"]));
64134
64500
  }
64135
64501
  return contents;
64136
64502
  };
@@ -64222,7 +64588,7 @@ const deserializeAws_ec2SnapshotInfo = (output, context) => {
64222
64588
  contents.VolumeSize = __strictParseInt32(output["volumeSize"]);
64223
64589
  }
64224
64590
  if (output["startTime"] !== undefined) {
64225
- contents.StartTime = __expectNonNull(__parseRfc3339DateTime(output["startTime"]));
64591
+ contents.StartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["startTime"]));
64226
64592
  }
64227
64593
  if (output["progress"] !== undefined) {
64228
64594
  contents.Progress = __expectString(output["progress"]);
@@ -64257,10 +64623,10 @@ const deserializeAws_ec2SnapshotRecycleBinInfo = (output, context) => {
64257
64623
  contents.SnapshotId = __expectString(output["snapshotId"]);
64258
64624
  }
64259
64625
  if (output["recycleBinEnterTime"] !== undefined) {
64260
- contents.RecycleBinEnterTime = __expectNonNull(__parseRfc3339DateTime(output["recycleBinEnterTime"]));
64626
+ contents.RecycleBinEnterTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["recycleBinEnterTime"]));
64261
64627
  }
64262
64628
  if (output["recycleBinExitTime"] !== undefined) {
64263
- contents.RecycleBinExitTime = __expectNonNull(__parseRfc3339DateTime(output["recycleBinExitTime"]));
64629
+ contents.RecycleBinExitTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["recycleBinExitTime"]));
64264
64630
  }
64265
64631
  if (output["description"] !== undefined) {
64266
64632
  contents.Description = __expectString(output["description"]);
@@ -64370,7 +64736,7 @@ const deserializeAws_ec2SnapshotTierStatus = (output, context) => {
64370
64736
  contents.StorageTier = __expectString(output["storageTier"]);
64371
64737
  }
64372
64738
  if (output["lastTieringStartTime"] !== undefined) {
64373
- contents.LastTieringStartTime = __expectNonNull(__parseRfc3339DateTime(output["lastTieringStartTime"]));
64739
+ contents.LastTieringStartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["lastTieringStartTime"]));
64374
64740
  }
64375
64741
  if (output["lastTieringProgress"] !== undefined) {
64376
64742
  contents.LastTieringProgress = __strictParseInt32(output["lastTieringProgress"]);
@@ -64382,10 +64748,10 @@ const deserializeAws_ec2SnapshotTierStatus = (output, context) => {
64382
64748
  contents.LastTieringOperationStatusDetail = __expectString(output["lastTieringOperationStatusDetail"]);
64383
64749
  }
64384
64750
  if (output["archivalCompleteTime"] !== undefined) {
64385
- contents.ArchivalCompleteTime = __expectNonNull(__parseRfc3339DateTime(output["archivalCompleteTime"]));
64751
+ contents.ArchivalCompleteTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["archivalCompleteTime"]));
64386
64752
  }
64387
64753
  if (output["restoreExpiryTime"] !== undefined) {
64388
- contents.RestoreExpiryTime = __expectNonNull(__parseRfc3339DateTime(output["restoreExpiryTime"]));
64754
+ contents.RestoreExpiryTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["restoreExpiryTime"]));
64389
64755
  }
64390
64756
  return contents;
64391
64757
  };
@@ -64549,7 +64915,7 @@ const deserializeAws_ec2SpotFleetRequestConfig = (output, context) => {
64549
64915
  contents.ActivityStatus = __expectString(output["activityStatus"]);
64550
64916
  }
64551
64917
  if (output["createTime"] !== undefined) {
64552
- contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(output["createTime"]));
64918
+ contents.CreateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createTime"]));
64553
64919
  }
64554
64920
  if (output["spotFleetRequestConfig"] !== undefined) {
64555
64921
  contents.SpotFleetRequestConfig = deserializeAws_ec2SpotFleetRequestConfigData(output["spotFleetRequestConfig"], context);
@@ -64655,10 +65021,10 @@ const deserializeAws_ec2SpotFleetRequestConfigData = (output, context) => {
64655
65021
  contents.Type = __expectString(output["type"]);
64656
65022
  }
64657
65023
  if (output["validFrom"] !== undefined) {
64658
- contents.ValidFrom = __expectNonNull(__parseRfc3339DateTime(output["validFrom"]));
65024
+ contents.ValidFrom = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["validFrom"]));
64659
65025
  }
64660
65026
  if (output["validUntil"] !== undefined) {
64661
- contents.ValidUntil = __expectNonNull(__parseRfc3339DateTime(output["validUntil"]));
65027
+ contents.ValidUntil = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["validUntil"]));
64662
65028
  }
64663
65029
  if (output["replaceUnhealthyInstances"] !== undefined) {
64664
65030
  contents.ReplaceUnhealthyInstances = __parseBoolean(output["replaceUnhealthyInstances"]);
@@ -64748,7 +65114,7 @@ const deserializeAws_ec2SpotInstanceRequest = (output, context) => {
64748
65114
  contents.BlockDurationMinutes = __strictParseInt32(output["blockDurationMinutes"]);
64749
65115
  }
64750
65116
  if (output["createTime"] !== undefined) {
64751
- contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(output["createTime"]));
65117
+ contents.CreateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createTime"]));
64752
65118
  }
64753
65119
  if (output["fault"] !== undefined) {
64754
65120
  contents.Fault = deserializeAws_ec2SpotInstanceStateFault(output["fault"], context);
@@ -64790,10 +65156,10 @@ const deserializeAws_ec2SpotInstanceRequest = (output, context) => {
64790
65156
  contents.Type = __expectString(output["type"]);
64791
65157
  }
64792
65158
  if (output["validFrom"] !== undefined) {
64793
- contents.ValidFrom = __expectNonNull(__parseRfc3339DateTime(output["validFrom"]));
65159
+ contents.ValidFrom = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["validFrom"]));
64794
65160
  }
64795
65161
  if (output["validUntil"] !== undefined) {
64796
- contents.ValidUntil = __expectNonNull(__parseRfc3339DateTime(output["validUntil"]));
65162
+ contents.ValidUntil = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["validUntil"]));
64797
65163
  }
64798
65164
  if (output["instanceInterruptionBehavior"] !== undefined) {
64799
65165
  contents.InstanceInterruptionBehavior = __expectString(output["instanceInterruptionBehavior"]);
@@ -64833,7 +65199,7 @@ const deserializeAws_ec2SpotInstanceStatus = (output, context) => {
64833
65199
  contents.Message = __expectString(output["message"]);
64834
65200
  }
64835
65201
  if (output["updateTime"] !== undefined) {
64836
- contents.UpdateTime = __expectNonNull(__parseRfc3339DateTime(output["updateTime"]));
65202
+ contents.UpdateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["updateTime"]));
64837
65203
  }
64838
65204
  return contents;
64839
65205
  };
@@ -64945,7 +65311,7 @@ const deserializeAws_ec2SpotPrice = (output, context) => {
64945
65311
  contents.SpotPrice = __expectString(output["spotPrice"]);
64946
65312
  }
64947
65313
  if (output["timestamp"] !== undefined) {
64948
- contents.Timestamp = __expectNonNull(__parseRfc3339DateTime(output["timestamp"]));
65314
+ contents.Timestamp = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["timestamp"]));
64949
65315
  }
64950
65316
  return contents;
64951
65317
  };
@@ -65131,7 +65497,7 @@ const deserializeAws_ec2StoreImageTaskResult = (output, context) => {
65131
65497
  contents.AmiId = __expectString(output["amiId"]);
65132
65498
  }
65133
65499
  if (output["taskStartTime"] !== undefined) {
65134
- contents.TaskStartTime = __expectNonNull(__parseRfc3339DateTime(output["taskStartTime"]));
65500
+ contents.TaskStartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["taskStartTime"]));
65135
65501
  }
65136
65502
  if (output["bucket"] !== undefined) {
65137
65503
  contents.Bucket = __expectString(output["bucket"]);
@@ -65979,7 +66345,7 @@ const deserializeAws_ec2TransitGateway = (output, context) => {
65979
66345
  contents.Description = __expectString(output["description"]);
65980
66346
  }
65981
66347
  if (output["creationTime"] !== undefined) {
65982
- contents.CreationTime = __expectNonNull(__parseRfc3339DateTime(output["creationTime"]));
66348
+ contents.CreationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTime"]));
65983
66349
  }
65984
66350
  if (output["options"] !== undefined) {
65985
66351
  contents.Options = deserializeAws_ec2TransitGatewayOptions(output["options"], context);
@@ -66055,7 +66421,7 @@ const deserializeAws_ec2TransitGatewayAttachment = (output, context) => {
66055
66421
  contents.Association = deserializeAws_ec2TransitGatewayAttachmentAssociation(output["association"], context);
66056
66422
  }
66057
66423
  if (output["creationTime"] !== undefined) {
66058
- contents.CreationTime = __expectNonNull(__parseRfc3339DateTime(output["creationTime"]));
66424
+ contents.CreationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTime"]));
66059
66425
  }
66060
66426
  if (output.tagSet === "") {
66061
66427
  contents.Tags = [];
@@ -66160,7 +66526,7 @@ const deserializeAws_ec2TransitGatewayConnect = (output, context) => {
66160
66526
  contents.State = __expectString(output["state"]);
66161
66527
  }
66162
66528
  if (output["creationTime"] !== undefined) {
66163
- contents.CreationTime = __expectNonNull(__parseRfc3339DateTime(output["creationTime"]));
66529
+ contents.CreationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTime"]));
66164
66530
  }
66165
66531
  if (output["options"] !== undefined) {
66166
66532
  contents.Options = deserializeAws_ec2TransitGatewayConnectOptions(output["options"], context);
@@ -66208,7 +66574,7 @@ const deserializeAws_ec2TransitGatewayConnectPeer = (output, context) => {
66208
66574
  contents.State = __expectString(output["state"]);
66209
66575
  }
66210
66576
  if (output["creationTime"] !== undefined) {
66211
- contents.CreationTime = __expectNonNull(__parseRfc3339DateTime(output["creationTime"]));
66577
+ contents.CreationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTime"]));
66212
66578
  }
66213
66579
  if (output["connectPeerConfiguration"] !== undefined) {
66214
66580
  contents.ConnectPeerConfiguration = deserializeAws_ec2TransitGatewayConnectPeerConfiguration(output["connectPeerConfiguration"], context);
@@ -66338,7 +66704,7 @@ const deserializeAws_ec2TransitGatewayMulticastDomain = (output, context) => {
66338
66704
  contents.State = __expectString(output["state"]);
66339
66705
  }
66340
66706
  if (output["creationTime"] !== undefined) {
66341
- contents.CreationTime = __expectNonNull(__parseRfc3339DateTime(output["creationTime"]));
66707
+ contents.CreationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTime"]));
66342
66708
  }
66343
66709
  if (output.tagSet === "") {
66344
66710
  contents.Tags = [];
@@ -66617,7 +66983,7 @@ const deserializeAws_ec2TransitGatewayPeeringAttachment = (output, context) => {
66617
66983
  contents.State = __expectString(output["state"]);
66618
66984
  }
66619
66985
  if (output["creationTime"] !== undefined) {
66620
- contents.CreationTime = __expectNonNull(__parseRfc3339DateTime(output["creationTime"]));
66986
+ contents.CreationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTime"]));
66621
66987
  }
66622
66988
  if (output.tagSet === "") {
66623
66989
  contents.Tags = [];
@@ -66703,7 +67069,7 @@ const deserializeAws_ec2TransitGatewayPolicyTable = (output, context) => {
66703
67069
  contents.State = __expectString(output["state"]);
66704
67070
  }
66705
67071
  if (output["creationTime"] !== undefined) {
66706
- contents.CreationTime = __expectNonNull(__parseRfc3339DateTime(output["creationTime"]));
67072
+ contents.CreationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTime"]));
66707
67073
  }
66708
67074
  if (output.tagSet === "") {
66709
67075
  contents.Tags = [];
@@ -66948,7 +67314,7 @@ const deserializeAws_ec2TransitGatewayRouteTable = (output, context) => {
66948
67314
  contents.DefaultPropagationRouteTable = __parseBoolean(output["defaultPropagationRouteTable"]);
66949
67315
  }
66950
67316
  if (output["creationTime"] !== undefined) {
66951
- contents.CreationTime = __expectNonNull(__parseRfc3339DateTime(output["creationTime"]));
67317
+ contents.CreationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTime"]));
66952
67318
  }
66953
67319
  if (output.tagSet === "") {
66954
67320
  contents.Tags = [];
@@ -67000,7 +67366,7 @@ const deserializeAws_ec2TransitGatewayRouteTableAnnouncement = (output, context)
67000
67366
  contents.State = __expectString(output["state"]);
67001
67367
  }
67002
67368
  if (output["creationTime"] !== undefined) {
67003
- contents.CreationTime = __expectNonNull(__parseRfc3339DateTime(output["creationTime"]));
67369
+ contents.CreationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTime"]));
67004
67370
  }
67005
67371
  if (output.tagSet === "") {
67006
67372
  contents.Tags = [];
@@ -67151,7 +67517,7 @@ const deserializeAws_ec2TransitGatewayVpcAttachment = (output, context) => {
67151
67517
  contents.SubnetIds = deserializeAws_ec2ValueStringList(__getArrayIfSingleItem(output["subnetIds"]["item"]), context);
67152
67518
  }
67153
67519
  if (output["creationTime"] !== undefined) {
67154
- contents.CreationTime = __expectNonNull(__parseRfc3339DateTime(output["creationTime"]));
67520
+ contents.CreationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTime"]));
67155
67521
  }
67156
67522
  if (output["options"] !== undefined) {
67157
67523
  contents.Options = deserializeAws_ec2TransitGatewayVpcAttachmentOptions(output["options"], context);
@@ -67373,6 +67739,22 @@ const deserializeAws_ec2UnassignIpv6AddressesResult = (output, context) => {
67373
67739
  }
67374
67740
  return contents;
67375
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
+ };
67376
67758
  const deserializeAws_ec2UnmonitorInstancesResult = (output, context) => {
67377
67759
  const contents = {
67378
67760
  InstanceMonitorings: undefined,
@@ -68077,7 +68459,7 @@ const deserializeAws_ec2VgwTelemetry = (output, context) => {
68077
68459
  contents.AcceptedRouteCount = __strictParseInt32(output["acceptedRouteCount"]);
68078
68460
  }
68079
68461
  if (output["lastStatusChange"] !== undefined) {
68080
- contents.LastStatusChange = __expectNonNull(__parseRfc3339DateTime(output["lastStatusChange"]));
68462
+ contents.LastStatusChange = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["lastStatusChange"]));
68081
68463
  }
68082
68464
  if (output["outsideIpAddress"] !== undefined) {
68083
68465
  contents.OutsideIpAddress = __expectString(output["outsideIpAddress"]);
@@ -68136,7 +68518,7 @@ const deserializeAws_ec2Volume = (output, context) => {
68136
68518
  contents.AvailabilityZone = __expectString(output["availabilityZone"]);
68137
68519
  }
68138
68520
  if (output["createTime"] !== undefined) {
68139
- contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(output["createTime"]));
68521
+ contents.CreateTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["createTime"]));
68140
68522
  }
68141
68523
  if (output["encrypted"] !== undefined) {
68142
68524
  contents.Encrypted = __parseBoolean(output["encrypted"]);
@@ -68192,7 +68574,7 @@ const deserializeAws_ec2VolumeAttachment = (output, context) => {
68192
68574
  DeleteOnTermination: undefined,
68193
68575
  };
68194
68576
  if (output["attachTime"] !== undefined) {
68195
- contents.AttachTime = __expectNonNull(__parseRfc3339DateTime(output["attachTime"]));
68577
+ contents.AttachTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["attachTime"]));
68196
68578
  }
68197
68579
  if (output["device"] !== undefined) {
68198
68580
  contents.Device = __expectString(output["device"]);
@@ -68287,10 +68669,10 @@ const deserializeAws_ec2VolumeModification = (output, context) => {
68287
68669
  contents.Progress = __strictParseLong(output["progress"]);
68288
68670
  }
68289
68671
  if (output["startTime"] !== undefined) {
68290
- contents.StartTime = __expectNonNull(__parseRfc3339DateTime(output["startTime"]));
68672
+ contents.StartTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["startTime"]));
68291
68673
  }
68292
68674
  if (output["endTime"] !== undefined) {
68293
- contents.EndTime = __expectNonNull(__parseRfc3339DateTime(output["endTime"]));
68675
+ contents.EndTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["endTime"]));
68294
68676
  }
68295
68677
  return contents;
68296
68678
  };
@@ -68388,10 +68770,10 @@ const deserializeAws_ec2VolumeStatusEvent = (output, context) => {
68388
68770
  contents.EventType = __expectString(output["eventType"]);
68389
68771
  }
68390
68772
  if (output["notAfter"] !== undefined) {
68391
- contents.NotAfter = __expectNonNull(__parseRfc3339DateTime(output["notAfter"]));
68773
+ contents.NotAfter = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["notAfter"]));
68392
68774
  }
68393
68775
  if (output["notBefore"] !== undefined) {
68394
- contents.NotBefore = __expectNonNull(__parseRfc3339DateTime(output["notBefore"]));
68776
+ contents.NotBefore = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["notBefore"]));
68395
68777
  }
68396
68778
  if (output["instanceId"] !== undefined) {
68397
68779
  contents.InstanceId = __expectString(output["instanceId"]);
@@ -68693,7 +69075,7 @@ const deserializeAws_ec2VpcEndpoint = (output, context) => {
68693
69075
  contents.DnsEntries = deserializeAws_ec2DnsEntrySet(__getArrayIfSingleItem(output["dnsEntrySet"]["item"]), context);
68694
69076
  }
68695
69077
  if (output["creationTimestamp"] !== undefined) {
68696
- contents.CreationTimestamp = __expectNonNull(__parseRfc3339DateTime(output["creationTimestamp"]));
69078
+ contents.CreationTimestamp = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTimestamp"]));
68697
69079
  }
68698
69080
  if (output.tagSet === "") {
68699
69081
  contents.Tags = [];
@@ -68736,7 +69118,7 @@ const deserializeAws_ec2VpcEndpointConnection = (output, context) => {
68736
69118
  contents.VpcEndpointState = __expectString(output["vpcEndpointState"]);
68737
69119
  }
68738
69120
  if (output["creationTimestamp"] !== undefined) {
68739
- contents.CreationTimestamp = __expectNonNull(__parseRfc3339DateTime(output["creationTimestamp"]));
69121
+ contents.CreationTimestamp = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["creationTimestamp"]));
68740
69122
  }
68741
69123
  if (output.dnsEntrySet === "") {
68742
69124
  contents.DnsEntries = [];
@@ -68838,7 +69220,7 @@ const deserializeAws_ec2VpcPeeringConnection = (output, context) => {
68838
69220
  contents.AccepterVpcInfo = deserializeAws_ec2VpcPeeringConnectionVpcInfo(output["accepterVpcInfo"], context);
68839
69221
  }
68840
69222
  if (output["expirationTime"] !== undefined) {
68841
- contents.ExpirationTime = __expectNonNull(__parseRfc3339DateTime(output["expirationTime"]));
69223
+ contents.ExpirationTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["expirationTime"]));
68842
69224
  }
68843
69225
  if (output["requesterVpcInfo"] !== undefined) {
68844
69226
  contents.RequesterVpcInfo = deserializeAws_ec2VpcPeeringConnectionVpcInfo(output["requesterVpcInfo"], context);