@aws-sdk/client-ec2 3.204.0 → 3.205.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 (58) hide show
  1. package/CHANGELOG.md +3664 -0
  2. package/dist-cjs/commands/CreateSubnetCidrReservationCommand.js +2 -1
  3. package/dist-cjs/commands/DeregisterTransitGatewayMulticastGroupMembersCommand.js +1 -2
  4. package/dist-cjs/commands/DescribeLaunchTemplatesCommand.js +3 -3
  5. package/dist-cjs/commands/DisassociateTransitGatewayRouteTableCommand.js +2 -1
  6. package/dist-cjs/commands/DisassociateTrunkInterfaceCommand.js +1 -2
  7. package/dist-cjs/commands/ModifyVpcPeeringConnectionOptionsCommand.js +1 -2
  8. package/dist-cjs/models/models_1.js +13 -13
  9. package/dist-cjs/models/models_2.js +14 -14
  10. package/dist-cjs/models/models_3.js +13 -13
  11. package/dist-cjs/models/models_4.js +14 -14
  12. package/dist-cjs/models/models_5.js +14 -14
  13. package/dist-cjs/models/models_6.js +12 -4
  14. package/dist-cjs/protocols/Aws_ec2.js +97 -0
  15. package/dist-es/commands/CreateSubnetCidrReservationCommand.js +2 -1
  16. package/dist-es/commands/DeregisterTransitGatewayMulticastGroupMembersCommand.js +1 -2
  17. package/dist-es/commands/DescribeLaunchTemplatesCommand.js +1 -1
  18. package/dist-es/commands/DisassociateTransitGatewayRouteTableCommand.js +2 -1
  19. package/dist-es/commands/DisassociateTrunkInterfaceCommand.js +1 -2
  20. package/dist-es/commands/ModifyVpcPeeringConnectionOptionsCommand.js +1 -2
  21. package/dist-es/models/models_1.js +6 -6
  22. package/dist-es/models/models_2.js +6 -6
  23. package/dist-es/models/models_3.js +6 -6
  24. package/dist-es/models/models_4.js +6 -6
  25. package/dist-es/models/models_5.js +6 -6
  26. package/dist-es/models/models_6.js +6 -0
  27. package/dist-es/protocols/Aws_ec2.js +97 -0
  28. package/dist-types/EC2.d.ts +8 -7
  29. package/dist-types/commands/CreateSpotDatafeedSubscriptionCommand.d.ts +3 -3
  30. package/dist-types/commands/CreateSubnetCidrReservationCommand.d.ts +2 -1
  31. package/dist-types/commands/DeregisterTransitGatewayMulticastGroupMembersCommand.d.ts +1 -2
  32. package/dist-types/commands/DescribeLaunchTemplatesCommand.d.ts +1 -1
  33. package/dist-types/commands/DescribeSpotDatafeedSubscriptionCommand.d.ts +1 -1
  34. package/dist-types/commands/DescribeSpotFleetRequestHistoryCommand.d.ts +1 -1
  35. package/dist-types/commands/DisassociateTransitGatewayRouteTableCommand.d.ts +2 -1
  36. package/dist-types/commands/DisassociateTrunkInterfaceCommand.d.ts +1 -2
  37. package/dist-types/commands/ModifyVpcPeeringConnectionOptionsCommand.d.ts +1 -2
  38. package/dist-types/commands/RequestSpotFleetCommand.d.ts +2 -2
  39. package/dist-types/commands/RequestSpotInstancesCommand.d.ts +1 -0
  40. package/dist-types/models/models_1.d.ts +136 -56
  41. package/dist-types/models/models_2.d.ts +50 -45
  42. package/dist-types/models/models_3.d.ts +47 -71
  43. package/dist-types/models/models_4.d.ts +83 -46
  44. package/dist-types/models/models_5.d.ts +34 -53
  45. package/dist-types/models/models_6.d.ts +53 -2
  46. package/dist-types/ts3.4/commands/CreateSubnetCidrReservationCommand.d.ts +2 -4
  47. package/dist-types/ts3.4/commands/DeregisterTransitGatewayMulticastGroupMembersCommand.d.ts +4 -2
  48. package/dist-types/ts3.4/commands/DescribeLaunchTemplatesCommand.d.ts +1 -1
  49. package/dist-types/ts3.4/commands/DisassociateTransitGatewayRouteTableCommand.d.ts +2 -4
  50. package/dist-types/ts3.4/commands/DisassociateTrunkInterfaceCommand.d.ts +4 -2
  51. package/dist-types/ts3.4/commands/ModifyVpcPeeringConnectionOptionsCommand.d.ts +4 -2
  52. package/dist-types/ts3.4/models/models_1.d.ts +18 -18
  53. package/dist-types/ts3.4/models/models_2.d.ts +19 -18
  54. package/dist-types/ts3.4/models/models_3.d.ts +18 -24
  55. package/dist-types/ts3.4/models/models_4.d.ts +19 -15
  56. package/dist-types/ts3.4/models/models_5.d.ts +16 -18
  57. package/dist-types/ts3.4/models/models_6.d.ts +18 -1
  58. package/package.json +1 -1
@@ -21608,6 +21608,18 @@ const serializeAws_ec2AllocationIds = (input, context) => {
21608
21608
  }
21609
21609
  return entries;
21610
21610
  };
21611
+ const serializeAws_ec2AllowedInstanceTypeSet = (input, context) => {
21612
+ const entries = {};
21613
+ let counter = 1;
21614
+ for (const entry of input) {
21615
+ if (entry === null) {
21616
+ continue;
21617
+ }
21618
+ entries[`Item.${counter}`] = entry;
21619
+ counter++;
21620
+ }
21621
+ return entries;
21622
+ };
21611
21623
  const serializeAws_ec2ApplySecurityGroupsToClientVpnTargetNetworkRequest = (input, context) => {
21612
21624
  const entries = {};
21613
21625
  if (input.ClientVpnEndpointId != null) {
@@ -33584,6 +33596,23 @@ const serializeAws_ec2InstanceRequirements = (input, context) => {
33584
33596
  entries[loc] = value;
33585
33597
  });
33586
33598
  }
33599
+ if (input.NetworkBandwidthGbps != null) {
33600
+ const memberEntries = serializeAws_ec2NetworkBandwidthGbps(input.NetworkBandwidthGbps, context);
33601
+ Object.entries(memberEntries).forEach(([key, value]) => {
33602
+ const loc = `NetworkBandwidthGbps.${key}`;
33603
+ entries[loc] = value;
33604
+ });
33605
+ }
33606
+ if (input.AllowedInstanceTypes != null) {
33607
+ const memberEntries = serializeAws_ec2AllowedInstanceTypeSet(input.AllowedInstanceTypes, context);
33608
+ if (input.AllowedInstanceTypes?.length === 0) {
33609
+ entries.AllowedInstanceTypeSet = [];
33610
+ }
33611
+ Object.entries(memberEntries).forEach(([key, value]) => {
33612
+ const loc = `AllowedInstanceTypeSet.${key.substring(key.indexOf(".") + 1)}`;
33613
+ entries[loc] = value;
33614
+ });
33615
+ }
33587
33616
  return entries;
33588
33617
  };
33589
33618
  const serializeAws_ec2InstanceRequirementsRequest = (input, context) => {
@@ -33732,6 +33761,23 @@ const serializeAws_ec2InstanceRequirementsRequest = (input, context) => {
33732
33761
  entries[loc] = value;
33733
33762
  });
33734
33763
  }
33764
+ if (input.NetworkBandwidthGbps != null) {
33765
+ const memberEntries = serializeAws_ec2NetworkBandwidthGbpsRequest(input.NetworkBandwidthGbps, context);
33766
+ Object.entries(memberEntries).forEach(([key, value]) => {
33767
+ const loc = `NetworkBandwidthGbps.${key}`;
33768
+ entries[loc] = value;
33769
+ });
33770
+ }
33771
+ if (input.AllowedInstanceTypes != null) {
33772
+ const memberEntries = serializeAws_ec2AllowedInstanceTypeSet(input.AllowedInstanceTypes, context);
33773
+ if (input.AllowedInstanceTypes?.length === 0) {
33774
+ entries.AllowedInstanceType = [];
33775
+ }
33776
+ Object.entries(memberEntries).forEach(([key, value]) => {
33777
+ const loc = `AllowedInstanceType.${key.substring(key.indexOf(".") + 1)}`;
33778
+ entries[loc] = value;
33779
+ });
33780
+ }
33735
33781
  return entries;
33736
33782
  };
33737
33783
  const serializeAws_ec2InstanceRequirementsWithMetadataRequest = (input, context) => {
@@ -36895,6 +36941,26 @@ const serializeAws_ec2NetworkAclIdStringList = (input, context) => {
36895
36941
  }
36896
36942
  return entries;
36897
36943
  };
36944
+ const serializeAws_ec2NetworkBandwidthGbps = (input, context) => {
36945
+ const entries = {};
36946
+ if (input.Min != null) {
36947
+ entries["Min"] = __serializeFloat(input.Min);
36948
+ }
36949
+ if (input.Max != null) {
36950
+ entries["Max"] = __serializeFloat(input.Max);
36951
+ }
36952
+ return entries;
36953
+ };
36954
+ const serializeAws_ec2NetworkBandwidthGbpsRequest = (input, context) => {
36955
+ const entries = {};
36956
+ if (input.Min != null) {
36957
+ entries["Min"] = __serializeFloat(input.Min);
36958
+ }
36959
+ if (input.Max != null) {
36960
+ entries["Max"] = __serializeFloat(input.Max);
36961
+ }
36962
+ return entries;
36963
+ };
36898
36964
  const serializeAws_ec2NetworkInsightsAccessScopeAnalysisIdList = (input, context) => {
36899
36965
  const entries = {};
36900
36966
  let counter = 1;
@@ -42254,6 +42320,13 @@ const deserializeAws_ec2AllocateIpamPoolCidrResult = (output, context) => {
42254
42320
  }
42255
42321
  return contents;
42256
42322
  };
42323
+ const deserializeAws_ec2AllowedInstanceTypeSet = (output, context) => {
42324
+ return (output || [])
42325
+ .filter((e) => e != null)
42326
+ .map((entry) => {
42327
+ return __expectString(entry);
42328
+ });
42329
+ };
42257
42330
  const deserializeAws_ec2AllowedPrincipal = (output, context) => {
42258
42331
  const contents = {
42259
42332
  PrincipalType: undefined,
@@ -53301,6 +53374,8 @@ const deserializeAws_ec2InstanceRequirements = (output, context) => {
53301
53374
  AcceleratorManufacturers: undefined,
53302
53375
  AcceleratorNames: undefined,
53303
53376
  AcceleratorTotalMemoryMiB: undefined,
53377
+ NetworkBandwidthGbps: undefined,
53378
+ AllowedInstanceTypes: undefined,
53304
53379
  };
53305
53380
  if (output["vCpuCount"] !== undefined) {
53306
53381
  contents.VCpuCount = deserializeAws_ec2VCpuCountRange(output["vCpuCount"], context);
@@ -53388,6 +53463,15 @@ const deserializeAws_ec2InstanceRequirements = (output, context) => {
53388
53463
  if (output["acceleratorTotalMemoryMiB"] !== undefined) {
53389
53464
  contents.AcceleratorTotalMemoryMiB = deserializeAws_ec2AcceleratorTotalMemoryMiB(output["acceleratorTotalMemoryMiB"], context);
53390
53465
  }
53466
+ if (output["networkBandwidthGbps"] !== undefined) {
53467
+ contents.NetworkBandwidthGbps = deserializeAws_ec2NetworkBandwidthGbps(output["networkBandwidthGbps"], context);
53468
+ }
53469
+ if (output.allowedInstanceTypeSet === "") {
53470
+ contents.AllowedInstanceTypes = [];
53471
+ }
53472
+ else if (output["allowedInstanceTypeSet"] !== undefined && output["allowedInstanceTypeSet"]["item"] !== undefined) {
53473
+ contents.AllowedInstanceTypes = deserializeAws_ec2AllowedInstanceTypeSet(__getArrayIfSingleItem(output["allowedInstanceTypeSet"]["item"]), context);
53474
+ }
53391
53475
  return contents;
53392
53476
  };
53393
53477
  const deserializeAws_ec2InstanceState = (output, context) => {
@@ -56615,6 +56699,19 @@ const deserializeAws_ec2NetworkAclList = (output, context) => {
56615
56699
  return deserializeAws_ec2NetworkAcl(entry, context);
56616
56700
  });
56617
56701
  };
56702
+ const deserializeAws_ec2NetworkBandwidthGbps = (output, context) => {
56703
+ const contents = {
56704
+ Min: undefined,
56705
+ Max: undefined,
56706
+ };
56707
+ if (output["min"] !== undefined) {
56708
+ contents.Min = __strictParseFloat(output["min"]);
56709
+ }
56710
+ if (output["max"] !== undefined) {
56711
+ contents.Max = __strictParseFloat(output["max"]);
56712
+ }
56713
+ return contents;
56714
+ };
56618
56715
  const deserializeAws_ec2NetworkCardInfo = (output, context) => {
56619
56716
  const contents = {
56620
56717
  NetworkCardIndex: undefined,
@@ -1823,9 +1823,9 @@ export declare class EC2 extends EC2Client {
1823
1823
  createSnapshots(args: CreateSnapshotsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: CreateSnapshotsCommandOutput) => void): void;
1824
1824
  /**
1825
1825
  * <p>Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs.
1826
- * You can create one data feed per Amazon Web Services account. For more information, see
1827
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html">Spot Instance data feed</a>
1828
- * in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
1826
+ * You can create one data feed per Amazon Web Services account. For more information, see
1827
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html">Spot Instance data feed</a>
1828
+ * in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
1829
1829
  */
1830
1830
  createSpotDatafeedSubscription(args: CreateSpotDatafeedSubscriptionCommandInput, options?: __HttpHandlerOptions): Promise<CreateSpotDatafeedSubscriptionCommandOutput>;
1831
1831
  createSpotDatafeedSubscription(args: CreateSpotDatafeedSubscriptionCommandInput, cb: (err: any, data?: CreateSpotDatafeedSubscriptionCommandOutput) => void): void;
@@ -3671,7 +3671,7 @@ export declare class EC2 extends EC2Client {
3671
3671
  describeSnapshotTierStatus(args: DescribeSnapshotTierStatusCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DescribeSnapshotTierStatusCommandOutput) => void): void;
3672
3672
  /**
3673
3673
  * <p>Describes the data feed for Spot Instances. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html">Spot
3674
- * Instance data feed</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
3674
+ * Instance data feed</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
3675
3675
  */
3676
3676
  describeSpotDatafeedSubscription(args: DescribeSpotDatafeedSubscriptionCommandInput, options?: __HttpHandlerOptions): Promise<DescribeSpotDatafeedSubscriptionCommandOutput>;
3677
3677
  describeSpotDatafeedSubscription(args: DescribeSpotDatafeedSubscriptionCommandInput, cb: (err: any, data?: DescribeSpotDatafeedSubscriptionCommandOutput) => void): void;
@@ -3689,7 +3689,7 @@ export declare class EC2 extends EC2Client {
3689
3689
  * ensures that you can query by the last evaluated time and not miss a recorded event.
3690
3690
  * Spot Fleet events are available for 48 hours.</p>
3691
3691
  * <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/fleet-monitor.html">Monitor fleet events using Amazon
3692
- * EventBridge</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
3692
+ * EventBridge</a> in the <i>Amazon EC2 User Guide</i>.</p>
3693
3693
  */
3694
3694
  describeSpotFleetRequestHistory(args: DescribeSpotFleetRequestHistoryCommandInput, options?: __HttpHandlerOptions): Promise<DescribeSpotFleetRequestHistoryCommandOutput>;
3695
3695
  describeSpotFleetRequestHistory(args: DescribeSpotFleetRequestHistoryCommandInput, cb: (err: any, data?: DescribeSpotFleetRequestHistoryCommandOutput) => void): void;
@@ -5928,14 +5928,14 @@ export declare class EC2 extends EC2Client {
5928
5928
  * <code>spot-fleet-request</code> and <code>instance</code> resource types are
5929
5929
  * supported.</p>
5930
5930
  * <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html">Spot Fleet requests</a>
5931
- * in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
5931
+ * in the <i>Amazon EC2 User Guide</i>.</p>
5932
5932
  *
5933
5933
  * <important>
5934
5934
  * <p>We strongly discourage using the RequestSpotFleet API because it is a legacy
5935
5935
  * API with no planned investment. For options for requesting Spot Instances, see
5936
5936
  * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-best-practices.html#which-spot-request-method-to-use">Which
5937
5937
  * is the best Spot request method to use?</a> in the
5938
- * <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
5938
+ * <i>Amazon EC2 User Guide</i>.</p>
5939
5939
  * </important>
5940
5940
  */
5941
5941
  requestSpotFleet(args: RequestSpotFleetCommandInput, options?: __HttpHandlerOptions): Promise<RequestSpotFleetCommandOutput>;
@@ -5953,6 +5953,7 @@ export declare class EC2 extends EC2Client {
5953
5953
  * is the best Spot request method to use?</a> in the
5954
5954
  * <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
5955
5955
  * </important>
5956
+ *
5956
5957
  * <note>
5957
5958
  * <p>We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html">Migrate from EC2-Classic to a VPC</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
5958
5959
  * </note>
@@ -9,9 +9,9 @@ export interface CreateSpotDatafeedSubscriptionCommandOutput extends CreateSpotD
9
9
  }
10
10
  /**
11
11
  * <p>Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs.
12
- * You can create one data feed per Amazon Web Services account. For more information, see
13
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html">Spot Instance data feed</a>
14
- * in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
12
+ * You can create one data feed per Amazon Web Services account. For more information, see
13
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html">Spot Instance data feed</a>
14
+ * in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
15
15
  * @example
16
16
  * Use a bare-bones client and the command you need to make an API call.
17
17
  * ```javascript
@@ -2,7 +2,8 @@ import { EndpointParameterInstructions } from "@aws-sdk/middleware-endpoint";
2
2
  import { Command as $Command } from "@aws-sdk/smithy-client";
3
3
  import { Handler, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, MiddlewareStack } from "@aws-sdk/types";
4
4
  import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
5
- import { CreateSubnetCidrReservationRequest, CreateSubnetCidrReservationResult } from "../models/models_1";
5
+ import { CreateSubnetCidrReservationRequest } from "../models/models_1";
6
+ import { CreateSubnetCidrReservationResult } from "../models/models_2";
6
7
  export interface CreateSubnetCidrReservationCommandInput extends CreateSubnetCidrReservationRequest {
7
8
  }
8
9
  export interface CreateSubnetCidrReservationCommandOutput extends CreateSubnetCidrReservationResult, __MetadataBearer {
@@ -2,8 +2,7 @@ import { EndpointParameterInstructions } from "@aws-sdk/middleware-endpoint";
2
2
  import { Command as $Command } from "@aws-sdk/smithy-client";
3
3
  import { Handler, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, MiddlewareStack } from "@aws-sdk/types";
4
4
  import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
5
- import { DeregisterTransitGatewayMulticastGroupMembersRequest } from "../models/models_2";
6
- import { DeregisterTransitGatewayMulticastGroupMembersResult } from "../models/models_3";
5
+ import { DeregisterTransitGatewayMulticastGroupMembersRequest, DeregisterTransitGatewayMulticastGroupMembersResult } from "../models/models_3";
7
6
  export interface DeregisterTransitGatewayMulticastGroupMembersCommandInput extends DeregisterTransitGatewayMulticastGroupMembersRequest {
8
7
  }
9
8
  export interface DeregisterTransitGatewayMulticastGroupMembersCommandOutput extends DeregisterTransitGatewayMulticastGroupMembersResult, __MetadataBearer {
@@ -2,7 +2,7 @@ import { EndpointParameterInstructions } from "@aws-sdk/middleware-endpoint";
2
2
  import { Command as $Command } from "@aws-sdk/smithy-client";
3
3
  import { Handler, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, MiddlewareStack } from "@aws-sdk/types";
4
4
  import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
5
- import { DescribeLaunchTemplatesRequest, DescribeLaunchTemplatesResult } from "../models/models_3";
5
+ import { DescribeLaunchTemplatesRequest, DescribeLaunchTemplatesResult } from "../models/models_4";
6
6
  export interface DescribeLaunchTemplatesCommandInput extends DescribeLaunchTemplatesRequest {
7
7
  }
8
8
  export interface DescribeLaunchTemplatesCommandOutput extends DescribeLaunchTemplatesResult, __MetadataBearer {
@@ -9,7 +9,7 @@ export interface DescribeSpotDatafeedSubscriptionCommandOutput extends DescribeS
9
9
  }
10
10
  /**
11
11
  * <p>Describes the data feed for Spot Instances. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html">Spot
12
- * Instance data feed</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
12
+ * Instance data feed</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
13
13
  * @example
14
14
  * Use a bare-bones client and the command you need to make an API call.
15
15
  * ```javascript
@@ -14,7 +14,7 @@ export interface DescribeSpotFleetRequestHistoryCommandOutput extends DescribeSp
14
14
  * ensures that you can query by the last evaluated time and not miss a recorded event.
15
15
  * Spot Fleet events are available for 48 hours.</p>
16
16
  * <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/fleet-monitor.html">Monitor fleet events using Amazon
17
- * EventBridge</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
17
+ * EventBridge</a> in the <i>Amazon EC2 User Guide</i>.</p>
18
18
  * @example
19
19
  * Use a bare-bones client and the command you need to make an API call.
20
20
  * ```javascript
@@ -2,7 +2,8 @@ import { EndpointParameterInstructions } from "@aws-sdk/middleware-endpoint";
2
2
  import { Command as $Command } from "@aws-sdk/smithy-client";
3
3
  import { Handler, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, MiddlewareStack } from "@aws-sdk/types";
4
4
  import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
5
- import { DisassociateTransitGatewayRouteTableRequest, DisassociateTransitGatewayRouteTableResult } from "../models/models_4";
5
+ import { DisassociateTransitGatewayRouteTableRequest } from "../models/models_4";
6
+ import { DisassociateTransitGatewayRouteTableResult } from "../models/models_5";
6
7
  export interface DisassociateTransitGatewayRouteTableCommandInput extends DisassociateTransitGatewayRouteTableRequest {
7
8
  }
8
9
  export interface DisassociateTransitGatewayRouteTableCommandOutput extends DisassociateTransitGatewayRouteTableResult, __MetadataBearer {
@@ -2,8 +2,7 @@ import { EndpointParameterInstructions } from "@aws-sdk/middleware-endpoint";
2
2
  import { Command as $Command } from "@aws-sdk/smithy-client";
3
3
  import { Handler, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, MiddlewareStack } from "@aws-sdk/types";
4
4
  import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
5
- import { DisassociateTrunkInterfaceRequest } from "../models/models_4";
6
- import { DisassociateTrunkInterfaceResult } from "../models/models_5";
5
+ import { DisassociateTrunkInterfaceRequest, DisassociateTrunkInterfaceResult } from "../models/models_5";
7
6
  export interface DisassociateTrunkInterfaceCommandInput extends DisassociateTrunkInterfaceRequest {
8
7
  }
9
8
  export interface DisassociateTrunkInterfaceCommandOutput extends DisassociateTrunkInterfaceResult, __MetadataBearer {
@@ -2,8 +2,7 @@ import { EndpointParameterInstructions } from "@aws-sdk/middleware-endpoint";
2
2
  import { Command as $Command } from "@aws-sdk/smithy-client";
3
3
  import { Handler, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, MiddlewareStack } from "@aws-sdk/types";
4
4
  import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client";
5
- import { ModifyVpcPeeringConnectionOptionsRequest } from "../models/models_5";
6
- import { ModifyVpcPeeringConnectionOptionsResult } from "../models/models_6";
5
+ import { ModifyVpcPeeringConnectionOptionsRequest, ModifyVpcPeeringConnectionOptionsResult } from "../models/models_6";
7
6
  export interface ModifyVpcPeeringConnectionOptionsCommandInput extends ModifyVpcPeeringConnectionOptionsRequest {
8
7
  }
9
8
  export interface ModifyVpcPeeringConnectionOptionsCommandOutput extends ModifyVpcPeeringConnectionOptionsResult, __MetadataBearer {
@@ -27,14 +27,14 @@ export interface RequestSpotFleetCommandOutput extends RequestSpotFleetResponse,
27
27
  * <code>spot-fleet-request</code> and <code>instance</code> resource types are
28
28
  * supported.</p>
29
29
  * <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html">Spot Fleet requests</a>
30
- * in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
30
+ * in the <i>Amazon EC2 User Guide</i>.</p>
31
31
  *
32
32
  * <important>
33
33
  * <p>We strongly discourage using the RequestSpotFleet API because it is a legacy
34
34
  * API with no planned investment. For options for requesting Spot Instances, see
35
35
  * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-best-practices.html#which-spot-request-method-to-use">Which
36
36
  * is the best Spot request method to use?</a> in the
37
- * <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
37
+ * <i>Amazon EC2 User Guide</i>.</p>
38
38
  * </important>
39
39
  * @example
40
40
  * Use a bare-bones client and the command you need to make an API call.
@@ -19,6 +19,7 @@ export interface RequestSpotInstancesCommandOutput extends RequestSpotInstancesR
19
19
  * is the best Spot request method to use?</a> in the
20
20
  * <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
21
21
  * </important>
22
+ *
22
23
  * <note>
23
24
  * <p>We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html">Migrate from EC2-Classic to a VPC</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
24
25
  * </note>
@@ -419,6 +419,28 @@ export interface MemoryMiBRequest {
419
419
  */
420
420
  Max?: number;
421
421
  }
422
+ /**
423
+ * <p>The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).</p>
424
+ * <note>
425
+ * <p>Setting the minimum bandwidth does not guarantee that your instance will achieve the
426
+ * minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum
427
+ * bandwidth, but the actual bandwidth of your instance might go below the specified minimum
428
+ * at times. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html#available-instance-bandwidth">Available instance bandwidth</a> in the
429
+ * <i>Amazon EC2 User Guide</i>.</p>
430
+ * </note>
431
+ */
432
+ export interface NetworkBandwidthGbpsRequest {
433
+ /**
434
+ * <p>The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this
435
+ * parameter.</p>
436
+ */
437
+ Min?: number;
438
+ /**
439
+ * <p>The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this
440
+ * parameter.</p>
441
+ */
442
+ Max?: number;
443
+ }
422
444
  /**
423
445
  * <p>The minimum and maximum number of network interfaces.</p>
424
446
  */
@@ -464,16 +486,30 @@ export interface VCpuCountRangeRequest {
464
486
  }
465
487
  /**
466
488
  * <p>The attributes for the instance types. When you specify instance attributes, Amazon EC2 will
467
- * identify instance types with these attributes.</p>
489
+ * identify instance types with these attributes.</p>
468
490
  * <p>When you specify multiple attributes, you get instance types that satisfy all of the
469
491
  * specified attributes. If you specify multiple values for an attribute, you get instance
470
492
  * types that satisfy any of the specified values.</p>
493
+ * <p>To limit the list of instance types from which Amazon EC2 can identify matching instance types,
494
+ * you can use one of the following parameters, but not both in the same request:</p>
495
+ * <ul>
496
+ * <li>
497
+ * <p>
498
+ * <code>AllowedInstanceTypes</code> - The instance types to include in the list. All
499
+ * other instance types are ignored, even if they match your specified attributes.</p>
500
+ * </li>
501
+ * <li>
502
+ * <p>
503
+ * <code>ExcludedInstanceTypes</code> - The instance types to exclude from the list,
504
+ * even if they match your specified attributes.</p>
505
+ * </li>
506
+ * </ul>
471
507
  * <note>
472
508
  * <p>You must specify <code>VCpuCount</code> and <code>MemoryMiB</code>. All other attributes
473
509
  * are optional. Any unspecified optional attribute is set to its default.</p>
474
510
  * </note>
475
511
  * <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html">Attribute-based instance type selection for EC2 Fleet</a>, <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html">Attribute-based instance type selection for Spot Fleet</a>, and <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html">Spot
476
- * placement score</a> in the <i>Amazon EC2 User Guide</i>.</p>
512
+ * placement score</a> in the <i>Amazon EC2 User Guide</i>.</p>
477
513
  */
478
514
  export interface InstanceRequirementsRequest {
479
515
  /**
@@ -520,6 +556,9 @@ export interface InstanceRequirementsRequest {
520
556
  * family, which includes all C5a and C5n instance types. If you specify
521
557
  * <code>m5a.*</code>, Amazon EC2 will exclude all the M5a instance types, but not the M5n
522
558
  * instance types.</p>
559
+ * <note>
560
+ * <p>If you specify <code>ExcludedInstanceTypes</code>, you can't specify <code>AllowedInstanceTypes</code>.</p>
561
+ * </note>
523
562
  * <p>Default: No excluded instance types</p>
524
563
  */
525
564
  ExcludedInstanceTypes?: string[];
@@ -745,6 +784,28 @@ export interface InstanceRequirementsRequest {
745
784
  * <p>Default: No minimum or maximum limits</p>
746
785
  */
747
786
  AcceleratorTotalMemoryMiB?: AcceleratorTotalMemoryMiBRequest;
787
+ /**
788
+ * <p>The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).</p>
789
+ * <p>Default: No minimum or maximum limits</p>
790
+ */
791
+ NetworkBandwidthGbps?: NetworkBandwidthGbpsRequest;
792
+ /**
793
+ * <p>The instance types to apply your specified attributes against. All other instance types
794
+ * are ignored, even if they match your specified attributes.</p>
795
+ * <p>You can use strings with one or more wild cards, represented by
796
+ * an asterisk (<code>*</code>), to allow an instance type, size, or generation. The
797
+ * following are examples: <code>m5.8xlarge</code>, <code>c5*.*</code>, <code>m5a.*</code>,
798
+ * <code>r*</code>, <code>*3*</code>.</p>
799
+ * <p>For example, if you specify <code>c5*</code>,Amazon EC2 will allow the entire C5 instance
800
+ * family, which includes all C5a and C5n instance types. If you specify
801
+ * <code>m5a.*</code>, Amazon EC2 will allow all the M5a instance types, but not the M5n
802
+ * instance types.</p>
803
+ * <note>
804
+ * <p>If you specify <code>AllowedInstanceTypes</code>, you can't specify <code>ExcludedInstanceTypes</code>.</p>
805
+ * </note>
806
+ * <p>Default: All instance types</p>
807
+ */
808
+ AllowedInstanceTypes?: string[];
748
809
  }
749
810
  /**
750
811
  * <p>Describes the placement of an instance.</p>
@@ -1268,7 +1329,7 @@ export interface CreateFleetRequest {
1268
1329
  * a Spot Fleet to configure Amazon EC2 instances. You must specify either the ID or name of the launch template in the request, but not both.</p>
1269
1330
  * <p>For information about launch templates,
1270
1331
  * see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html">Launch an instance from a launch template</a> in the
1271
- * <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
1332
+ * <i>Amazon EC2 User Guide</i>.</p>
1272
1333
  */
1273
1334
  export interface FleetLaunchTemplateSpecification {
1274
1335
  /**
@@ -1339,6 +1400,28 @@ export interface MemoryMiB {
1339
1400
  */
1340
1401
  Max?: number;
1341
1402
  }
1403
+ /**
1404
+ * <p>The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).</p>
1405
+ * <note>
1406
+ * <p>Setting the minimum bandwidth does not guarantee that your instance will achieve the
1407
+ * minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum
1408
+ * bandwidth, but the actual bandwidth of your instance might go below the specified minimum
1409
+ * at times. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html#available-instance-bandwidth">Available instance bandwidth</a> in the
1410
+ * <i>Amazon EC2 User Guide</i>.</p>
1411
+ * </note>
1412
+ */
1413
+ export interface NetworkBandwidthGbps {
1414
+ /**
1415
+ * <p>The minimum amount of network bandwidth, in Gbps. If this parameter is not specified, there is no minimum
1416
+ * limit.</p>
1417
+ */
1418
+ Min?: number;
1419
+ /**
1420
+ * <p>The maximum amount of network bandwidth, in Gbps. If this parameter is not specified, there is no
1421
+ * maximum limit.</p>
1422
+ */
1423
+ Max?: number;
1424
+ }
1342
1425
  /**
1343
1426
  * <p>The minimum and maximum number of network interfaces.</p>
1344
1427
  */
@@ -1390,12 +1473,26 @@ export interface VCpuCountRange {
1390
1473
  * <p>When you specify multiple attributes, you get instance types that satisfy all of the
1391
1474
  * specified attributes. If you specify multiple values for an attribute, you get instance
1392
1475
  * types that satisfy any of the specified values.</p>
1476
+ * <p>To limit the list of instance types from which Amazon EC2 can identify matching instance types,
1477
+ * you can use one of the following parameters, but not both in the same request:</p>
1478
+ * <ul>
1479
+ * <li>
1480
+ * <p>
1481
+ * <code>AllowedInstanceTypes</code> - The instance types to include in the list. All
1482
+ * other instance types are ignored, even if they match your specified attributes.</p>
1483
+ * </li>
1484
+ * <li>
1485
+ * <p>
1486
+ * <code>ExcludedInstanceTypes</code> - The instance types to exclude from the list,
1487
+ * even if they match your specified attributes.</p>
1488
+ * </li>
1489
+ * </ul>
1393
1490
  * <note>
1394
1491
  * <p>You must specify <code>VCpuCount</code> and <code>MemoryMiB</code>. All other attributes
1395
1492
  * are optional. Any unspecified optional attribute is set to its default.</p>
1396
1493
  * </note>
1397
1494
  * <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html">Attribute-based instance type selection for EC2 Fleet</a>, <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-attribute-based-instance-type-selection.html">Attribute-based instance type selection for Spot Fleet</a>, and <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html">Spot
1398
- * placement score</a> in the <i>Amazon EC2 User Guide</i>.</p>
1495
+ * placement score</a> in the <i>Amazon EC2 User Guide</i>.</p>
1399
1496
  */
1400
1497
  export interface InstanceRequirements {
1401
1498
  /**
@@ -1442,6 +1539,9 @@ export interface InstanceRequirements {
1442
1539
  * family, which includes all C5a and C5n instance types. If you specify
1443
1540
  * <code>m5a.*</code>, Amazon EC2 will exclude all the M5a instance types, but not the M5n
1444
1541
  * instance types.</p>
1542
+ * <note>
1543
+ * <p>If you specify <code>ExcludedInstanceTypes</code>, you can't specify <code>AllowedInstanceTypes</code>.</p>
1544
+ * </note>
1445
1545
  * <p>Default: No excluded instance types</p>
1446
1546
  */
1447
1547
  ExcludedInstanceTypes?: string[];
@@ -1668,6 +1768,28 @@ export interface InstanceRequirements {
1668
1768
  * <p>Default: No minimum or maximum limits</p>
1669
1769
  */
1670
1770
  AcceleratorTotalMemoryMiB?: AcceleratorTotalMemoryMiB;
1771
+ /**
1772
+ * <p>The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).</p>
1773
+ * <p>Default: No minimum or maximum limits</p>
1774
+ */
1775
+ NetworkBandwidthGbps?: NetworkBandwidthGbps;
1776
+ /**
1777
+ * <p>The instance types to apply your specified attributes against. All other instance types
1778
+ * are ignored, even if they match your specified attributes.</p>
1779
+ * <p>You can use strings with one or more wild cards, represented by
1780
+ * an asterisk (<code>*</code>), to allow an instance type, size, or generation. The
1781
+ * following are examples: <code>m5.8xlarge</code>, <code>c5*.*</code>, <code>m5a.*</code>,
1782
+ * <code>r*</code>, <code>*3*</code>.</p>
1783
+ * <p>For example, if you specify <code>c5*</code>,Amazon EC2 will allow the entire C5 instance
1784
+ * family, which includes all C5a and C5n instance types. If you specify
1785
+ * <code>m5a.*</code>, Amazon EC2 will allow all the M5a instance types, but not the M5n
1786
+ * instance types.</p>
1787
+ * <note>
1788
+ * <p>If you specify <code>AllowedInstanceTypes</code>, you can't specify <code>ExcludedInstanceTypes</code>.</p>
1789
+ * </note>
1790
+ * <p>Default: All instance types</p>
1791
+ */
1792
+ AllowedInstanceTypes?: string[];
1671
1793
  }
1672
1794
  /**
1673
1795
  * <p>Describes the placement of an instance.</p>
@@ -6333,7 +6455,7 @@ export interface PlacementGroup {
6333
6455
  }
6334
6456
  export interface CreatePlacementGroupResult {
6335
6457
  /**
6336
- * <p>Describes a placement group.</p>
6458
+ * <p>Information about the placement group.</p>
6337
6459
  */
6338
6460
  PlacementGroup?: PlacementGroup;
6339
6461
  }
@@ -7175,7 +7297,7 @@ export interface CreateSpotDatafeedSubscriptionRequest {
7175
7297
  * <p>Checks whether you have the required permissions for the action, without actually
7176
7298
  * making the request, and provides an error response. If you have the required
7177
7299
  * permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is
7178
- * <code>UnauthorizedOperation</code>.</p>
7300
+ * <code>UnauthorizedOperation</code>.</p>
7179
7301
  */
7180
7302
  DryRun?: boolean;
7181
7303
  /**
@@ -7393,48 +7515,6 @@ export interface CreateSubnetCidrReservationRequest {
7393
7515
  */
7394
7516
  TagSpecifications?: TagSpecification[];
7395
7517
  }
7396
- /**
7397
- * <p>Describes a subnet CIDR reservation.</p>
7398
- */
7399
- export interface SubnetCidrReservation {
7400
- /**
7401
- * <p>The ID of the subnet CIDR reservation.</p>
7402
- */
7403
- SubnetCidrReservationId?: string;
7404
- /**
7405
- * <p>The ID of the subnet.</p>
7406
- */
7407
- SubnetId?: string;
7408
- /**
7409
- * <p>The CIDR that has been reserved.</p>
7410
- */
7411
- Cidr?: string;
7412
- /**
7413
- * <p>The type of reservation. </p>
7414
- */
7415
- ReservationType?: SubnetCidrReservationType | string;
7416
- /**
7417
- * <p>The ID of the account that owns the subnet CIDR reservation. </p>
7418
- */
7419
- OwnerId?: string;
7420
- /**
7421
- * <p>The
7422
- * description
7423
- * assigned to the subnet CIDR
7424
- * reservation.</p>
7425
- */
7426
- Description?: string;
7427
- /**
7428
- * <p>The tags assigned to the subnet CIDR reservation.</p>
7429
- */
7430
- Tags?: Tag[];
7431
- }
7432
- export interface CreateSubnetCidrReservationResult {
7433
- /**
7434
- * <p>Information about the created subnet CIDR reservation.</p>
7435
- */
7436
- SubnetCidrReservation?: SubnetCidrReservation;
7437
- }
7438
7518
  /**
7439
7519
  * @internal
7440
7520
  */
@@ -7511,6 +7591,10 @@ export declare const MemoryGiBPerVCpuRequestFilterSensitiveLog: (obj: MemoryGiBP
7511
7591
  * @internal
7512
7592
  */
7513
7593
  export declare const MemoryMiBRequestFilterSensitiveLog: (obj: MemoryMiBRequest) => any;
7594
+ /**
7595
+ * @internal
7596
+ */
7597
+ export declare const NetworkBandwidthGbpsRequestFilterSensitiveLog: (obj: NetworkBandwidthGbpsRequest) => any;
7514
7598
  /**
7515
7599
  * @internal
7516
7600
  */
@@ -7583,6 +7667,10 @@ export declare const MemoryGiBPerVCpuFilterSensitiveLog: (obj: MemoryGiBPerVCpu)
7583
7667
  * @internal
7584
7668
  */
7585
7669
  export declare const MemoryMiBFilterSensitiveLog: (obj: MemoryMiB) => any;
7670
+ /**
7671
+ * @internal
7672
+ */
7673
+ export declare const NetworkBandwidthGbpsFilterSensitiveLog: (obj: NetworkBandwidthGbps) => any;
7586
7674
  /**
7587
7675
  * @internal
7588
7676
  */
@@ -8351,11 +8439,3 @@ export declare const CreateSubnetResultFilterSensitiveLog: (obj: CreateSubnetRes
8351
8439
  * @internal
8352
8440
  */
8353
8441
  export declare const CreateSubnetCidrReservationRequestFilterSensitiveLog: (obj: CreateSubnetCidrReservationRequest) => any;
8354
- /**
8355
- * @internal
8356
- */
8357
- export declare const SubnetCidrReservationFilterSensitiveLog: (obj: SubnetCidrReservation) => any;
8358
- /**
8359
- * @internal
8360
- */
8361
- export declare const CreateSubnetCidrReservationResultFilterSensitiveLog: (obj: CreateSubnetCidrReservationResult) => any;