From 6e0db432b8b0f0e85123c972640c2df1cb77c29d Mon Sep 17 00:00:00 2001 From: awstools Date: Mon, 12 Aug 2024 18:58:04 +0000 Subject: [PATCH] feat(client-ec2): This release adds new capabilities to manage On-Demand Capacity Reservations including the ability to split your reservation, move capacity between reservations, and modify the instance eligibility of your reservation. --- clients/client-ec2/README.md | 16 + clients/client-ec2/src/EC2.ts | 46 +++ clients/client-ec2/src/EC2Client.ts | 12 + ...teCapacityReservationBySplittingCommand.ts | 178 +++++++++ .../CreateCapacityReservationFleetCommand.ts | 3 +- .../commands/CreateNetworkInterfaceCommand.ts | 3 +- .../DeleteLaunchTemplateVersionsCommand.ts | 3 +- .../DeleteLocalGatewayRouteCommand.ts | 3 +- .../DescribeAddressTransfersCommand.ts | 2 +- .../GetInstanceMetadataDefaultsCommand.ts | 3 +- .../ModifyCapacityReservationCommand.ts | 10 +- .../ModifyVpnTunnelCertificateCommand.ts | 4 +- ...MoveCapacityReservationInstancesCommand.ts | 184 ++++++++++ clients/client-ec2/src/commands/index.ts | 2 + clients/client-ec2/src/models/models_0.ts | 182 ++++----- clients/client-ec2/src/models/models_1.ts | 282 ++++++-------- clients/client-ec2/src/models/models_2.ts | 232 +++++++++--- clients/client-ec2/src/models/models_3.ts | 88 +++-- clients/client-ec2/src/models/models_4.ts | 94 ++--- clients/client-ec2/src/models/models_5.ts | 77 ++-- clients/client-ec2/src/models/models_6.ts | 312 ++-------------- clients/client-ec2/src/models/models_7.ts | 346 +++++++++++++++++- clients/client-ec2/src/protocols/Aws_ec2.ts | 231 +++++++++++- codegen/sdk-codegen/aws-models/ec2.json | 209 ++++++++++- 24 files changed, 1751 insertions(+), 771 deletions(-) create mode 100644 clients/client-ec2/src/commands/CreateCapacityReservationBySplittingCommand.ts create mode 100644 clients/client-ec2/src/commands/MoveCapacityReservationInstancesCommand.ts diff --git a/clients/client-ec2/README.md b/clients/client-ec2/README.md index 4b5e44c6d75c..616d17df6e80 100644 --- a/clients/client-ec2/README.md +++ b/clients/client-ec2/README.md @@ -653,6 +653,14 @@ CreateCapacityReservation [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/CreateCapacityReservationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/CreateCapacityReservationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/CreateCapacityReservationCommandOutput/) + +
+ +CreateCapacityReservationBySplitting + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/CreateCapacityReservationBySplittingCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/CreateCapacityReservationBySplittingCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/CreateCapacityReservationBySplittingCommandOutput/) +
@@ -4669,6 +4677,14 @@ MoveByoipCidrToIpam [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/MoveByoipCidrToIpamCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/MoveByoipCidrToIpamCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/MoveByoipCidrToIpamCommandOutput/) +
+
+ +MoveCapacityReservationInstances + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ec2/command/MoveCapacityReservationInstancesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/MoveCapacityReservationInstancesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ec2/Interface/MoveCapacityReservationInstancesCommandOutput/) +
diff --git a/clients/client-ec2/src/EC2.ts b/clients/client-ec2/src/EC2.ts index 8ea3a464b05b..0a5f3b9952a8 100644 --- a/clients/client-ec2/src/EC2.ts +++ b/clients/client-ec2/src/EC2.ts @@ -273,6 +273,11 @@ import { CopySnapshotCommandInput, CopySnapshotCommandOutput, } from "./commands/CopySnapshotCommand"; +import { + CreateCapacityReservationBySplittingCommand, + CreateCapacityReservationBySplittingCommandInput, + CreateCapacityReservationBySplittingCommandOutput, +} from "./commands/CreateCapacityReservationBySplittingCommand"; import { CreateCapacityReservationCommand, CreateCapacityReservationCommandInput, @@ -2724,6 +2729,11 @@ import { MoveByoipCidrToIpamCommandInput, MoveByoipCidrToIpamCommandOutput, } from "./commands/MoveByoipCidrToIpamCommand"; +import { + MoveCapacityReservationInstancesCommand, + MoveCapacityReservationInstancesCommandInput, + MoveCapacityReservationInstancesCommandOutput, +} from "./commands/MoveCapacityReservationInstancesCommand"; import { ProvisionByoipCidrCommand, ProvisionByoipCidrCommandInput, @@ -3118,6 +3128,7 @@ const commands = { CopyImageCommand, CopySnapshotCommand, CreateCapacityReservationCommand, + CreateCapacityReservationBySplittingCommand, CreateCapacityReservationFleetCommand, CreateCarrierGatewayCommand, CreateClientVpnEndpointCommand, @@ -3620,6 +3631,7 @@ const commands = { MonitorInstancesCommand, MoveAddressToVpcCommand, MoveByoipCidrToIpamCommand, + MoveCapacityReservationInstancesCommand, ProvisionByoipCidrCommand, ProvisionIpamByoasnCommand, ProvisionIpamPoolCidrCommand, @@ -4611,6 +4623,23 @@ export interface EC2 { cb: (err: any, data?: CreateCapacityReservationCommandOutput) => void ): void; + /** + * @see {@link CreateCapacityReservationBySplittingCommand} + */ + createCapacityReservationBySplitting( + args: CreateCapacityReservationBySplittingCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createCapacityReservationBySplitting( + args: CreateCapacityReservationBySplittingCommandInput, + cb: (err: any, data?: CreateCapacityReservationBySplittingCommandOutput) => void + ): void; + createCapacityReservationBySplitting( + args: CreateCapacityReservationBySplittingCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateCapacityReservationBySplittingCommandOutput) => void + ): void; + /** * @see {@link CreateCapacityReservationFleetCommand} */ @@ -13038,6 +13067,23 @@ export interface EC2 { cb: (err: any, data?: MoveByoipCidrToIpamCommandOutput) => void ): void; + /** + * @see {@link MoveCapacityReservationInstancesCommand} + */ + moveCapacityReservationInstances( + args: MoveCapacityReservationInstancesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + moveCapacityReservationInstances( + args: MoveCapacityReservationInstancesCommandInput, + cb: (err: any, data?: MoveCapacityReservationInstancesCommandOutput) => void + ): void; + moveCapacityReservationInstances( + args: MoveCapacityReservationInstancesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: MoveCapacityReservationInstancesCommandOutput) => void + ): void; + /** * @see {@link ProvisionByoipCidrCommand} */ diff --git a/clients/client-ec2/src/EC2Client.ts b/clients/client-ec2/src/EC2Client.ts index 042bf43cea09..9e777e9c12e0 100644 --- a/clients/client-ec2/src/EC2Client.ts +++ b/clients/client-ec2/src/EC2Client.ts @@ -234,6 +234,10 @@ import { import { CopyFpgaImageCommandInput, CopyFpgaImageCommandOutput } from "./commands/CopyFpgaImageCommand"; import { CopyImageCommandInput, CopyImageCommandOutput } from "./commands/CopyImageCommand"; import { CopySnapshotCommandInput, CopySnapshotCommandOutput } from "./commands/CopySnapshotCommand"; +import { + CreateCapacityReservationBySplittingCommandInput, + CreateCapacityReservationBySplittingCommandOutput, +} from "./commands/CreateCapacityReservationBySplittingCommand"; import { CreateCapacityReservationCommandInput, CreateCapacityReservationCommandOutput, @@ -1946,6 +1950,10 @@ import { MoveByoipCidrToIpamCommandInput, MoveByoipCidrToIpamCommandOutput, } from "./commands/MoveByoipCidrToIpamCommand"; +import { + MoveCapacityReservationInstancesCommandInput, + MoveCapacityReservationInstancesCommandOutput, +} from "./commands/MoveCapacityReservationInstancesCommand"; import { ProvisionByoipCidrCommandInput, ProvisionByoipCidrCommandOutput } from "./commands/ProvisionByoipCidrCommand"; import { ProvisionIpamByoasnCommandInput, @@ -2239,6 +2247,7 @@ export type ServiceInputTypes = | CopyFpgaImageCommandInput | CopyImageCommandInput | CopySnapshotCommandInput + | CreateCapacityReservationBySplittingCommandInput | CreateCapacityReservationCommandInput | CreateCapacityReservationFleetCommandInput | CreateCarrierGatewayCommandInput @@ -2742,6 +2751,7 @@ export type ServiceInputTypes = | MonitorInstancesCommandInput | MoveAddressToVpcCommandInput | MoveByoipCidrToIpamCommandInput + | MoveCapacityReservationInstancesCommandInput | ProvisionByoipCidrCommandInput | ProvisionIpamByoasnCommandInput | ProvisionIpamPoolCidrCommandInput @@ -2869,6 +2879,7 @@ export type ServiceOutputTypes = | CopyFpgaImageCommandOutput | CopyImageCommandOutput | CopySnapshotCommandOutput + | CreateCapacityReservationBySplittingCommandOutput | CreateCapacityReservationCommandOutput | CreateCapacityReservationFleetCommandOutput | CreateCarrierGatewayCommandOutput @@ -3372,6 +3383,7 @@ export type ServiceOutputTypes = | MonitorInstancesCommandOutput | MoveAddressToVpcCommandOutput | MoveByoipCidrToIpamCommandOutput + | MoveCapacityReservationInstancesCommandOutput | ProvisionByoipCidrCommandOutput | ProvisionIpamByoasnCommandOutput | ProvisionIpamPoolCidrCommandOutput diff --git a/clients/client-ec2/src/commands/CreateCapacityReservationBySplittingCommand.ts b/clients/client-ec2/src/commands/CreateCapacityReservationBySplittingCommand.ts new file mode 100644 index 000000000000..f5aeb0772b30 --- /dev/null +++ b/clients/client-ec2/src/commands/CreateCapacityReservationBySplittingCommand.ts @@ -0,0 +1,178 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { + CreateCapacityReservationBySplittingRequest, + CreateCapacityReservationBySplittingResult, +} from "../models/models_0"; +import { + de_CreateCapacityReservationBySplittingCommand, + se_CreateCapacityReservationBySplittingCommand, +} from "../protocols/Aws_ec2"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateCapacityReservationBySplittingCommand}. + */ +export interface CreateCapacityReservationBySplittingCommandInput extends CreateCapacityReservationBySplittingRequest {} +/** + * @public + * + * The output of {@link CreateCapacityReservationBySplittingCommand}. + */ +export interface CreateCapacityReservationBySplittingCommandOutput + extends CreateCapacityReservationBySplittingResult, + __MetadataBearer {} + +/** + *

+ * Create a new Capacity Reservation by splitting the available capacity of the source Capacity Reservation. The new Capacity Reservation will have the same attributes as the source Capacity Reservation except for tags. The source Capacity Reservation must be active and owned by your Amazon Web Services account. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, CreateCapacityReservationBySplittingCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, CreateCapacityReservationBySplittingCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const input = { // CreateCapacityReservationBySplittingRequest + * DryRun: true || false, + * ClientToken: "STRING_VALUE", + * SourceCapacityReservationId: "STRING_VALUE", // required + * InstanceCount: Number("int"), // required + * TagSpecifications: [ // TagSpecificationList + * { // TagSpecification + * ResourceType: "capacity-reservation" || "client-vpn-endpoint" || "customer-gateway" || "carrier-gateway" || "coip-pool" || "dedicated-host" || "dhcp-options" || "egress-only-internet-gateway" || "elastic-ip" || "elastic-gpu" || "export-image-task" || "export-instance-task" || "fleet" || "fpga-image" || "host-reservation" || "image" || "import-image-task" || "import-snapshot-task" || "instance" || "instance-event-window" || "internet-gateway" || "ipam" || "ipam-pool" || "ipam-scope" || "ipv4pool-ec2" || "ipv6pool-ec2" || "key-pair" || "launch-template" || "local-gateway" || "local-gateway-route-table" || "local-gateway-virtual-interface" || "local-gateway-virtual-interface-group" || "local-gateway-route-table-vpc-association" || "local-gateway-route-table-virtual-interface-group-association" || "natgateway" || "network-acl" || "network-interface" || "network-insights-analysis" || "network-insights-path" || "network-insights-access-scope" || "network-insights-access-scope-analysis" || "placement-group" || "prefix-list" || "replace-root-volume-task" || "reserved-instances" || "route-table" || "security-group" || "security-group-rule" || "snapshot" || "spot-fleet-request" || "spot-instances-request" || "subnet" || "subnet-cidr-reservation" || "traffic-mirror-filter" || "traffic-mirror-session" || "traffic-mirror-target" || "transit-gateway" || "transit-gateway-attachment" || "transit-gateway-connect-peer" || "transit-gateway-multicast-domain" || "transit-gateway-policy-table" || "transit-gateway-route-table" || "transit-gateway-route-table-announcement" || "volume" || "vpc" || "vpc-endpoint" || "vpc-endpoint-connection" || "vpc-endpoint-service" || "vpc-endpoint-service-permission" || "vpc-peering-connection" || "vpn-connection" || "vpn-gateway" || "vpc-flow-log" || "capacity-reservation-fleet" || "traffic-mirror-filter-rule" || "vpc-endpoint-connection-device-type" || "verified-access-instance" || "verified-access-group" || "verified-access-endpoint" || "verified-access-policy" || "verified-access-trust-provider" || "vpn-connection-device-type" || "vpc-block-public-access-exclusion" || "ipam-resource-discovery" || "ipam-resource-discovery-association" || "instance-connect-endpoint" || "ipam-external-resource-verification-token", + * Tags: [ // TagList + * { // Tag + * Key: "STRING_VALUE", + * Value: "STRING_VALUE", + * }, + * ], + * }, + * ], + * }; + * const command = new CreateCapacityReservationBySplittingCommand(input); + * const response = await client.send(command); + * // { // CreateCapacityReservationBySplittingResult + * // SourceCapacityReservation: { // CapacityReservation + * // CapacityReservationId: "STRING_VALUE", + * // OwnerId: "STRING_VALUE", + * // CapacityReservationArn: "STRING_VALUE", + * // AvailabilityZoneId: "STRING_VALUE", + * // InstanceType: "STRING_VALUE", + * // InstancePlatform: "Linux/UNIX" || "Red Hat Enterprise Linux" || "SUSE Linux" || "Windows" || "Windows with SQL Server" || "Windows with SQL Server Enterprise" || "Windows with SQL Server Standard" || "Windows with SQL Server Web" || "Linux with SQL Server Standard" || "Linux with SQL Server Web" || "Linux with SQL Server Enterprise" || "RHEL with SQL Server Standard" || "RHEL with SQL Server Enterprise" || "RHEL with SQL Server Web" || "RHEL with HA" || "RHEL with HA and SQL Server Standard" || "RHEL with HA and SQL Server Enterprise" || "Ubuntu Pro", + * // AvailabilityZone: "STRING_VALUE", + * // Tenancy: "default" || "dedicated", + * // TotalInstanceCount: Number("int"), + * // AvailableInstanceCount: Number("int"), + * // EbsOptimized: true || false, + * // EphemeralStorage: true || false, + * // State: "active" || "expired" || "cancelled" || "pending" || "failed" || "scheduled" || "payment-pending" || "payment-failed", + * // StartDate: new Date("TIMESTAMP"), + * // EndDate: new Date("TIMESTAMP"), + * // EndDateType: "unlimited" || "limited", + * // InstanceMatchCriteria: "open" || "targeted", + * // CreateDate: new Date("TIMESTAMP"), + * // Tags: [ // TagList + * // { // Tag + * // Key: "STRING_VALUE", + * // Value: "STRING_VALUE", + * // }, + * // ], + * // OutpostArn: "STRING_VALUE", + * // CapacityReservationFleetId: "STRING_VALUE", + * // PlacementGroupArn: "STRING_VALUE", + * // CapacityAllocations: [ // CapacityAllocations + * // { // CapacityAllocation + * // AllocationType: "used", + * // Count: Number("int"), + * // }, + * // ], + * // ReservationType: "default" || "capacity-block", + * // }, + * // DestinationCapacityReservation: { + * // CapacityReservationId: "STRING_VALUE", + * // OwnerId: "STRING_VALUE", + * // CapacityReservationArn: "STRING_VALUE", + * // AvailabilityZoneId: "STRING_VALUE", + * // InstanceType: "STRING_VALUE", + * // InstancePlatform: "Linux/UNIX" || "Red Hat Enterprise Linux" || "SUSE Linux" || "Windows" || "Windows with SQL Server" || "Windows with SQL Server Enterprise" || "Windows with SQL Server Standard" || "Windows with SQL Server Web" || "Linux with SQL Server Standard" || "Linux with SQL Server Web" || "Linux with SQL Server Enterprise" || "RHEL with SQL Server Standard" || "RHEL with SQL Server Enterprise" || "RHEL with SQL Server Web" || "RHEL with HA" || "RHEL with HA and SQL Server Standard" || "RHEL with HA and SQL Server Enterprise" || "Ubuntu Pro", + * // AvailabilityZone: "STRING_VALUE", + * // Tenancy: "default" || "dedicated", + * // TotalInstanceCount: Number("int"), + * // AvailableInstanceCount: Number("int"), + * // EbsOptimized: true || false, + * // EphemeralStorage: true || false, + * // State: "active" || "expired" || "cancelled" || "pending" || "failed" || "scheduled" || "payment-pending" || "payment-failed", + * // StartDate: new Date("TIMESTAMP"), + * // EndDate: new Date("TIMESTAMP"), + * // EndDateType: "unlimited" || "limited", + * // InstanceMatchCriteria: "open" || "targeted", + * // CreateDate: new Date("TIMESTAMP"), + * // Tags: [ + * // { + * // Key: "STRING_VALUE", + * // Value: "STRING_VALUE", + * // }, + * // ], + * // OutpostArn: "STRING_VALUE", + * // CapacityReservationFleetId: "STRING_VALUE", + * // PlacementGroupArn: "STRING_VALUE", + * // CapacityAllocations: [ + * // { + * // AllocationType: "used", + * // Count: Number("int"), + * // }, + * // ], + * // ReservationType: "default" || "capacity-block", + * // }, + * // InstanceCount: Number("int"), + * // }; + * + * ``` + * + * @param CreateCapacityReservationBySplittingCommandInput - {@link CreateCapacityReservationBySplittingCommandInput} + * @returns {@link CreateCapacityReservationBySplittingCommandOutput} + * @see {@link CreateCapacityReservationBySplittingCommandInput} for command's `input` shape. + * @see {@link CreateCapacityReservationBySplittingCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + * @throws {@link EC2ServiceException} + *

Base exception class for all service exceptions from EC2 service.

+ * + * @public + */ +export class CreateCapacityReservationBySplittingCommand extends $Command + .classBuilder< + CreateCapacityReservationBySplittingCommandInput, + CreateCapacityReservationBySplittingCommandOutput, + EC2ClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: EC2ClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonEC2", "CreateCapacityReservationBySplitting", {}) + .n("EC2Client", "CreateCapacityReservationBySplittingCommand") + .f(void 0, void 0) + .ser(se_CreateCapacityReservationBySplittingCommand) + .de(de_CreateCapacityReservationBySplittingCommand) + .build() {} diff --git a/clients/client-ec2/src/commands/CreateCapacityReservationFleetCommand.ts b/clients/client-ec2/src/commands/CreateCapacityReservationFleetCommand.ts index ade7c1af746a..36f5d2d8672f 100644 --- a/clients/client-ec2/src/commands/CreateCapacityReservationFleetCommand.ts +++ b/clients/client-ec2/src/commands/CreateCapacityReservationFleetCommand.ts @@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { CreateCapacityReservationFleetRequest } from "../models/models_0"; -import { CreateCapacityReservationFleetResult } from "../models/models_1"; +import { CreateCapacityReservationFleetRequest, CreateCapacityReservationFleetResult } from "../models/models_1"; import { de_CreateCapacityReservationFleetCommand, se_CreateCapacityReservationFleetCommand, diff --git a/clients/client-ec2/src/commands/CreateNetworkInterfaceCommand.ts b/clients/client-ec2/src/commands/CreateNetworkInterfaceCommand.ts index 19148ce10d8d..effc9c1b67d1 100644 --- a/clients/client-ec2/src/commands/CreateNetworkInterfaceCommand.ts +++ b/clients/client-ec2/src/commands/CreateNetworkInterfaceCommand.ts @@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { CreateNetworkInterfaceRequest } from "../models/models_1"; -import { CreateNetworkInterfaceResult } from "../models/models_2"; +import { CreateNetworkInterfaceRequest, CreateNetworkInterfaceResult } from "../models/models_2"; import { de_CreateNetworkInterfaceCommand, se_CreateNetworkInterfaceCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DeleteLaunchTemplateVersionsCommand.ts b/clients/client-ec2/src/commands/DeleteLaunchTemplateVersionsCommand.ts index c16d142f2a34..f5e3065827bf 100644 --- a/clients/client-ec2/src/commands/DeleteLaunchTemplateVersionsCommand.ts +++ b/clients/client-ec2/src/commands/DeleteLaunchTemplateVersionsCommand.ts @@ -6,7 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DeleteLaunchTemplateVersionsRequest, DeleteLaunchTemplateVersionsResult } from "../models/models_2"; +import { DeleteLaunchTemplateVersionsRequest } from "../models/models_2"; +import { DeleteLaunchTemplateVersionsResult } from "../models/models_3"; import { de_DeleteLaunchTemplateVersionsCommand, se_DeleteLaunchTemplateVersionsCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DeleteLocalGatewayRouteCommand.ts b/clients/client-ec2/src/commands/DeleteLocalGatewayRouteCommand.ts index fdda6eef4592..ed531271bf80 100644 --- a/clients/client-ec2/src/commands/DeleteLocalGatewayRouteCommand.ts +++ b/clients/client-ec2/src/commands/DeleteLocalGatewayRouteCommand.ts @@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DeleteLocalGatewayRouteRequest } from "../models/models_2"; -import { DeleteLocalGatewayRouteResult } from "../models/models_3"; +import { DeleteLocalGatewayRouteRequest, DeleteLocalGatewayRouteResult } from "../models/models_3"; import { de_DeleteLocalGatewayRouteCommand, se_DeleteLocalGatewayRouteCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DescribeAddressTransfersCommand.ts b/clients/client-ec2/src/commands/DescribeAddressTransfersCommand.ts index 5d97a6b663f5..90ffe0bd1442 100644 --- a/clients/client-ec2/src/commands/DescribeAddressTransfersCommand.ts +++ b/clients/client-ec2/src/commands/DescribeAddressTransfersCommand.ts @@ -36,7 +36,7 @@ export interface DescribeAddressTransfersCommandOutput extends DescribeAddressTr * pending transfer by using this action. After seven days, the * transfer expires and ownership of the Elastic IP * address returns to the source - * account. Accepted transfers are visible to the source account for three days + * account. Accepted transfers are visible to the source account for 14 days * after the transfers have been accepted.

* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-ec2/src/commands/GetInstanceMetadataDefaultsCommand.ts b/clients/client-ec2/src/commands/GetInstanceMetadataDefaultsCommand.ts index f7ef65b327f3..d81aeef6c791 100644 --- a/clients/client-ec2/src/commands/GetInstanceMetadataDefaultsCommand.ts +++ b/clients/client-ec2/src/commands/GetInstanceMetadataDefaultsCommand.ts @@ -6,7 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { GetInstanceMetadataDefaultsRequest, GetInstanceMetadataDefaultsResult } from "../models/models_5"; +import { GetInstanceMetadataDefaultsRequest } from "../models/models_5"; +import { GetInstanceMetadataDefaultsResult } from "../models/models_6"; import { de_GetInstanceMetadataDefaultsCommand, se_GetInstanceMetadataDefaultsCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/ModifyCapacityReservationCommand.ts b/clients/client-ec2/src/commands/ModifyCapacityReservationCommand.ts index ee08c520bbde..f61e75a2ef8b 100644 --- a/clients/client-ec2/src/commands/ModifyCapacityReservationCommand.ts +++ b/clients/client-ec2/src/commands/ModifyCapacityReservationCommand.ts @@ -28,11 +28,10 @@ export interface ModifyCapacityReservationCommandInput extends ModifyCapacityRes export interface ModifyCapacityReservationCommandOutput extends ModifyCapacityReservationResult, __MetadataBearer {} /** - *

Modifies a Capacity Reservation's capacity and the conditions under which it is to be released. You - * cannot change a Capacity Reservation's instance type, EBS optimization, instance store settings, - * platform, Availability Zone, or instance eligibility. If you need to modify any of these - * attributes, we recommend that you cancel the Capacity Reservation, and then create a new one with - * the required attributes.

+ *

Modifies a Capacity Reservation's capacity, instance eligibility, and the conditions under which it is to be released. You + * can't modify a Capacity Reservation's instance type, EBS optimization, platform, instance store settings, Availability Zone, or + * tenancy. If you need to modify any of these attributes, we recommend that you cancel the Capacity Reservation, and then create a new one with + * the required attributes. For more information, see Modify an active Capacity Reservation.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -47,6 +46,7 @@ export interface ModifyCapacityReservationCommandOutput extends ModifyCapacityRe * Accept: true || false, * DryRun: true || false, * AdditionalInfo: "STRING_VALUE", + * InstanceMatchCriteria: "open" || "targeted", * }; * const command = new ModifyCapacityReservationCommand(input); * const response = await client.send(command); diff --git a/clients/client-ec2/src/commands/ModifyVpnTunnelCertificateCommand.ts b/clients/client-ec2/src/commands/ModifyVpnTunnelCertificateCommand.ts index 2c3be095bc0a..dea0c0c34f09 100644 --- a/clients/client-ec2/src/commands/ModifyVpnTunnelCertificateCommand.ts +++ b/clients/client-ec2/src/commands/ModifyVpnTunnelCertificateCommand.ts @@ -6,11 +6,11 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; +import { ModifyVpnTunnelCertificateRequest } from "../models/models_6"; import { - ModifyVpnTunnelCertificateRequest, ModifyVpnTunnelCertificateResult, ModifyVpnTunnelCertificateResultFilterSensitiveLog, -} from "../models/models_6"; +} from "../models/models_7"; import { de_ModifyVpnTunnelCertificateCommand, se_ModifyVpnTunnelCertificateCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/MoveCapacityReservationInstancesCommand.ts b/clients/client-ec2/src/commands/MoveCapacityReservationInstancesCommand.ts new file mode 100644 index 000000000000..0384403843f9 --- /dev/null +++ b/clients/client-ec2/src/commands/MoveCapacityReservationInstancesCommand.ts @@ -0,0 +1,184 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { MoveCapacityReservationInstancesRequest, MoveCapacityReservationInstancesResult } from "../models/models_7"; +import { + de_MoveCapacityReservationInstancesCommand, + se_MoveCapacityReservationInstancesCommand, +} from "../protocols/Aws_ec2"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link MoveCapacityReservationInstancesCommand}. + */ +export interface MoveCapacityReservationInstancesCommandInput extends MoveCapacityReservationInstancesRequest {} +/** + * @public + * + * The output of {@link MoveCapacityReservationInstancesCommand}. + */ +export interface MoveCapacityReservationInstancesCommandOutput + extends MoveCapacityReservationInstancesResult, + __MetadataBearer {} + +/** + *

Move available capacity from a source Capacity Reservation to a destination Capacity Reservation. The source Capacity Reservation and the destination Capacity Reservation must be active, owned by your Amazon Web Services account, and share the following: + *

+ *
    + *
  • + *

    Instance type

    + *
  • + *
  • + *

    Platform

    + *
  • + *
  • + *

    Availability Zone

    + *
  • + *
  • + *

    Tenancy

    + *
  • + *
  • + *

    Placement group

    + *
  • + *
  • + *

    Capacity Reservation end time - At specific time or Manually.

    + *
  • + *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, MoveCapacityReservationInstancesCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, MoveCapacityReservationInstancesCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const input = { // MoveCapacityReservationInstancesRequest + * DryRun: true || false, + * ClientToken: "STRING_VALUE", + * SourceCapacityReservationId: "STRING_VALUE", // required + * DestinationCapacityReservationId: "STRING_VALUE", // required + * InstanceCount: Number("int"), // required + * }; + * const command = new MoveCapacityReservationInstancesCommand(input); + * const response = await client.send(command); + * // { // MoveCapacityReservationInstancesResult + * // SourceCapacityReservation: { // CapacityReservation + * // CapacityReservationId: "STRING_VALUE", + * // OwnerId: "STRING_VALUE", + * // CapacityReservationArn: "STRING_VALUE", + * // AvailabilityZoneId: "STRING_VALUE", + * // InstanceType: "STRING_VALUE", + * // InstancePlatform: "Linux/UNIX" || "Red Hat Enterprise Linux" || "SUSE Linux" || "Windows" || "Windows with SQL Server" || "Windows with SQL Server Enterprise" || "Windows with SQL Server Standard" || "Windows with SQL Server Web" || "Linux with SQL Server Standard" || "Linux with SQL Server Web" || "Linux with SQL Server Enterprise" || "RHEL with SQL Server Standard" || "RHEL with SQL Server Enterprise" || "RHEL with SQL Server Web" || "RHEL with HA" || "RHEL with HA and SQL Server Standard" || "RHEL with HA and SQL Server Enterprise" || "Ubuntu Pro", + * // AvailabilityZone: "STRING_VALUE", + * // Tenancy: "default" || "dedicated", + * // TotalInstanceCount: Number("int"), + * // AvailableInstanceCount: Number("int"), + * // EbsOptimized: true || false, + * // EphemeralStorage: true || false, + * // State: "active" || "expired" || "cancelled" || "pending" || "failed" || "scheduled" || "payment-pending" || "payment-failed", + * // StartDate: new Date("TIMESTAMP"), + * // EndDate: new Date("TIMESTAMP"), + * // EndDateType: "unlimited" || "limited", + * // InstanceMatchCriteria: "open" || "targeted", + * // CreateDate: new Date("TIMESTAMP"), + * // Tags: [ // TagList + * // { // Tag + * // Key: "STRING_VALUE", + * // Value: "STRING_VALUE", + * // }, + * // ], + * // OutpostArn: "STRING_VALUE", + * // CapacityReservationFleetId: "STRING_VALUE", + * // PlacementGroupArn: "STRING_VALUE", + * // CapacityAllocations: [ // CapacityAllocations + * // { // CapacityAllocation + * // AllocationType: "used", + * // Count: Number("int"), + * // }, + * // ], + * // ReservationType: "default" || "capacity-block", + * // }, + * // DestinationCapacityReservation: { + * // CapacityReservationId: "STRING_VALUE", + * // OwnerId: "STRING_VALUE", + * // CapacityReservationArn: "STRING_VALUE", + * // AvailabilityZoneId: "STRING_VALUE", + * // InstanceType: "STRING_VALUE", + * // InstancePlatform: "Linux/UNIX" || "Red Hat Enterprise Linux" || "SUSE Linux" || "Windows" || "Windows with SQL Server" || "Windows with SQL Server Enterprise" || "Windows with SQL Server Standard" || "Windows with SQL Server Web" || "Linux with SQL Server Standard" || "Linux with SQL Server Web" || "Linux with SQL Server Enterprise" || "RHEL with SQL Server Standard" || "RHEL with SQL Server Enterprise" || "RHEL with SQL Server Web" || "RHEL with HA" || "RHEL with HA and SQL Server Standard" || "RHEL with HA and SQL Server Enterprise" || "Ubuntu Pro", + * // AvailabilityZone: "STRING_VALUE", + * // Tenancy: "default" || "dedicated", + * // TotalInstanceCount: Number("int"), + * // AvailableInstanceCount: Number("int"), + * // EbsOptimized: true || false, + * // EphemeralStorage: true || false, + * // State: "active" || "expired" || "cancelled" || "pending" || "failed" || "scheduled" || "payment-pending" || "payment-failed", + * // StartDate: new Date("TIMESTAMP"), + * // EndDate: new Date("TIMESTAMP"), + * // EndDateType: "unlimited" || "limited", + * // InstanceMatchCriteria: "open" || "targeted", + * // CreateDate: new Date("TIMESTAMP"), + * // Tags: [ + * // { + * // Key: "STRING_VALUE", + * // Value: "STRING_VALUE", + * // }, + * // ], + * // OutpostArn: "STRING_VALUE", + * // CapacityReservationFleetId: "STRING_VALUE", + * // PlacementGroupArn: "STRING_VALUE", + * // CapacityAllocations: [ + * // { + * // AllocationType: "used", + * // Count: Number("int"), + * // }, + * // ], + * // ReservationType: "default" || "capacity-block", + * // }, + * // InstanceCount: Number("int"), + * // }; + * + * ``` + * + * @param MoveCapacityReservationInstancesCommandInput - {@link MoveCapacityReservationInstancesCommandInput} + * @returns {@link MoveCapacityReservationInstancesCommandOutput} + * @see {@link MoveCapacityReservationInstancesCommandInput} for command's `input` shape. + * @see {@link MoveCapacityReservationInstancesCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + * @throws {@link EC2ServiceException} + *

Base exception class for all service exceptions from EC2 service.

+ * + * @public + */ +export class MoveCapacityReservationInstancesCommand extends $Command + .classBuilder< + MoveCapacityReservationInstancesCommandInput, + MoveCapacityReservationInstancesCommandOutput, + EC2ClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep({ + ...commonParams, + }) + .m(function (this: any, Command: any, cs: any, config: EC2ClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonEC2", "MoveCapacityReservationInstances", {}) + .n("EC2Client", "MoveCapacityReservationInstancesCommand") + .f(void 0, void 0) + .ser(se_MoveCapacityReservationInstancesCommand) + .de(de_MoveCapacityReservationInstancesCommand) + .build() {} diff --git a/clients/client-ec2/src/commands/index.ts b/clients/client-ec2/src/commands/index.ts index 845a67c39548..e8d87647be1e 100644 --- a/clients/client-ec2/src/commands/index.ts +++ b/clients/client-ec2/src/commands/index.ts @@ -54,6 +54,7 @@ export * from "./ConfirmProductInstanceCommand"; export * from "./CopyFpgaImageCommand"; export * from "./CopyImageCommand"; export * from "./CopySnapshotCommand"; +export * from "./CreateCapacityReservationBySplittingCommand"; export * from "./CreateCapacityReservationCommand"; export * from "./CreateCapacityReservationFleetCommand"; export * from "./CreateCarrierGatewayCommand"; @@ -557,6 +558,7 @@ export * from "./ModifyVpnTunnelOptionsCommand"; export * from "./MonitorInstancesCommand"; export * from "./MoveAddressToVpcCommand"; export * from "./MoveByoipCidrToIpamCommand"; +export * from "./MoveCapacityReservationInstancesCommand"; export * from "./ProvisionByoipCidrCommand"; export * from "./ProvisionIpamByoasnCommand"; export * from "./ProvisionIpamPoolCidrCommand"; diff --git a/clients/client-ec2/src/models/models_0.ts b/clients/client-ec2/src/models/models_0.ts index c34055d60f7c..5880fe666fdf 100644 --- a/clients/client-ec2/src/models/models_0.ts +++ b/clients/client-ec2/src/models/models_0.ts @@ -1599,7 +1599,7 @@ export interface AnalysisRouteTableRoute { DestinationCidr?: string; /** - *

The prefix of the Amazon Web Service.

+ *

The prefix of the Amazon Web Services service.

* @public */ DestinationPrefixListId?: string; @@ -8711,6 +8711,76 @@ export interface CreateCapacityReservationResult { CapacityReservation?: CapacityReservation; } +/** + * @public + */ +export interface CreateCapacityReservationBySplittingRequest { + /** + *

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ * @public + */ + DryRun?: boolean; + + /** + *

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.

+ * @public + */ + ClientToken?: string; + + /** + *

+ * The ID of the Capacity Reservation from which you want to split the available capacity. + *

+ * @public + */ + SourceCapacityReservationId: string | undefined; + + /** + *

+ * The number of instances to split from the source Capacity Reservation. + *

+ * @public + */ + InstanceCount: number | undefined; + + /** + *

+ * The tags to apply to the new Capacity Reservation. + *

+ * @public + */ + TagSpecifications?: TagSpecification[]; +} + +/** + * @public + */ +export interface CreateCapacityReservationBySplittingResult { + /** + *

+ * Information about the source Capacity Reservation. + *

+ * @public + */ + SourceCapacityReservation?: CapacityReservation; + + /** + *

+ * Information about the destination Capacity Reservation. + *

+ * @public + */ + DestinationCapacityReservation?: CapacityReservation; + + /** + *

+ * The number of instances in the new Capacity Reservation. The number of instances in the source Capacity Reservation was reduced by this amount. + *

+ * @public + */ + InstanceCount?: number; +} + /** * @public * @enum @@ -9618,116 +9688,6 @@ export interface ReservationFleetInstanceSpecification { Priority?: number; } -/** - * @public - * @enum - */ -export const FleetCapacityReservationTenancy = { - default: "default", -} as const; - -/** - * @public - */ -export type FleetCapacityReservationTenancy = - (typeof FleetCapacityReservationTenancy)[keyof typeof FleetCapacityReservationTenancy]; - -/** - * @public - */ -export interface CreateCapacityReservationFleetRequest { - /** - *

The strategy used by the Capacity Reservation Fleet to determine which of the specified - * instance types to use. Currently, only the prioritized allocation strategy - * is supported. For more information, see Allocation - * strategy in the Amazon EC2 User Guide.

- *

Valid values: prioritized - *

- * @public - */ - AllocationStrategy?: string; - - /** - *

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.

- * @public - */ - ClientToken?: string; - - /** - *

Information about the instance types for which to reserve the capacity.

- * @public - */ - InstanceTypeSpecifications: ReservationFleetInstanceSpecification[] | undefined; - - /** - *

Indicates the tenancy of the Capacity Reservation Fleet. All Capacity Reservations - * in the Fleet inherit this tenancy. The Capacity Reservation Fleet can have one of - * the following tenancy settings:

- *
    - *
  • - *

    - * default - The Capacity Reservation Fleet is created on hardware - * that is shared with other Amazon Web Services accounts.

    - *
  • - *
  • - *

    - * dedicated - The Capacity Reservations are created on single-tenant - * hardware that is dedicated to a single Amazon Web Services account.

    - *
  • - *
- * @public - */ - Tenancy?: FleetCapacityReservationTenancy; - - /** - *

The total number of capacity units to be reserved by the Capacity Reservation Fleet. This - * value, together with the instance type weights that you assign to each instance type - * used by the Fleet determine the number of instances for which the Fleet reserves - * capacity. Both values are based on units that make sense for your workload. For more - * information, see Total target - * capacity in the Amazon EC2 User Guide.

- * @public - */ - TotalTargetCapacity: number | undefined; - - /** - *

The date and time at which the Capacity Reservation Fleet expires. When the Capacity - * Reservation Fleet expires, its state changes to expired and all of the Capacity - * Reservations in the Fleet expire.

- *

The Capacity Reservation Fleet expires within an hour after the specified time. For example, - * if you specify 5/31/2019, 13:30:55, the Capacity Reservation Fleet - * is guaranteed to expire between 13:30:55 and 14:30:55 on - * 5/31/2019. - *

- * @public - */ - EndDate?: Date; - - /** - *

Indicates the type of instance launches that the Capacity Reservation Fleet accepts. All - * Capacity Reservations in the Fleet inherit this instance matching criteria.

- *

Currently, Capacity Reservation Fleets support open instance matching criteria - * only. This means that instances that have matching attributes (instance type, platform, and - * Availability Zone) run in the Capacity Reservations automatically. Instances do not need to - * explicitly target a Capacity Reservation Fleet to use its reserved capacity.

- * @public - */ - InstanceMatchCriteria?: FleetInstanceMatchCriteria; - - /** - *

The tags to assign to the Capacity Reservation Fleet. The tags are automatically assigned - * to the Capacity Reservations in the Fleet.

- * @public - */ - TagSpecifications?: TagSpecification[]; - - /** - *

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

- * @public - */ - DryRun?: boolean; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_1.ts b/clients/client-ec2/src/models/models_1.ts index 92b653e68276..27d958a52e3c 100644 --- a/clients/client-ec2/src/models/models_1.ts +++ b/clients/client-ec2/src/models/models_1.ts @@ -18,12 +18,12 @@ import { AttachmentStatus, CapacityReservationFleetState, CapacityReservationInstancePlatform, - FleetCapacityReservationTenancy, FleetInstanceMatchCriteria, InstanceEventWindow, NatGatewayAddress, PortRange, Protocol, + ReservationFleetInstanceSpecification, ResourceType, SubnetIpv6CidrBlockAssociation, Tag, @@ -34,6 +34,116 @@ import { WeekDay, } from "./models_0"; +/** + * @public + * @enum + */ +export const FleetCapacityReservationTenancy = { + default: "default", +} as const; + +/** + * @public + */ +export type FleetCapacityReservationTenancy = + (typeof FleetCapacityReservationTenancy)[keyof typeof FleetCapacityReservationTenancy]; + +/** + * @public + */ +export interface CreateCapacityReservationFleetRequest { + /** + *

The strategy used by the Capacity Reservation Fleet to determine which of the specified + * instance types to use. Currently, only the prioritized allocation strategy + * is supported. For more information, see Allocation + * strategy in the Amazon EC2 User Guide.

+ *

Valid values: prioritized + *

+ * @public + */ + AllocationStrategy?: string; + + /** + *

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.

+ * @public + */ + ClientToken?: string; + + /** + *

Information about the instance types for which to reserve the capacity.

+ * @public + */ + InstanceTypeSpecifications: ReservationFleetInstanceSpecification[] | undefined; + + /** + *

Indicates the tenancy of the Capacity Reservation Fleet. All Capacity Reservations + * in the Fleet inherit this tenancy. The Capacity Reservation Fleet can have one of + * the following tenancy settings:

+ *
    + *
  • + *

    + * default - The Capacity Reservation Fleet is created on hardware + * that is shared with other Amazon Web Services accounts.

    + *
  • + *
  • + *

    + * dedicated - The Capacity Reservations are created on single-tenant + * hardware that is dedicated to a single Amazon Web Services account.

    + *
  • + *
+ * @public + */ + Tenancy?: FleetCapacityReservationTenancy; + + /** + *

The total number of capacity units to be reserved by the Capacity Reservation Fleet. This + * value, together with the instance type weights that you assign to each instance type + * used by the Fleet determine the number of instances for which the Fleet reserves + * capacity. Both values are based on units that make sense for your workload. For more + * information, see Total target + * capacity in the Amazon EC2 User Guide.

+ * @public + */ + TotalTargetCapacity: number | undefined; + + /** + *

The date and time at which the Capacity Reservation Fleet expires. When the Capacity + * Reservation Fleet expires, its state changes to expired and all of the Capacity + * Reservations in the Fleet expire.

+ *

The Capacity Reservation Fleet expires within an hour after the specified time. For example, + * if you specify 5/31/2019, 13:30:55, the Capacity Reservation Fleet + * is guaranteed to expire between 13:30:55 and 14:30:55 on + * 5/31/2019. + *

+ * @public + */ + EndDate?: Date; + + /** + *

Indicates the type of instance launches that the Capacity Reservation Fleet accepts. All + * Capacity Reservations in the Fleet inherit this instance matching criteria.

+ *

Currently, Capacity Reservation Fleets support open instance matching criteria + * only. This means that instances that have matching attributes (instance type, platform, and + * Availability Zone) run in the Capacity Reservations automatically. Instances do not need to + * explicitly target a Capacity Reservation Fleet to use its reserved capacity.

+ * @public + */ + InstanceMatchCriteria?: FleetInstanceMatchCriteria; + + /** + *

The tags to assign to the Capacity Reservation Fleet. The tags are automatically assigned + * to the Capacity Reservations in the Fleet.

+ * @public + */ + TagSpecifications?: TagSpecification[]; + + /** + *

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ * @public + */ + DryRun?: boolean; +} + /** *

Information about a Capacity Reservation in a Capacity Reservation Fleet.

* @public @@ -11234,176 +11344,6 @@ export interface CreateNetworkInsightsPathResult { NetworkInsightsPath?: NetworkInsightsPath; } -/** - * @public - * @enum - */ -export const NetworkInterfaceCreationType = { - branch: "branch", - efa: "efa", - trunk: "trunk", -} as const; - -/** - * @public - */ -export type NetworkInterfaceCreationType = - (typeof NetworkInterfaceCreationType)[keyof typeof NetworkInterfaceCreationType]; - -/** - * @public - */ -export interface CreateNetworkInterfaceRequest { - /** - *

A description for the network interface.

- * @public - */ - Description?: string; - - /** - *

Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

- * @public - */ - DryRun?: boolean; - - /** - *

The IDs of one or more security groups.

- * @public - */ - Groups?: string[]; - - /** - *

The number of IPv6 addresses to assign to a network interface. Amazon EC2 - * automatically selects the IPv6 addresses from the subnet range.

- *

You can't specify a count of IPv6 addresses using this parameter if you've specified - * one of the following: specific IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.

- *

If your subnet has the AssignIpv6AddressOnCreation attribute set, you can - * override that setting by specifying 0 as the IPv6 address count.

- * @public - */ - Ipv6AddressCount?: number; - - /** - *

The IPv6 addresses from the IPv6 CIDR block range of your subnet.

- *

You can't specify IPv6 addresses using this parameter if you've specified one of the - * following: a count of IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.

- * @public - */ - Ipv6Addresses?: InstanceIpv6Address[]; - - /** - *

The primary private IPv4 address of the network interface. If you don't specify an - * IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR range. If you - * specify an IP address, you cannot indicate any IP addresses specified in - * privateIpAddresses as primary (only one IP address can be designated as - * primary).

- * @public - */ - PrivateIpAddress?: string; - - /** - *

The private IPv4 addresses.

- *

You can't specify private IPv4 addresses if you've specified one of the following: - * a count of private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.

- * @public - */ - PrivateIpAddresses?: PrivateIpAddressSpecification[]; - - /** - *

The number of secondary private IPv4 addresses to assign to a network interface. When - * you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses - * within the subnet's IPv4 CIDR range. You can't specify this option and specify more than - * one private IP address using privateIpAddresses.

- *

You can't specify a count of private IPv4 addresses if you've specified one of the following: - * specific private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.

- * @public - */ - SecondaryPrivateIpAddressCount?: number; - - /** - *

The IPv4 prefixes assigned to the network interface.

- *

You can't specify IPv4 prefixes if you've specified one of the following: - * a count of IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.

- * @public - */ - Ipv4Prefixes?: Ipv4PrefixSpecificationRequest[]; - - /** - *

The number of IPv4 prefixes that Amazon Web Services automatically assigns to the network interface.

- *

You can't specify a count of IPv4 prefixes if you've specified one of the following: - * specific IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 - * addresses.

- * @public - */ - Ipv4PrefixCount?: number; - - /** - *

The IPv6 prefixes assigned to the network interface.

- *

You can't specify IPv6 prefixes if you've specified one of the following: - * a count of IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.

- * @public - */ - Ipv6Prefixes?: Ipv6PrefixSpecificationRequest[]; - - /** - *

The number of IPv6 prefixes that Amazon Web Services automatically assigns to the network interface.

- *

You can't specify a count of IPv6 prefixes if you've specified one of the following: - * specific IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.

- * @public - */ - Ipv6PrefixCount?: number; - - /** - *

The type of network interface. The default is interface.

- *

The only supported values are interface, efa, and trunk.

- * @public - */ - InterfaceType?: NetworkInterfaceCreationType; - - /** - *

The ID of the subnet to associate with the network interface.

- * @public - */ - SubnetId: string | undefined; - - /** - *

The tags to apply to the new network interface.

- * @public - */ - TagSpecifications?: TagSpecification[]; - - /** - *

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

- * @public - */ - ClientToken?: string; - - /** - *

If you’re creating a network interface in a dual-stack or IPv6-only subnet, you have - * the option to assign a primary IPv6 IP address. A primary IPv6 address is an IPv6 GUA - * address associated with an ENI that you have enabled to use a primary IPv6 address. Use this option if the instance that - * this ENI will be attached to relies on its IPv6 address not changing. Amazon Web Services - * will automatically assign an IPv6 address associated with the ENI attached to your - * instance to be the primary IPv6 address. Once you enable an IPv6 GUA address to be a - * primary IPv6, you cannot disable it. When you enable an IPv6 GUA address to be a primary - * IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is - * terminated or the network interface is detached. If you have multiple IPv6 addresses - * associated with an ENI attached to your instance and you enable a primary IPv6 address, - * the first IPv6 GUA address associated with the ENI becomes the primary IPv6 - * address.

- * @public - */ - EnablePrimaryIpv6?: boolean; - - /** - *

A connection tracking specification for the network interface.

- * @public - */ - ConnectionTrackingSpecification?: ConnectionTrackingSpecificationRequest; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_2.ts b/clients/client-ec2/src/models/models_2.ts index 7d5e9e1f4ffc..26b64260c41f 100644 --- a/clients/client-ec2/src/models/models_2.ts +++ b/clients/client-ec2/src/models/models_2.ts @@ -38,20 +38,195 @@ import { ClientVpnRouteStatus, CoipCidr, CoipPool, + ConnectionTrackingSpecificationRequest, Ec2InstanceConnectEndpoint, GatewayType, + InstanceIpv6Address, Ipam, IpamExternalResourceVerificationToken, IpamPool, IpamResourceDiscovery, IpamScope, + Ipv4PrefixSpecificationRequest, + Ipv6PrefixSpecificationRequest, LaunchTemplate, + PrivateIpAddressSpecification, Subnet, Tenancy, VolumeType, Vpc, } from "./models_1"; +/** + * @public + * @enum + */ +export const NetworkInterfaceCreationType = { + branch: "branch", + efa: "efa", + trunk: "trunk", +} as const; + +/** + * @public + */ +export type NetworkInterfaceCreationType = + (typeof NetworkInterfaceCreationType)[keyof typeof NetworkInterfaceCreationType]; + +/** + * @public + */ +export interface CreateNetworkInterfaceRequest { + /** + *

A description for the network interface.

+ * @public + */ + Description?: string; + + /** + *

Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

+ * @public + */ + DryRun?: boolean; + + /** + *

The IDs of one or more security groups.

+ * @public + */ + Groups?: string[]; + + /** + *

The number of IPv6 addresses to assign to a network interface. Amazon EC2 + * automatically selects the IPv6 addresses from the subnet range.

+ *

You can't specify a count of IPv6 addresses using this parameter if you've specified + * one of the following: specific IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.

+ *

If your subnet has the AssignIpv6AddressOnCreation attribute set, you can + * override that setting by specifying 0 as the IPv6 address count.

+ * @public + */ + Ipv6AddressCount?: number; + + /** + *

The IPv6 addresses from the IPv6 CIDR block range of your subnet.

+ *

You can't specify IPv6 addresses using this parameter if you've specified one of the + * following: a count of IPv6 addresses, specific IPv6 prefixes, or a count of IPv6 prefixes.

+ * @public + */ + Ipv6Addresses?: InstanceIpv6Address[]; + + /** + *

The primary private IPv4 address of the network interface. If you don't specify an + * IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR range. If you + * specify an IP address, you cannot indicate any IP addresses specified in + * privateIpAddresses as primary (only one IP address can be designated as + * primary).

+ * @public + */ + PrivateIpAddress?: string; + + /** + *

The private IPv4 addresses.

+ *

You can't specify private IPv4 addresses if you've specified one of the following: + * a count of private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.

+ * @public + */ + PrivateIpAddresses?: PrivateIpAddressSpecification[]; + + /** + *

The number of secondary private IPv4 addresses to assign to a network interface. When + * you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses + * within the subnet's IPv4 CIDR range. You can't specify this option and specify more than + * one private IP address using privateIpAddresses.

+ *

You can't specify a count of private IPv4 addresses if you've specified one of the following: + * specific private IPv4 addresses, specific IPv4 prefixes, or a count of IPv4 prefixes.

+ * @public + */ + SecondaryPrivateIpAddressCount?: number; + + /** + *

The IPv4 prefixes assigned to the network interface.

+ *

You can't specify IPv4 prefixes if you've specified one of the following: + * a count of IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 addresses.

+ * @public + */ + Ipv4Prefixes?: Ipv4PrefixSpecificationRequest[]; + + /** + *

The number of IPv4 prefixes that Amazon Web Services automatically assigns to the network interface.

+ *

You can't specify a count of IPv4 prefixes if you've specified one of the following: + * specific IPv4 prefixes, specific private IPv4 addresses, or a count of private IPv4 + * addresses.

+ * @public + */ + Ipv4PrefixCount?: number; + + /** + *

The IPv6 prefixes assigned to the network interface.

+ *

You can't specify IPv6 prefixes if you've specified one of the following: + * a count of IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.

+ * @public + */ + Ipv6Prefixes?: Ipv6PrefixSpecificationRequest[]; + + /** + *

The number of IPv6 prefixes that Amazon Web Services automatically assigns to the network interface.

+ *

You can't specify a count of IPv6 prefixes if you've specified one of the following: + * specific IPv6 prefixes, specific IPv6 addresses, or a count of IPv6 addresses.

+ * @public + */ + Ipv6PrefixCount?: number; + + /** + *

The type of network interface. The default is interface.

+ *

The only supported values are interface, efa, and trunk.

+ * @public + */ + InterfaceType?: NetworkInterfaceCreationType; + + /** + *

The ID of the subnet to associate with the network interface.

+ * @public + */ + SubnetId: string | undefined; + + /** + *

The tags to apply to the new network interface.

+ * @public + */ + TagSpecifications?: TagSpecification[]; + + /** + *

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

+ * @public + */ + ClientToken?: string; + + /** + *

If you’re creating a network interface in a dual-stack or IPv6-only subnet, you have + * the option to assign a primary IPv6 IP address. A primary IPv6 address is an IPv6 GUA + * address associated with an ENI that you have enabled to use a primary IPv6 address. Use this option if the instance that + * this ENI will be attached to relies on its IPv6 address not changing. Amazon Web Services + * will automatically assign an IPv6 address associated with the ENI attached to your + * instance to be the primary IPv6 address. Once you enable an IPv6 GUA address to be a + * primary IPv6, you cannot disable it. When you enable an IPv6 GUA address to be a primary + * IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is + * terminated or the network interface is detached. If you have multiple IPv6 addresses + * associated with an ENI attached to your instance and you enable a primary IPv6 address, + * the first IPv6 GUA address associated with the ENI becomes the primary IPv6 + * address.

+ * @public + */ + EnablePrimaryIpv6?: boolean; + + /** + *

A connection tracking specification for the network interface.

+ * @public + */ + ConnectionTrackingSpecification?: ConnectionTrackingSpecificationRequest; +} + /** *

Describes association information for an Elastic IP address (IPv4 only), or a Carrier * IP address (for a network interface which resides in a subnet in a Wavelength @@ -583,7 +758,7 @@ export interface CreateNetworkInterfacePermissionRequest { AwsAccountId?: string; /** - *

The Amazon Web Service. Currently not supported.

+ *

The Amazon Web Services service. Currently not supported.

* @public */ AwsService?: string; @@ -662,7 +837,7 @@ export interface NetworkInterfacePermission { AwsAccountId?: string; /** - *

The Amazon Web Service.

+ *

The Amazon Web Services service.

* @public */ AwsService?: string; @@ -1463,7 +1638,7 @@ export interface Route { DestinationIpv6CidrBlock?: string; /** - *

The prefix of the Amazon Web Service.

+ *

The prefix of the Amazon Web Services service.

* @public */ DestinationPrefixListId?: string; @@ -9186,57 +9361,6 @@ export interface DeleteLaunchTemplateVersionsResponseErrorItem { ResponseError?: ResponseError; } -/** - * @public - */ -export interface DeleteLaunchTemplateVersionsResult { - /** - *

Information about the launch template versions that were successfully deleted.

- * @public - */ - SuccessfullyDeletedLaunchTemplateVersions?: DeleteLaunchTemplateVersionsResponseSuccessItem[]; - - /** - *

Information about the launch template versions that could not be deleted.

- * @public - */ - UnsuccessfullyDeletedLaunchTemplateVersions?: DeleteLaunchTemplateVersionsResponseErrorItem[]; -} - -/** - * @public - */ -export interface DeleteLocalGatewayRouteRequest { - /** - *

The CIDR range for the route. This must match the CIDR for the route exactly.

- * @public - */ - DestinationCidrBlock?: string; - - /** - *

The ID of the local gateway route table.

- * @public - */ - LocalGatewayRouteTableId: string | undefined; - - /** - *

Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

- * @public - */ - DryRun?: boolean; - - /** - *

- * Use a prefix list in place of DestinationCidrBlock. You cannot use - * DestinationPrefixListId and DestinationCidrBlock in the same request. - *

- * @public - */ - DestinationPrefixListId?: string; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_3.ts b/clients/client-ec2/src/models/models_3.ts index b4c217e4f53f..2dbeaee50f6b 100644 --- a/clients/client-ec2/src/models/models_3.ts +++ b/clients/client-ec2/src/models/models_3.ts @@ -22,7 +22,6 @@ import { CapacityReservationTenancy, ClientVpnAuthorizationRuleStatus, CurrencyCodeValues, - FleetCapacityReservationTenancy, FleetInstanceMatchCriteria, HostMaintenance, HostRecovery, @@ -52,6 +51,7 @@ import { EgressOnlyInternetGateway, ExportTask, FleetCapacityReservation, + FleetCapacityReservationTenancy, FleetCapacityReservationUsageStrategy, FleetExcessCapacityTerminationPolicy, FleetLaunchTemplateOverrides, @@ -76,6 +76,8 @@ import { } from "./models_1"; import { + DeleteLaunchTemplateVersionsResponseErrorItem, + DeleteLaunchTemplateVersionsResponseSuccessItem, FleetStateCode, GroupIdentifier, SubnetCidrReservation, @@ -92,6 +94,57 @@ import { VerifiedAccessGroup, } from "./models_2"; +/** + * @public + */ +export interface DeleteLaunchTemplateVersionsResult { + /** + *

Information about the launch template versions that were successfully deleted.

+ * @public + */ + SuccessfullyDeletedLaunchTemplateVersions?: DeleteLaunchTemplateVersionsResponseSuccessItem[]; + + /** + *

Information about the launch template versions that could not be deleted.

+ * @public + */ + UnsuccessfullyDeletedLaunchTemplateVersions?: DeleteLaunchTemplateVersionsResponseErrorItem[]; +} + +/** + * @public + */ +export interface DeleteLocalGatewayRouteRequest { + /** + *

The CIDR range for the route. This must match the CIDR for the route exactly.

+ * @public + */ + DestinationCidrBlock?: string; + + /** + *

The ID of the local gateway route table.

+ * @public + */ + LocalGatewayRouteTableId: string | undefined; + + /** + *

Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

+ * @public + */ + DryRun?: boolean; + + /** + *

+ * Use a prefix list in place of DestinationCidrBlock. You cannot use + * DestinationPrefixListId and DestinationCidrBlock in the same request. + *

+ * @public + */ + DestinationPrefixListId?: string; +} + /** * @public */ @@ -8961,39 +9014,6 @@ export const DeviceType = { */ export type DeviceType = (typeof DeviceType)[keyof typeof DeviceType]; -/** - * @public - * @enum - */ -export const ImageState = { - available: "available", - deregistered: "deregistered", - disabled: "disabled", - error: "error", - failed: "failed", - invalid: "invalid", - pending: "pending", - transient: "transient", -} as const; - -/** - * @public - */ -export type ImageState = (typeof ImageState)[keyof typeof ImageState]; - -/** - * @public - * @enum - */ -export const TpmSupportValues = { - v2_0: "v2.0", -} as const; - -/** - * @public - */ -export type TpmSupportValues = (typeof TpmSupportValues)[keyof typeof TpmSupportValues]; - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_4.ts b/clients/client-ec2/src/models/models_4.ts index aef54ad6ec5d..12b1572b2315 100644 --- a/clients/client-ec2/src/models/models_4.ts +++ b/clients/client-ec2/src/models/models_4.ts @@ -84,15 +84,46 @@ import { Filter, HypervisorType, IdFormat, - ImageState, ImageTypeValues, ImdsSupportValues, InstanceTagNotificationAttribute, PermissionGroup, ProductCode, - TpmSupportValues, } from "./models_3"; +/** + * @public + * @enum + */ +export const ImageState = { + available: "available", + deregistered: "deregistered", + disabled: "disabled", + error: "error", + failed: "failed", + invalid: "invalid", + pending: "pending", + transient: "transient", +} as const; + +/** + * @public + */ +export type ImageState = (typeof ImageState)[keyof typeof ImageState]; + +/** + * @public + * @enum + */ +export const TpmSupportValues = { + v2_0: "v2.0", +} as const; + +/** + * @public + */ +export type TpmSupportValues = (typeof TpmSupportValues)[keyof typeof TpmSupportValues]; + /** * @public * @enum @@ -8319,7 +8350,7 @@ export interface DescribeNetworkInterfacePermissionsRequest { * *
  • *

    - * network-interface-permission.aws-service - The Amazon Web Service.

    + * network-interface-permission.aws-service - The Amazon Web Services service.

    *
  • *
  • *

    @@ -8507,7 +8538,7 @@ export interface DescribeNetworkInterfacesRequest { *

  • *
  • *

    - * requester-managed - Indicates whether the network interface is being managed by an Amazon Web Service + * requester-managed - Indicates whether the network interface is being managed by an Amazon Web Services service * (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

    *
  • *
  • @@ -8738,7 +8769,7 @@ export interface DescribePrefixListsRequest { */ export interface PrefixList { /** - *

    The IP address range of the Amazon Web Service.

    + *

    The IP address range of the Amazon Web Services service.

    * @public */ Cidrs?: string[]; @@ -10116,7 +10147,7 @@ export interface DescribeRouteTablesRequest { *
  • *
  • *

    - * route.destination-prefix-list-id - The ID (prefix) of the Amazon Web Service + * route.destination-prefix-list-id - The ID (prefix) of the Amazon Web Services service * specified in a route in the table.

    *
  • *
  • @@ -12337,57 +12368,6 @@ export const OnDemandAllocationStrategy = { */ export type OnDemandAllocationStrategy = (typeof OnDemandAllocationStrategy)[keyof typeof OnDemandAllocationStrategy]; -/** - * @public - * @enum - */ -export const ReplacementStrategy = { - LAUNCH: "launch", - LAUNCH_BEFORE_TERMINATE: "launch-before-terminate", -} as const; - -/** - * @public - */ -export type ReplacementStrategy = (typeof ReplacementStrategy)[keyof typeof ReplacementStrategy]; - -/** - *

    The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your - * Spot Instance is at an elevated risk of being interrupted. For more information, see - * Capacity - * rebalancing in the Amazon EC2 User Guide.

    - * @public - */ -export interface SpotCapacityRebalance { - /** - *

    The replacement strategy to use. Only available for fleets of type - * maintain.

    - *

    - * launch - Spot Fleet launches a new replacement Spot Instance when a - * rebalance notification is emitted for an existing Spot Instance in the fleet. Spot Fleet - * does not terminate the instances that receive a rebalance notification. You can - * terminate the old instances, or you can leave them running. You are charged for all - * instances while they are running.

    - *

    - * launch-before-terminate - Spot Fleet launches a new replacement Spot - * Instance when a rebalance notification is emitted for an existing Spot Instance in the - * fleet, and then, after a delay that you specify (in TerminationDelay), - * terminates the instances that received a rebalance notification.

    - * @public - */ - ReplacementStrategy?: ReplacementStrategy; - - /** - *

    The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot - * Instance after launching a new replacement Spot Instance.

    - *

    Required when ReplacementStrategy is set to launch-before-terminate.

    - *

    Not valid when ReplacementStrategy is set to launch.

    - *

    Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds.

    - * @public - */ - TerminationDelay?: number; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_5.ts b/clients/client-ec2/src/models/models_5.ts index 347ce9c3044a..21f636eb8326 100644 --- a/clients/client-ec2/src/models/models_5.ts +++ b/clients/client-ec2/src/models/models_5.ts @@ -110,12 +110,62 @@ import { LoadBalancersConfig, OnDemandAllocationStrategy, RIProductDescription, - SpotCapacityRebalance, SpotFleetLaunchSpecification, SpotFleetLaunchSpecificationFilterSensitiveLog, SpotPlacement, } from "./models_4"; +/** + * @public + * @enum + */ +export const ReplacementStrategy = { + LAUNCH: "launch", + LAUNCH_BEFORE_TERMINATE: "launch-before-terminate", +} as const; + +/** + * @public + */ +export type ReplacementStrategy = (typeof ReplacementStrategy)[keyof typeof ReplacementStrategy]; + +/** + *

    The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your + * Spot Instance is at an elevated risk of being interrupted. For more information, see + * Capacity + * rebalancing in the Amazon EC2 User Guide.

    + * @public + */ +export interface SpotCapacityRebalance { + /** + *

    The replacement strategy to use. Only available for fleets of type + * maintain.

    + *

    + * launch - Spot Fleet launches a new replacement Spot Instance when a + * rebalance notification is emitted for an existing Spot Instance in the fleet. Spot Fleet + * does not terminate the instances that receive a rebalance notification. You can + * terminate the old instances, or you can leave them running. You are charged for all + * instances while they are running.

    + *

    + * launch-before-terminate - Spot Fleet launches a new replacement Spot + * Instance when a rebalance notification is emitted for an existing Spot Instance in the + * fleet, and then, after a delay that you specify (in TerminationDelay), + * terminates the instances that received a rebalance notification.

    + * @public + */ + ReplacementStrategy?: ReplacementStrategy; + + /** + *

    The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot + * Instance after launching a new replacement Spot Instance.

    + *

    Required when ReplacementStrategy is set to launch-before-terminate.

    + *

    Not valid when ReplacementStrategy is set to launch.

    + *

    Valid values: Minimum value of 120 seconds. Maximum value of 7200 seconds.

    + * @public + */ + TerminationDelay?: number; +} + /** *

    The strategies for managing your Spot Instances that are at an elevated risk of being * interrupted.

    @@ -9456,31 +9506,6 @@ export interface InstanceMetadataDefaultsResponse { InstanceMetadataTags?: InstanceMetadataTagsState; } -/** - * @public - */ -export interface GetInstanceMetadataDefaultsResult { - /** - *

    The account-level default IMDS settings.

    - * @public - */ - AccountLevel?: InstanceMetadataDefaultsResponse; -} - -/** - * @public - * @enum - */ -export const EkPubKeyFormat = { - der: "der", - tpmt: "tpmt", -} as const; - -/** - * @public - */ -export type EkPubKeyFormat = (typeof EkPubKeyFormat)[keyof typeof EkPubKeyFormat]; - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_6.ts b/clients/client-ec2/src/models/models_6.ts index 36b9611eb12b..dbb14e1228f0 100644 --- a/clients/client-ec2/src/models/models_6.ts +++ b/clients/client-ec2/src/models/models_6.ts @@ -17,6 +17,7 @@ import { HostMaintenance, HostRecovery, InstanceEventWindow, + InstanceMatchCriteria, IpamPoolAllocation, Ipv6SupportValue, SecurityGroupReferencingSupportValue, @@ -76,15 +77,8 @@ import { DefaultRouteTableAssociationValue, DefaultRouteTablePropagationValue, DnsOptionsSpecification, - IKEVersionsRequestListValue, IpAddressType, PayerResponsibility, - Phase1DHGroupNumbersRequestListValue, - Phase1EncryptionAlgorithmsRequestListValue, - Phase1IntegrityAlgorithmsRequestListValue, - Phase2DHGroupNumbersRequestListValue, - Phase2EncryptionAlgorithmsRequestListValue, - Phase2IntegrityAlgorithmsRequestListValue, SubnetCidrReservation, SubnetConfiguration, TrafficDirection, @@ -103,7 +97,6 @@ import { VpnConnection, VpnConnectionFilterSensitiveLog, VpnEcmpSupportValue, - VpnTunnelLogOptionsSpecification, } from "./models_2"; import { @@ -146,8 +139,8 @@ import { } from "./models_4"; import { - EkPubKeyFormat, InstanceFamilyCreditSpecification, + InstanceMetadataDefaultsResponse, SnapshotBlockPublicAccessState, TransitGatewayPropagationState, UnlimitedSupportedInstanceFamily, @@ -155,6 +148,31 @@ import { VolumeModification, } from "./models_5"; +/** + * @public + */ +export interface GetInstanceMetadataDefaultsResult { + /** + *

    The account-level default IMDS settings.

    + * @public + */ + AccountLevel?: InstanceMetadataDefaultsResponse; +} + +/** + * @public + * @enum + */ +export const EkPubKeyFormat = { + der: "der", + tpmt: "tpmt", +} as const; + +/** + * @public + */ +export type EkPubKeyFormat = (typeof EkPubKeyFormat)[keyof typeof EkPubKeyFormat]; + /** * @public * @enum @@ -4766,6 +4784,17 @@ export interface ModifyCapacityReservationRequest { * @public */ AdditionalInfo?: string; + + /** + *

    + * The matching criteria (instance eligibility) that you want to use in the modified Capacity Reservation. If you change the instance eligibility of an existing Capacity Reservation from targeted to open, + * any running instances that match the attributes of the Capacity Reservation, have the CapacityReservationPreference set to open, and + * are not yet running in the Capacity Reservation, will automatically use the modified Capacity Reservation. + *

    + *

    To modify the instance eligibility, the Capacity Reservation must be completely idle (zero usage).

    + * @public + */ + InstanceMatchCriteria?: InstanceMatchCriteria; } /** @@ -9406,253 +9435,6 @@ export interface ModifyVpnTunnelCertificateRequest { DryRun?: boolean; } -/** - * @public - */ -export interface ModifyVpnTunnelCertificateResult { - /** - *

    Information about the VPN connection.

    - * @public - */ - VpnConnection?: VpnConnection; -} - -/** - *

    The Amazon Web Services Site-to-Site VPN tunnel options to modify.

    - * @public - */ -export interface ModifyVpnTunnelOptionsSpecification { - /** - *

    The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be - * unique across all VPN connections that use the same virtual private gateway.

    - *

    Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The - * following CIDR blocks are reserved and cannot be used:

    - *
      - *
    • - *

      - * 169.254.0.0/30 - *

      - *
    • - *
    • - *

      - * 169.254.1.0/30 - *

      - *
    • - *
    • - *

      - * 169.254.2.0/30 - *

      - *
    • - *
    • - *

      - * 169.254.3.0/30 - *

      - *
    • - *
    • - *

      - * 169.254.4.0/30 - *

      - *
    • - *
    • - *

      - * 169.254.5.0/30 - *

      - *
    • - *
    • - *

      - * 169.254.169.252/30 - *

      - *
    • - *
    - * @public - */ - TunnelInsideCidr?: string; - - /** - *

    The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be - * unique across all VPN connections that use the same transit gateway.

    - *

    Constraints: A size /126 CIDR block from the local fd00::/8 range.

    - * @public - */ - TunnelInsideIpv6Cidr?: string; - - /** - *

    The pre-shared key (PSK) to establish initial authentication between the virtual - * private gateway and the customer gateway.

    - *

    Constraints: Allowed characters are alphanumeric characters, periods (.), and - * underscores (_). Must be between 8 and 64 characters in length and cannot start with - * zero (0).

    - * @public - */ - PreSharedKey?: string; - - /** - *

    The lifetime for phase 1 of the IKE negotiation, in seconds.

    - *

    Constraints: A value between 900 and 28,800.

    - *

    Default: 28800 - *

    - * @public - */ - Phase1LifetimeSeconds?: number; - - /** - *

    The lifetime for phase 2 of the IKE negotiation, in seconds.

    - *

    Constraints: A value between 900 and 3,600. The value must be less than the value for - * Phase1LifetimeSeconds.

    - *

    Default: 3600 - *

    - * @public - */ - Phase2LifetimeSeconds?: number; - - /** - *

    The margin time, in seconds, before the phase 2 lifetime expires, during which the - * Amazon Web Services side of the VPN connection performs an IKE rekey. The exact time - * of the rekey is randomly selected based on the value for - * RekeyFuzzPercentage.

    - *

    Constraints: A value between 60 and half of Phase2LifetimeSeconds.

    - *

    Default: 270 - *

    - * @public - */ - RekeyMarginTimeSeconds?: number; - - /** - *

    The percentage of the rekey window (determined by RekeyMarginTimeSeconds) - * during which the rekey time is randomly selected.

    - *

    Constraints: A value between 0 and 100.

    - *

    Default: 100 - *

    - * @public - */ - RekeyFuzzPercentage?: number; - - /** - *

    The number of packets in an IKE replay window.

    - *

    Constraints: A value between 64 and 2048.

    - *

    Default: 1024 - *

    - * @public - */ - ReplayWindowSize?: number; - - /** - *

    The number of seconds after which a DPD timeout occurs. A DPD timeout of 40 seconds means that the VPN endpoint will consider the peer dead 30 seconds after the first failed keep-alive.

    - *

    Constraints: A value greater than or equal to 30.

    - *

    Default: 40 - *

    - * @public - */ - DPDTimeoutSeconds?: number; - - /** - *

    The action to take after DPD timeout occurs. Specify restart to restart - * the IKE initiation. Specify clear to end the IKE session.

    - *

    Valid Values: clear | none | restart - *

    - *

    Default: clear - *

    - * @public - */ - DPDTimeoutAction?: string; - - /** - *

    One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 - * IKE negotiations.

    - *

    Valid values: AES128 | AES256 | AES128-GCM-16 | - * AES256-GCM-16 - *

    - * @public - */ - Phase1EncryptionAlgorithms?: Phase1EncryptionAlgorithmsRequestListValue[]; - - /** - *

    One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 - * IKE negotiations.

    - *

    Valid values: AES128 | AES256 | AES128-GCM-16 | - * AES256-GCM-16 - *

    - * @public - */ - Phase2EncryptionAlgorithms?: Phase2EncryptionAlgorithmsRequestListValue[]; - - /** - *

    One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE - * negotiations.

    - *

    Valid values: SHA1 | SHA2-256 | SHA2-384 | - * SHA2-512 - *

    - * @public - */ - Phase1IntegrityAlgorithms?: Phase1IntegrityAlgorithmsRequestListValue[]; - - /** - *

    One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE - * negotiations.

    - *

    Valid values: SHA1 | SHA2-256 | SHA2-384 | - * SHA2-512 - *

    - * @public - */ - Phase2IntegrityAlgorithms?: Phase2IntegrityAlgorithmsRequestListValue[]; - - /** - *

    One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for - * phase 1 IKE negotiations.

    - *

    Valid values: 2 | 14 | 15 | 16 | - * 17 | 18 | 19 | 20 | - * 21 | 22 | 23 | 24 - *

    - * @public - */ - Phase1DHGroupNumbers?: Phase1DHGroupNumbersRequestListValue[]; - - /** - *

    One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for - * phase 2 IKE negotiations.

    - *

    Valid values: 2 | 5 | 14 | 15 | - * 16 | 17 | 18 | 19 | - * 20 | 21 | 22 | 23 | - * 24 - *

    - * @public - */ - Phase2DHGroupNumbers?: Phase2DHGroupNumbersRequestListValue[]; - - /** - *

    The IKE versions that are permitted for the VPN tunnel.

    - *

    Valid values: ikev1 | ikev2 - *

    - * @public - */ - IKEVersions?: IKEVersionsRequestListValue[]; - - /** - *

    The action to take when the establishing the tunnel for the VPN connection. By - * default, your customer gateway device must initiate the IKE negotiation and bring up the - * tunnel. Specify start for Amazon Web Services to initiate the IKE - * negotiation.

    - *

    Valid Values: add | start - *

    - *

    Default: add - *

    - * @public - */ - StartupAction?: string; - - /** - *

    Options for logging VPN tunnel activity.

    - * @public - */ - LogOptions?: VpnTunnelLogOptionsSpecification; - - /** - *

    Turn on or off tunnel endpoint lifecycle control feature.

    - * @public - */ - EnableTunnelLifecycleControl?: boolean; -} - /** * @internal */ @@ -9856,21 +9638,3 @@ export const ModifyVpnConnectionOptionsResultFilterSensitiveLog = (obj: ModifyVp ...obj, ...(obj.VpnConnection && { VpnConnection: VpnConnectionFilterSensitiveLog(obj.VpnConnection) }), }); - -/** - * @internal - */ -export const ModifyVpnTunnelCertificateResultFilterSensitiveLog = (obj: ModifyVpnTunnelCertificateResult): any => ({ - ...obj, - ...(obj.VpnConnection && { VpnConnection: VpnConnectionFilterSensitiveLog(obj.VpnConnection) }), -}); - -/** - * @internal - */ -export const ModifyVpnTunnelOptionsSpecificationFilterSensitiveLog = ( - obj: ModifyVpnTunnelOptionsSpecification -): any => ({ - ...obj, - ...(obj.PreSharedKey && { PreSharedKey: SENSITIVE_STRING }), -}); diff --git a/clients/client-ec2/src/models/models_7.ts b/clients/client-ec2/src/models/models_7.ts index fab34720ef99..3a1dfe0c0bd5 100644 --- a/clients/client-ec2/src/models/models_7.ts +++ b/clients/client-ec2/src/models/models_7.ts @@ -43,11 +43,19 @@ import { } from "./models_1"; import { + IKEVersionsRequestListValue, + Phase1DHGroupNumbersRequestListValue, + Phase1EncryptionAlgorithmsRequestListValue, + Phase1IntegrityAlgorithmsRequestListValue, + Phase2DHGroupNumbersRequestListValue, + Phase2EncryptionAlgorithmsRequestListValue, + Phase2IntegrityAlgorithmsRequestListValue, SnapshotState, SSEType, TransitGatewayRoute, VpnConnection, VpnConnectionFilterSensitiveLog, + VpnTunnelLogOptionsSpecification, } from "./models_2"; import { @@ -59,7 +67,6 @@ import { ImdsSupportValues, InstanceTagNotificationAttribute, IpamPoolCidr, - TpmSupportValues, } from "./models_3"; import { @@ -78,6 +85,7 @@ import { ScheduledInstance, SnapshotAttributeName, SpotPlacement, + TpmSupportValues, } from "./models_4"; import { @@ -89,7 +97,254 @@ import { SpotInstanceRequestFilterSensitiveLog, } from "./models_5"; -import { CapacityReservationSpecification, ModifyVpnTunnelOptionsSpecification } from "./models_6"; +import { CapacityReservationSpecification } from "./models_6"; + +/** + * @public + */ +export interface ModifyVpnTunnelCertificateResult { + /** + *

    Information about the VPN connection.

    + * @public + */ + VpnConnection?: VpnConnection; +} + +/** + *

    The Amazon Web Services Site-to-Site VPN tunnel options to modify.

    + * @public + */ +export interface ModifyVpnTunnelOptionsSpecification { + /** + *

    The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be + * unique across all VPN connections that use the same virtual private gateway.

    + *

    Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The + * following CIDR blocks are reserved and cannot be used:

    + *
      + *
    • + *

      + * 169.254.0.0/30 + *

      + *
    • + *
    • + *

      + * 169.254.1.0/30 + *

      + *
    • + *
    • + *

      + * 169.254.2.0/30 + *

      + *
    • + *
    • + *

      + * 169.254.3.0/30 + *

      + *
    • + *
    • + *

      + * 169.254.4.0/30 + *

      + *
    • + *
    • + *

      + * 169.254.5.0/30 + *

      + *
    • + *
    • + *

      + * 169.254.169.252/30 + *

      + *
    • + *
    + * @public + */ + TunnelInsideCidr?: string; + + /** + *

    The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be + * unique across all VPN connections that use the same transit gateway.

    + *

    Constraints: A size /126 CIDR block from the local fd00::/8 range.

    + * @public + */ + TunnelInsideIpv6Cidr?: string; + + /** + *

    The pre-shared key (PSK) to establish initial authentication between the virtual + * private gateway and the customer gateway.

    + *

    Constraints: Allowed characters are alphanumeric characters, periods (.), and + * underscores (_). Must be between 8 and 64 characters in length and cannot start with + * zero (0).

    + * @public + */ + PreSharedKey?: string; + + /** + *

    The lifetime for phase 1 of the IKE negotiation, in seconds.

    + *

    Constraints: A value between 900 and 28,800.

    + *

    Default: 28800 + *

    + * @public + */ + Phase1LifetimeSeconds?: number; + + /** + *

    The lifetime for phase 2 of the IKE negotiation, in seconds.

    + *

    Constraints: A value between 900 and 3,600. The value must be less than the value for + * Phase1LifetimeSeconds.

    + *

    Default: 3600 + *

    + * @public + */ + Phase2LifetimeSeconds?: number; + + /** + *

    The margin time, in seconds, before the phase 2 lifetime expires, during which the + * Amazon Web Services side of the VPN connection performs an IKE rekey. The exact time + * of the rekey is randomly selected based on the value for + * RekeyFuzzPercentage.

    + *

    Constraints: A value between 60 and half of Phase2LifetimeSeconds.

    + *

    Default: 270 + *

    + * @public + */ + RekeyMarginTimeSeconds?: number; + + /** + *

    The percentage of the rekey window (determined by RekeyMarginTimeSeconds) + * during which the rekey time is randomly selected.

    + *

    Constraints: A value between 0 and 100.

    + *

    Default: 100 + *

    + * @public + */ + RekeyFuzzPercentage?: number; + + /** + *

    The number of packets in an IKE replay window.

    + *

    Constraints: A value between 64 and 2048.

    + *

    Default: 1024 + *

    + * @public + */ + ReplayWindowSize?: number; + + /** + *

    The number of seconds after which a DPD timeout occurs. A DPD timeout of 40 seconds means that the VPN endpoint will consider the peer dead 30 seconds after the first failed keep-alive.

    + *

    Constraints: A value greater than or equal to 30.

    + *

    Default: 40 + *

    + * @public + */ + DPDTimeoutSeconds?: number; + + /** + *

    The action to take after DPD timeout occurs. Specify restart to restart + * the IKE initiation. Specify clear to end the IKE session.

    + *

    Valid Values: clear | none | restart + *

    + *

    Default: clear + *

    + * @public + */ + DPDTimeoutAction?: string; + + /** + *

    One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 + * IKE negotiations.

    + *

    Valid values: AES128 | AES256 | AES128-GCM-16 | + * AES256-GCM-16 + *

    + * @public + */ + Phase1EncryptionAlgorithms?: Phase1EncryptionAlgorithmsRequestListValue[]; + + /** + *

    One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 + * IKE negotiations.

    + *

    Valid values: AES128 | AES256 | AES128-GCM-16 | + * AES256-GCM-16 + *

    + * @public + */ + Phase2EncryptionAlgorithms?: Phase2EncryptionAlgorithmsRequestListValue[]; + + /** + *

    One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE + * negotiations.

    + *

    Valid values: SHA1 | SHA2-256 | SHA2-384 | + * SHA2-512 + *

    + * @public + */ + Phase1IntegrityAlgorithms?: Phase1IntegrityAlgorithmsRequestListValue[]; + + /** + *

    One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE + * negotiations.

    + *

    Valid values: SHA1 | SHA2-256 | SHA2-384 | + * SHA2-512 + *

    + * @public + */ + Phase2IntegrityAlgorithms?: Phase2IntegrityAlgorithmsRequestListValue[]; + + /** + *

    One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for + * phase 1 IKE negotiations.

    + *

    Valid values: 2 | 14 | 15 | 16 | + * 17 | 18 | 19 | 20 | + * 21 | 22 | 23 | 24 + *

    + * @public + */ + Phase1DHGroupNumbers?: Phase1DHGroupNumbersRequestListValue[]; + + /** + *

    One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for + * phase 2 IKE negotiations.

    + *

    Valid values: 2 | 5 | 14 | 15 | + * 16 | 17 | 18 | 19 | + * 20 | 21 | 22 | 23 | + * 24 + *

    + * @public + */ + Phase2DHGroupNumbers?: Phase2DHGroupNumbersRequestListValue[]; + + /** + *

    The IKE versions that are permitted for the VPN tunnel.

    + *

    Valid values: ikev1 | ikev2 + *

    + * @public + */ + IKEVersions?: IKEVersionsRequestListValue[]; + + /** + *

    The action to take when the establishing the tunnel for the VPN connection. By + * default, your customer gateway device must initiate the IKE negotiation and bring up the + * tunnel. Specify start for Amazon Web Services to initiate the IKE + * negotiation.

    + *

    Valid Values: add | start + *

    + *

    Default: add + *

    + * @public + */ + StartupAction?: string; + + /** + *

    Options for logging VPN tunnel activity.

    + * @public + */ + LogOptions?: VpnTunnelLogOptionsSpecification; + + /** + *

    Turn on or off tunnel endpoint lifecycle control feature.

    + * @public + */ + EnableTunnelLifecycleControl?: boolean; +} /** * @public @@ -283,6 +538,75 @@ export interface MoveByoipCidrToIpamResult { ByoipCidr?: ByoipCidr; } +/** + * @public + */ +export interface MoveCapacityReservationInstancesRequest { + /** + *

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

    + * @public + */ + DryRun?: boolean; + + /** + *

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.

    + * @public + */ + ClientToken?: string; + + /** + *

    + * The ID of the Capacity Reservation from which you want to move capacity. + *

    + * @public + */ + SourceCapacityReservationId: string | undefined; + + /** + *

    + * The ID of the Capacity Reservation that you want to move capacity into. + *

    + * @public + */ + DestinationCapacityReservationId: string | undefined; + + /** + *

    The number of instances that you want to move from the source Capacity Reservation. + *

    + * @public + */ + InstanceCount: number | undefined; +} + +/** + * @public + */ +export interface MoveCapacityReservationInstancesResult { + /** + *

    + * Information about the source Capacity Reservation. + *

    + * @public + */ + SourceCapacityReservation?: CapacityReservation; + + /** + *

    + * Information about the destination Capacity Reservation. + *

    + * @public + */ + DestinationCapacityReservation?: CapacityReservation; + + /** + *

    + * The number of instances that were moved from the source Capacity Reservation to the destination Capacity Reservation. + *

    + * @public + */ + InstanceCount?: number; +} + /** *

    Provides authorization for Amazon to bring a specific IP address range to a specific * Amazon Web Services account using bring your own IP addresses (BYOIP). For more information, see Configuring your BYOIP address range in the Amazon EC2 User Guide.

    @@ -5234,6 +5558,24 @@ export interface WithdrawByoipCidrResult { ByoipCidr?: ByoipCidr; } +/** + * @internal + */ +export const ModifyVpnTunnelCertificateResultFilterSensitiveLog = (obj: ModifyVpnTunnelCertificateResult): any => ({ + ...obj, + ...(obj.VpnConnection && { VpnConnection: VpnConnectionFilterSensitiveLog(obj.VpnConnection) }), +}); + +/** + * @internal + */ +export const ModifyVpnTunnelOptionsSpecificationFilterSensitiveLog = ( + obj: ModifyVpnTunnelOptionsSpecification +): any => ({ + ...obj, + ...(obj.PreSharedKey && { PreSharedKey: SENSITIVE_STRING }), +}); + /** * @internal */ diff --git a/clients/client-ec2/src/protocols/Aws_ec2.ts b/clients/client-ec2/src/protocols/Aws_ec2.ts index eff39ce404f2..17c0c853b08a 100644 --- a/clients/client-ec2/src/protocols/Aws_ec2.ts +++ b/clients/client-ec2/src/protocols/Aws_ec2.ts @@ -205,6 +205,10 @@ import { import { CopyFpgaImageCommandInput, CopyFpgaImageCommandOutput } from "../commands/CopyFpgaImageCommand"; import { CopyImageCommandInput, CopyImageCommandOutput } from "../commands/CopyImageCommand"; import { CopySnapshotCommandInput, CopySnapshotCommandOutput } from "../commands/CopySnapshotCommand"; +import { + CreateCapacityReservationBySplittingCommandInput, + CreateCapacityReservationBySplittingCommandOutput, +} from "../commands/CreateCapacityReservationBySplittingCommand"; import { CreateCapacityReservationCommandInput, CreateCapacityReservationCommandOutput, @@ -1917,6 +1921,10 @@ import { MoveByoipCidrToIpamCommandInput, MoveByoipCidrToIpamCommandOutput, } from "../commands/MoveByoipCidrToIpamCommand"; +import { + MoveCapacityReservationInstancesCommandInput, + MoveCapacityReservationInstancesCommandOutput, +} from "../commands/MoveCapacityReservationInstancesCommand"; import { ProvisionByoipCidrCommandInput, ProvisionByoipCidrCommandOutput } from "../commands/ProvisionByoipCidrCommand"; import { ProvisionIpamByoasnCommandInput, @@ -2294,7 +2302,8 @@ import { CopyImageResult, CopySnapshotRequest, CopySnapshotResult, - CreateCapacityReservationFleetRequest, + CreateCapacityReservationBySplittingRequest, + CreateCapacityReservationBySplittingResult, CreateCapacityReservationRequest, CreateCapacityReservationResult, DeviceOptions, @@ -2400,6 +2409,7 @@ import { ConnectionTrackingSpecification, ConnectionTrackingSpecificationRequest, CpuManufacturer, + CreateCapacityReservationFleetRequest, CreateCapacityReservationFleetResult, CreateCarrierGatewayRequest, CreateCarrierGatewayResult, @@ -2473,7 +2483,6 @@ import { CreateNetworkInsightsAccessScopeResult, CreateNetworkInsightsPathRequest, CreateNetworkInsightsPathResult, - CreateNetworkInterfaceRequest, CreditSpecification, CreditSpecificationRequest, CustomerGateway, @@ -2622,6 +2631,7 @@ import { ConnectionTrackingConfiguration, CreateNetworkInterfacePermissionRequest, CreateNetworkInterfacePermissionResult, + CreateNetworkInterfaceRequest, CreateNetworkInterfaceResult, CreatePlacementGroupRequest, CreatePlacementGroupResult, @@ -2758,8 +2768,6 @@ import { DeleteLaunchTemplateVersionsRequest, DeleteLaunchTemplateVersionsResponseErrorItem, DeleteLaunchTemplateVersionsResponseSuccessItem, - DeleteLaunchTemplateVersionsResult, - DeleteLocalGatewayRouteRequest, DnsEntry, DnsOptions, DnsOptionsSpecification, @@ -2875,6 +2883,8 @@ import { ClientVpnRoute, ConnectionLogResponseOptions, ConversionTask, + DeleteLaunchTemplateVersionsResult, + DeleteLocalGatewayRouteRequest, DeleteLocalGatewayRouteResult, DeleteLocalGatewayRouteTableRequest, DeleteLocalGatewayRouteTableResult, @@ -3364,7 +3374,6 @@ import { SnapshotDetail, SnapshotTaskDetail, SnapshotTierStatus, - SpotCapacityRebalance, SpotFleetLaunchSpecification, SpotFleetMonitoring, SpotFleetTagSpecification, @@ -3622,7 +3631,6 @@ import { GetImageBlockPublicAccessStateRequest, GetImageBlockPublicAccessStateResult, GetInstanceMetadataDefaultsRequest, - GetInstanceMetadataDefaultsResult, InstanceEventWindowDisassociationRequest, InstanceFamilyCreditSpecification, InstanceMetadataDefaultsResponse, @@ -3635,6 +3643,7 @@ import { Purchase, RunInstancesMonitoringEnabled, ServiceDetail, + SpotCapacityRebalance, SpotFleetRequestConfig, SpotFleetRequestConfigData, SpotInstanceRequest, @@ -3673,6 +3682,7 @@ import { DiskImageDetail, DnsServersOptionsModifyStructure, EbsInstanceBlockDeviceSpecification, + GetInstanceMetadataDefaultsResult, GetInstanceTpmEkPubRequest, GetInstanceTpmEkPubResult, GetInstanceTypesFromInstanceRequirementsRequest, @@ -3904,8 +3914,6 @@ import { ModifyVpnConnectionRequest, ModifyVpnConnectionResult, ModifyVpnTunnelCertificateRequest, - ModifyVpnTunnelCertificateResult, - ModifyVpnTunnelOptionsSpecification, NetworkInterfaceAttachmentChanges, PeeringConnectionOptions, PeeringConnectionOptionsRequest, @@ -3959,14 +3967,18 @@ import { IpamCidrAuthorizationContext, LaunchTemplateSpecification, LicenseConfigurationRequest, + ModifyVpnTunnelCertificateResult, ModifyVpnTunnelOptionsRequest, ModifyVpnTunnelOptionsResult, + ModifyVpnTunnelOptionsSpecification, MonitorInstancesRequest, MonitorInstancesResult, MoveAddressToVpcRequest, MoveAddressToVpcResult, MoveByoipCidrToIpamRequest, MoveByoipCidrToIpamResult, + MoveCapacityReservationInstancesRequest, + MoveCapacityReservationInstancesResult, PrivateDnsNameOptionsRequest, ProvisionByoipCidrRequest, ProvisionByoipCidrResult, @@ -5064,6 +5076,23 @@ export const se_CreateCapacityReservationCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_ec2CreateCapacityReservationBySplittingCommand + */ +export const se_CreateCapacityReservationBySplittingCommand = async ( + input: CreateCapacityReservationBySplittingCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = SHARED_HEADERS; + let body: any; + body = buildFormUrlencodedString({ + ...se_CreateCapacityReservationBySplittingRequest(input, context), + [_A]: _CCRBS, + [_V]: _, + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_ec2CreateCapacityReservationFleetCommand */ @@ -13598,6 +13627,23 @@ export const se_MoveByoipCidrToIpamCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_ec2MoveCapacityReservationInstancesCommand + */ +export const se_MoveCapacityReservationInstancesCommand = async ( + input: MoveCapacityReservationInstancesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = SHARED_HEADERS; + let body: any; + body = buildFormUrlencodedString({ + ...se_MoveCapacityReservationInstancesRequest(input, context), + [_A]: _MCRI, + [_V]: _, + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_ec2ProvisionByoipCidrCommand */ @@ -15845,6 +15891,26 @@ export const de_CreateCapacityReservationCommand = async ( return response; }; +/** + * deserializeAws_ec2CreateCapacityReservationBySplittingCommand + */ +export const de_CreateCapacityReservationBySplittingCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_CreateCapacityReservationBySplittingResult(data, context); + const response: CreateCapacityReservationBySplittingCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_ec2CreateCapacityReservationFleetCommand */ @@ -25765,6 +25831,26 @@ export const de_MoveByoipCidrToIpamCommand = async ( return response; }; +/** + * deserializeAws_ec2MoveCapacityReservationInstancesCommand + */ +export const de_MoveCapacityReservationInstancesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_MoveCapacityReservationInstancesResult(data, context); + const response: MoveCapacityReservationInstancesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + /** * deserializeAws_ec2ProvisionByoipCidrCommand */ @@ -29487,6 +29573,39 @@ const se_CpuOptionsRequest = (input: CpuOptionsRequest, context: __SerdeContext) return entries; }; +/** + * serializeAws_ec2CreateCapacityReservationBySplittingRequest + */ +const se_CreateCapacityReservationBySplittingRequest = ( + input: CreateCapacityReservationBySplittingRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input[_DRr] != null) { + entries[_DRr] = input[_DRr]; + } + if (input[_CTl] === undefined) { + input[_CTl] = generateIdempotencyToken(); + } + if (input[_CTl] != null) { + entries[_CTl] = input[_CTl]; + } + if (input[_SCRI] != null) { + entries[_SCRI] = input[_SCRI]; + } + if (input[_IC] != null) { + entries[_IC] = input[_IC]; + } + if (input[_TS] != null) { + const memberEntries = se_TagSpecificationList(input[_TS], context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TagSpecification.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + return entries; +}; + /** * serializeAws_ec2CreateCapacityReservationFleetRequest */ @@ -33688,8 +33807,8 @@ const se_DeleteSubnetCidrReservationRequest = ( context: __SerdeContext ): any => { const entries: any = {}; - if (input[_SCRI] != null) { - entries[_SCRI] = input[_SCRI]; + if (input[_SCRIu] != null) { + entries[_SCRIu] = input[_SCRIu]; } if (input[_DRr] != null) { entries[_DRr] = input[_DRr]; @@ -45356,6 +45475,9 @@ const se_ModifyCapacityReservationRequest = (input: ModifyCapacityReservationReq if (input[_AId] != null) { entries[_AId] = input[_AId]; } + if (input[_IMC] != null) { + entries[_IMC] = input[_IMC]; + } return entries; }; @@ -47804,6 +47926,35 @@ const se_MoveByoipCidrToIpamRequest = (input: MoveByoipCidrToIpamRequest, contex return entries; }; +/** + * serializeAws_ec2MoveCapacityReservationInstancesRequest + */ +const se_MoveCapacityReservationInstancesRequest = ( + input: MoveCapacityReservationInstancesRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input[_DRr] != null) { + entries[_DRr] = input[_DRr]; + } + if (input[_CTl] === undefined) { + input[_CTl] = generateIdempotencyToken(); + } + if (input[_CTl] != null) { + entries[_CTl] = input[_CTl]; + } + if (input[_SCRI] != null) { + entries[_SCRI] = input[_SCRI]; + } + if (input[_DCRI] != null) { + entries[_DCRI] = input[_DCRI]; + } + if (input[_IC] != null) { + entries[_IC] = input[_IC]; + } + return entries; +}; + /** * serializeAws_ec2NatGatewayIdStringList */ @@ -57346,6 +57497,26 @@ const de_CpuOptions = (output: any, context: __SerdeContext): CpuOptions => { return contents; }; +/** + * deserializeAws_ec2CreateCapacityReservationBySplittingResult + */ +const de_CreateCapacityReservationBySplittingResult = ( + output: any, + context: __SerdeContext +): CreateCapacityReservationBySplittingResult => { + const contents: any = {}; + if (output[_sCR] != null) { + contents[_SCR] = de_CapacityReservation(output[_sCR], context); + } + if (output[_dCR] != null) { + contents[_DCRe] = de_CapacityReservation(output[_dCR], context); + } + if (output[_iC] != null) { + contents[_IC] = __strictParseInt32(output[_iC]) as number; + } + return contents; +}; + /** * deserializeAws_ec2CreateCapacityReservationFleetResult */ @@ -58101,8 +58272,8 @@ const de_CreateSubnetCidrReservationResult = ( context: __SerdeContext ): CreateSubnetCidrReservationResult => { const contents: any = {}; - if (output[_sCR] != null) { - contents[_SCR] = de_SubnetCidrReservation(output[_sCR], context); + if (output[_sCRu] != null) { + contents[_SCRu] = de_SubnetCidrReservation(output[_sCRu], context); } return contents; }; @@ -72593,6 +72764,26 @@ const de_MoveByoipCidrToIpamResult = (output: any, context: __SerdeContext): Mov return contents; }; +/** + * deserializeAws_ec2MoveCapacityReservationInstancesResult + */ +const de_MoveCapacityReservationInstancesResult = ( + output: any, + context: __SerdeContext +): MoveCapacityReservationInstancesResult => { + const contents: any = {}; + if (output[_sCR] != null) { + contents[_SCR] = de_CapacityReservation(output[_sCR], context); + } + if (output[_dCR] != null) { + contents[_DCRe] = de_CapacityReservation(output[_dCR], context); + } + if (output[_iC] != null) { + contents[_IC] = __strictParseInt32(output[_iC]) as number; + } + return contents; +}; + /** * deserializeAws_ec2MovingAddressStatus */ @@ -78145,7 +78336,7 @@ const de_SubnetCidrBlockState = (output: any, context: __SerdeContext): SubnetCi const de_SubnetCidrReservation = (output: any, context: __SerdeContext): SubnetCidrReservation => { const contents: any = {}; if (output[_sCRI] != null) { - contents[_SCRI] = __expectString(output[_sCRI]); + contents[_SCRIu] = __expectString(output[_sCRI]); } if (output[_sIu] != null) { contents[_SIub] = __expectString(output[_sIu]); @@ -82588,6 +82779,7 @@ const _CCGr = "CreateCustomerGateway"; const _CCO = "ClientConnectOptions"; const _CCP = "CreateCoipPool"; const _CCR = "CancelCapacityReservation"; +const _CCRBS = "CreateCapacityReservationBySplitting"; const _CCRF = "CancelCapacityReservationFleets"; const _CCRFE = "CancelCapacityReservationFleetError"; const _CCRFr = "CreateCapacityReservationFleet"; @@ -82856,6 +83048,8 @@ const _DCP = "DeleteCoipPool"; const _DCPe = "DescribeCoipPools"; const _DCR = "DescribeCapacityReservations"; const _DCRF = "DescribeCapacityReservationFleets"; +const _DCRI = "DestinationCapacityReservationId"; +const _DCRe = "DestinationCapacityReservation"; const _DCT = "DescribeConversionTasks"; const _DCVAR = "DescribeClientVpnAuthorizationRules"; const _DCVC = "DescribeClientVpnConnections"; @@ -83821,6 +84015,7 @@ const _MC = "MaxCount"; const _MCOIOL = "MapCustomerOwnedIpOnLaunch"; const _MCR = "ModifyCapacityReservation"; const _MCRF = "ModifyCapacityReservationFleet"; +const _MCRI = "MoveCapacityReservationInstances"; const _MCVE = "ModifyClientVpnEndpoint"; const _MCi = "MinCount"; const _MCis = "MissingComponent"; @@ -84408,8 +84603,10 @@ const _SC = "SubnetConfigurations"; const _SCA = "ServerCertificateArn"; const _SCAE = "SerialConsoleAccessEnabled"; const _SCB = "SourceCidrBlock"; -const _SCR = "SubnetCidrReservation"; -const _SCRI = "SubnetCidrReservationId"; +const _SCR = "SourceCapacityReservation"; +const _SCRI = "SourceCapacityReservationId"; +const _SCRIu = "SubnetCidrReservationId"; +const _SCRu = "SubnetCidrReservation"; const _SCSIG = "SustainedClockSpeedInGhz"; const _SCc = "ScopeCount"; const _SCe = "ServiceConfiguration"; @@ -85188,6 +85385,7 @@ const _dC = "destinationCidr"; const _dCA = "domainCertificateArn"; const _dCAR = "deliverCrossAccountRole"; const _dCB = "destinationCidrBlock"; +const _dCR = "destinationCapacityReservation"; const _dCS = "dhcpConfigurationSet"; const _dCe = "defaultCores"; const _dEKI = "dataEncryptionKeyId"; @@ -86133,8 +86331,9 @@ const _sC = "serviceConfiguration"; const _sCA = "serverCertificateArn"; const _sCAE = "serialConsoleAccessEnabled"; const _sCB = "sourceCidrBlock"; -const _sCR = "subnetCidrReservation"; +const _sCR = "sourceCapacityReservation"; const _sCRI = "subnetCidrReservationId"; +const _sCRu = "subnetCidrReservation"; const _sCS = "serviceConfigurationSet"; const _sCSIG = "sustainedClockSpeedInGhz"; const _sCc = "scopeCount"; diff --git a/codegen/sdk-codegen/aws-models/ec2.json b/codegen/sdk-codegen/aws-models/ec2.json index 04b653b8e9c2..c9ecad139072 100644 --- a/codegen/sdk-codegen/aws-models/ec2.json +++ b/codegen/sdk-codegen/aws-models/ec2.json @@ -2303,6 +2303,9 @@ { "target": "com.amazonaws.ec2#CreateCapacityReservation" }, + { + "target": "com.amazonaws.ec2#CreateCapacityReservationBySplitting" + }, { "target": "com.amazonaws.ec2#CreateCapacityReservationFleet" }, @@ -3809,6 +3812,9 @@ { "target": "com.amazonaws.ec2#MoveByoipCidrToIpam" }, + { + "target": "com.amazonaws.ec2#MoveCapacityReservationInstances" + }, { "target": "com.amazonaws.ec2#ProvisionByoipCidr" }, @@ -5353,7 +5359,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "DestinationPrefixListId", - "smithy.api#documentation": "

    The prefix of the Amazon Web Service.

    ", + "smithy.api#documentation": "

    The prefix of the Amazon Web Services service.

    ", "smithy.api#xmlName": "destinationPrefixListId" } }, @@ -13900,6 +13906,94 @@ "smithy.api#documentation": "

    Creates a new Capacity Reservation with the specified attributes.

    \n

    Capacity Reservations enable you to reserve capacity for your Amazon EC2 instances in a specific Availability Zone for any duration. This \n\t\t\tgives you the flexibility to selectively add capacity reservations and still get the Regional RI discounts for that usage. \n\t\t\tBy creating Capacity Reservations, you ensure that you always have access to Amazon EC2 capacity when you need it, for as long as you need it. \n\t\t\tFor more information, see Capacity Reservations in the Amazon EC2 User Guide.

    \n

    Your request to create a Capacity Reservation could fail if Amazon EC2 does not have sufficient capacity to\n\t\t\tfulfill the request. If your request fails due to Amazon EC2 capacity constraints, either try\n\t\t\tagain at a later time, try in a different Availability Zone, or request a smaller\n\t\t\tcapacity reservation. If your application is flexible across instance types and sizes,\n\t\t\ttry to create a Capacity Reservation with different instance attributes.

    \n

    Your request could also fail if the requested quantity exceeds your On-Demand Instance\n\t\t\tlimit for the selected instance type. If your request fails due to limit constraints,\n\t\t\tincrease your On-Demand Instance limit for the required instance type and try again. For\n\t\t\tmore information about increasing your instance limits, see Amazon EC2 Service\n\t\t\t\tQuotas in the Amazon EC2 User Guide.

    " } }, + "com.amazonaws.ec2#CreateCapacityReservationBySplitting": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateCapacityReservationBySplittingRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateCapacityReservationBySplittingResult" + }, + "traits": { + "smithy.api#documentation": "

    \n\t\t\tCreate a new Capacity Reservation by splitting the available capacity of the source Capacity Reservation. The new Capacity Reservation will have the same attributes as the source Capacity Reservation except for tags. The source Capacity Reservation must be active and owned by your Amazon Web Services account.\n\t\t

    " + } + }, + "com.amazonaws.ec2#CreateCapacityReservationBySplittingRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

    " + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.

    ", + "smithy.api#idempotencyToken": {} + } + }, + "SourceCapacityReservationId": { + "target": "com.amazonaws.ec2#CapacityReservationId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

    \n\t\t\tThe ID of the Capacity Reservation from which you want to split the available capacity. \n\t\t

    ", + "smithy.api#required": {} + } + }, + "InstanceCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

    \n\t\t\tThe number of instances to split from the source Capacity Reservation.\n\t\t

    ", + "smithy.api#required": {} + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

    \n\t\t\tThe tags to apply to the new Capacity Reservation.\n\t\t

    ", + "smithy.api#xmlName": "TagSpecification" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CreateCapacityReservationBySplittingResult": { + "type": "structure", + "members": { + "SourceCapacityReservation": { + "target": "com.amazonaws.ec2#CapacityReservation", + "traits": { + "aws.protocols#ec2QueryName": "SourceCapacityReservation", + "smithy.api#documentation": "

    \n\t\t\tInformation about the source Capacity Reservation.\n\t\t

    ", + "smithy.api#xmlName": "sourceCapacityReservation" + } + }, + "DestinationCapacityReservation": { + "target": "com.amazonaws.ec2#CapacityReservation", + "traits": { + "aws.protocols#ec2QueryName": "DestinationCapacityReservation", + "smithy.api#documentation": "

    \n\t\t\tInformation about the destination Capacity Reservation.\n\t\t

    ", + "smithy.api#xmlName": "destinationCapacityReservation" + } + }, + "InstanceCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "InstanceCount", + "smithy.api#documentation": "

    \n\t\t\tThe number of instances in the new Capacity Reservation. The number of instances in the source Capacity Reservation was reduced by this amount.\n\t\t

    ", + "smithy.api#xmlName": "instanceCount" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#CreateCapacityReservationFleet": { "type": "operation", "input": { @@ -17598,7 +17692,7 @@ "AwsService": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

    The Amazon Web Service. Currently not supported.

    " + "smithy.api#documentation": "

    The Amazon Web Services service. Currently not supported.

    " } }, "Permission": { @@ -27112,7 +27206,7 @@ "target": "com.amazonaws.ec2#DescribeAddressTransfersResult" }, "traits": { - "smithy.api#documentation": "

    Describes an Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon VPC User Guide.

    \n

    When you transfer an Elastic IP address, there is a two-step handshake\n between the source and transfer Amazon Web Services accounts. When the source account starts the transfer,\n the transfer account has seven days to accept the Elastic IP address\n transfer. During those seven days, the source account can view the\n pending transfer by using this action. After seven days, the\n transfer expires and ownership of the Elastic IP\n address returns to the source\n account. Accepted transfers are visible to the source account for three days\n after the transfers have been accepted.

    ", + "smithy.api#documentation": "

    Describes an Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon VPC User Guide.

    \n

    When you transfer an Elastic IP address, there is a two-step handshake\n between the source and transfer Amazon Web Services accounts. When the source account starts the transfer,\n the transfer account has seven days to accept the Elastic IP address\n transfer. During those seven days, the source account can view the\n pending transfer by using this action. After seven days, the\n transfer expires and ownership of the Elastic IP\n address returns to the source\n account. Accepted transfers are visible to the source account for 14 days\n after the transfers have been accepted.

    ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -35461,7 +35555,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

    One or more filters.

    \n
      \n
    • \n

      \n network-interface-permission.network-interface-permission-id - The ID of the\n\t\t\t\tpermission.

      \n
    • \n
    • \n

      \n network-interface-permission.network-interface-id - The ID of\n\t\t\t\t\tthe network interface.

      \n
    • \n
    • \n

      \n network-interface-permission.aws-account-id - The Amazon Web Services account ID.

      \n
    • \n
    • \n

      \n network-interface-permission.aws-service - The Amazon Web Service.

      \n
    • \n
    • \n

      \n network-interface-permission.permission - The type of\n\t\t\t\t\tpermission (INSTANCE-ATTACH |\n\t\t\t\t\tEIP-ASSOCIATE).

      \n
    • \n
    ", + "smithy.api#documentation": "

    One or more filters.

    \n
      \n
    • \n

      \n network-interface-permission.network-interface-permission-id - The ID of the\n\t\t\t\tpermission.

      \n
    • \n
    • \n

      \n network-interface-permission.network-interface-id - The ID of\n\t\t\t\t\tthe network interface.

      \n
    • \n
    • \n

      \n network-interface-permission.aws-account-id - The Amazon Web Services account ID.

      \n
    • \n
    • \n

      \n network-interface-permission.aws-service - The Amazon Web Services service.

      \n
    • \n
    • \n

      \n network-interface-permission.permission - The type of\n\t\t\t\t\tpermission (INSTANCE-ATTACH |\n\t\t\t\t\tEIP-ASSOCIATE).

      \n
    • \n
    ", "smithy.api#xmlName": "Filter" } }, @@ -35628,7 +35722,7 @@ "target": "com.amazonaws.ec2#FilterList", "traits": { "aws.protocols#ec2QueryName": "Filter", - "smithy.api#documentation": "

    One or more filters.

    \n
      \n
    • \n

      \n association.allocation-id - The allocation ID returned when you\n\t\t allocated the Elastic IP address (IPv4) for your network interface.

      \n
    • \n
    • \n

      \n association.association-id - The association ID returned when the\n\t\t network interface was associated with an IPv4 address.

      \n
    • \n
    • \n

      \n addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

      \n
    • \n
    • \n

      \n addresses.association.public-ip - The association ID returned when\n\t\t the network interface was associated with the Elastic IP address\n\t\t (IPv4).

      \n
    • \n
    • \n

      \n addresses.primary - Whether the private IPv4 address is the primary\n IP address associated with the network interface.

      \n
    • \n
    • \n

      \n addresses.private-ip-address - The private IPv4 addresses\n\t\t associated with the network interface.

      \n
    • \n
    • \n

      \n association.ip-owner-id - The owner of the Elastic IP address\n (IPv4) associated with the network interface.

      \n
    • \n
    • \n

      \n association.public-ip - The address of the Elastic IP address\n (IPv4) bound to the network interface.

      \n
    • \n
    • \n

      \n association.public-dns-name - The public DNS name for the network\n interface (IPv4).

      \n
    • \n
    • \n

      \n attachment.attach-time - The time that the network interface was attached to an instance.

      \n
    • \n
    • \n

      \n attachment.attachment-id - The ID of the interface attachment.

      \n
    • \n
    • \n

      \n attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

      \n
    • \n
    • \n

      \n attachment.device-index - The device index to which the network interface is attached.

      \n
    • \n
    • \n

      \n attachment.instance-id - The ID of the instance to which the network interface is attached.

      \n
    • \n
    • \n

      \n attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

      \n
    • \n
    • \n

      \n attachment.status - The status of the attachment (attaching | attached | detaching | detached).

      \n
    • \n
    • \n

      \n availability-zone - The Availability Zone of the network interface.

      \n
    • \n
    • \n

      \n description - The description of the network interface.

      \n
    • \n
    • \n

      \n group-id - The ID of a security group associated with the network interface.

      \n
    • \n
    • \n

      \n ipv6-addresses.ipv6-address - An IPv6 address associated with\n the network interface.

      \n
    • \n
    • \n

      \n interface-type - The type of network interface (api_gateway_managed | \n\t\t aws_codestar_connections_managed | branch | \n\t\t ec2_instance_connect_endpoint | efa | efs | \n\t\t gateway_load_balancer | gateway_load_balancer_endpoint | \n\t\t global_accelerator_managed | \n\t\t interface | iot_rules_managed | \n\t\t lambda | load_balancer | \n\t\t nat_gateway | network_load_balancer | \n\t\t quicksight | \n\t\t transit_gateway | trunk | \n\t\t vpc_endpoint).

      \n
    • \n
    • \n

      \n mac-address - The MAC address of the network interface.

      \n
    • \n
    • \n

      \n network-interface-id - The ID of the network interface.

      \n
    • \n
    • \n

      \n owner-id - The Amazon Web Services account ID of the network interface owner.

      \n
    • \n
    • \n

      \n private-dns-name - The private DNS name of the network interface (IPv4).

      \n
    • \n
    • \n

      \n private-ip-address - The private IPv4 address or addresses of the\n network interface.

      \n
    • \n
    • \n

      \n requester-id - The alias or Amazon Web Services account ID of the principal or service that created the network interface.

      \n
    • \n
    • \n

      \n requester-managed - Indicates whether the network interface is being managed by an Amazon Web Service \n\t\t (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

      \n
    • \n
    • \n

      \n source-dest-check - Indicates whether the network interface performs source/destination checking. \n\t\t A value of true means checking is enabled, and false means checking is disabled. \n\t\t The value must be false for the network interface to perform network address translation (NAT) in your VPC.

      \n
    • \n
    • \n

      \n status - The status of the network interface. If the network interface is not attached to an instance, the status is available; \n\t\t if a network interface is attached to an instance the status is in-use.

      \n
    • \n
    • \n

      \n subnet-id - The ID of the subnet for the network interface.

      \n
    • \n
    • \n

      \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

      \n
    • \n
    • \n

      \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

      \n
    • \n
    • \n

      \n vpc-id - The ID of the VPC for the network interface.

      \n
    • \n
    ", + "smithy.api#documentation": "

    One or more filters.

    \n
      \n
    • \n

      \n association.allocation-id - The allocation ID returned when you\n\t\t allocated the Elastic IP address (IPv4) for your network interface.

      \n
    • \n
    • \n

      \n association.association-id - The association ID returned when the\n\t\t network interface was associated with an IPv4 address.

      \n
    • \n
    • \n

      \n addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

      \n
    • \n
    • \n

      \n addresses.association.public-ip - The association ID returned when\n\t\t the network interface was associated with the Elastic IP address\n\t\t (IPv4).

      \n
    • \n
    • \n

      \n addresses.primary - Whether the private IPv4 address is the primary\n IP address associated with the network interface.

      \n
    • \n
    • \n

      \n addresses.private-ip-address - The private IPv4 addresses\n\t\t associated with the network interface.

      \n
    • \n
    • \n

      \n association.ip-owner-id - The owner of the Elastic IP address\n (IPv4) associated with the network interface.

      \n
    • \n
    • \n

      \n association.public-ip - The address of the Elastic IP address\n (IPv4) bound to the network interface.

      \n
    • \n
    • \n

      \n association.public-dns-name - The public DNS name for the network\n interface (IPv4).

      \n
    • \n
    • \n

      \n attachment.attach-time - The time that the network interface was attached to an instance.

      \n
    • \n
    • \n

      \n attachment.attachment-id - The ID of the interface attachment.

      \n
    • \n
    • \n

      \n attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

      \n
    • \n
    • \n

      \n attachment.device-index - The device index to which the network interface is attached.

      \n
    • \n
    • \n

      \n attachment.instance-id - The ID of the instance to which the network interface is attached.

      \n
    • \n
    • \n

      \n attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

      \n
    • \n
    • \n

      \n attachment.status - The status of the attachment (attaching | attached | detaching | detached).

      \n
    • \n
    • \n

      \n availability-zone - The Availability Zone of the network interface.

      \n
    • \n
    • \n

      \n description - The description of the network interface.

      \n
    • \n
    • \n

      \n group-id - The ID of a security group associated with the network interface.

      \n
    • \n
    • \n

      \n ipv6-addresses.ipv6-address - An IPv6 address associated with\n the network interface.

      \n
    • \n
    • \n

      \n interface-type - The type of network interface (api_gateway_managed | \n\t\t aws_codestar_connections_managed | branch | \n\t\t ec2_instance_connect_endpoint | efa | efs | \n\t\t gateway_load_balancer | gateway_load_balancer_endpoint | \n\t\t global_accelerator_managed | \n\t\t interface | iot_rules_managed | \n\t\t lambda | load_balancer | \n\t\t nat_gateway | network_load_balancer | \n\t\t quicksight | \n\t\t transit_gateway | trunk | \n\t\t vpc_endpoint).

      \n
    • \n
    • \n

      \n mac-address - The MAC address of the network interface.

      \n
    • \n
    • \n

      \n network-interface-id - The ID of the network interface.

      \n
    • \n
    • \n

      \n owner-id - The Amazon Web Services account ID of the network interface owner.

      \n
    • \n
    • \n

      \n private-dns-name - The private DNS name of the network interface (IPv4).

      \n
    • \n
    • \n

      \n private-ip-address - The private IPv4 address or addresses of the\n network interface.

      \n
    • \n
    • \n

      \n requester-id - The alias or Amazon Web Services account ID of the principal or service that created the network interface.

      \n
    • \n
    • \n

      \n requester-managed - Indicates whether the network interface is being managed by an Amazon Web Services service \n\t\t (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

      \n
    • \n
    • \n

      \n source-dest-check - Indicates whether the network interface performs source/destination checking. \n\t\t A value of true means checking is enabled, and false means checking is disabled. \n\t\t The value must be false for the network interface to perform network address translation (NAT) in your VPC.

      \n
    • \n
    • \n

      \n status - The status of the network interface. If the network interface is not attached to an instance, the status is available; \n\t\t if a network interface is attached to an instance the status is in-use.

      \n
    • \n
    • \n

      \n subnet-id - The ID of the subnet for the network interface.

      \n
    • \n
    • \n

      \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

      \n
    • \n
    • \n

      \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

      \n
    • \n
    • \n

      \n vpc-id - The ID of the VPC for the network interface.

      \n
    • \n
    ", "smithy.api#xmlName": "filter" } }, @@ -36647,7 +36741,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

    The filters.

    \n
      \n
    • \n

      \n association.gateway-id - The ID of the gateway involved in the\n\t\t association.

      \n
    • \n
    • \n

      \n association.route-table-association-id - The ID of an association\n ID for the route table.

      \n
    • \n
    • \n

      \n association.route-table-id - The ID of the route table involved in\n the association.

      \n
    • \n
    • \n

      \n association.subnet-id - The ID of the subnet involved in the\n association.

      \n
    • \n
    • \n

      \n association.main - Indicates whether the route table is the main\n route table for the VPC (true | false). Route tables\n that do not have an association ID are not returned in the response.

      \n
    • \n
    • \n

      \n owner-id - The ID of the Amazon Web Services account that owns the route table.

      \n
    • \n
    • \n

      \n route-table-id - The ID of the route table.

      \n
    • \n
    • \n

      \n route.destination-cidr-block - The IPv4 CIDR range specified in a\n route in the table.

      \n
    • \n
    • \n

      \n route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in a route in the route table.

      \n
    • \n
    • \n

      \n route.destination-prefix-list-id - The ID (prefix) of the Amazon Web Service\n specified in a route in the table.

      \n
    • \n
    • \n

      \n route.egress-only-internet-gateway-id - The ID of an\n egress-only Internet gateway specified in a route in the route table.

      \n
    • \n
    • \n

      \n route.gateway-id - The ID of a gateway specified in a route in the table.

      \n
    • \n
    • \n

      \n route.instance-id - The ID of an instance specified in a route in the table.

      \n
    • \n
    • \n

      \n route.nat-gateway-id - The ID of a NAT gateway.

      \n
    • \n
    • \n

      \n route.transit-gateway-id - The ID of a transit gateway.

      \n
    • \n
    • \n

      \n route.origin - Describes how the route was created. \n CreateRouteTable indicates that the route was automatically\n created when the route table was created; CreateRoute indicates\n that the route was manually added to the route table;\n EnableVgwRoutePropagation indicates that the route was\n propagated by route propagation.

      \n
    • \n
    • \n

      \n route.state - The state of a route in the route table\n (active | blackhole). The blackhole state\n indicates that the route's target isn't available (for example, the specified\n gateway isn't attached to the VPC, the specified NAT instance has been\n terminated, and so on).

      \n
    • \n
    • \n

      \n route.vpc-peering-connection-id - The ID of a VPC peering\n\t\t connection specified in a route in the table.

      \n
    • \n
    • \n

      \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

      \n
    • \n
    • \n

      \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

      \n
    • \n
    • \n

      \n vpc-id - The ID of the VPC for the route table.

      \n
    • \n
    ", + "smithy.api#documentation": "

    The filters.

    \n
      \n
    • \n

      \n association.gateway-id - The ID of the gateway involved in the\n\t\t association.

      \n
    • \n
    • \n

      \n association.route-table-association-id - The ID of an association\n ID for the route table.

      \n
    • \n
    • \n

      \n association.route-table-id - The ID of the route table involved in\n the association.

      \n
    • \n
    • \n

      \n association.subnet-id - The ID of the subnet involved in the\n association.

      \n
    • \n
    • \n

      \n association.main - Indicates whether the route table is the main\n route table for the VPC (true | false). Route tables\n that do not have an association ID are not returned in the response.

      \n
    • \n
    • \n

      \n owner-id - The ID of the Amazon Web Services account that owns the route table.

      \n
    • \n
    • \n

      \n route-table-id - The ID of the route table.

      \n
    • \n
    • \n

      \n route.destination-cidr-block - The IPv4 CIDR range specified in a\n route in the table.

      \n
    • \n
    • \n

      \n route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in a route in the route table.

      \n
    • \n
    • \n

      \n route.destination-prefix-list-id - The ID (prefix) of the Amazon Web Services service\n specified in a route in the table.

      \n
    • \n
    • \n

      \n route.egress-only-internet-gateway-id - The ID of an\n egress-only Internet gateway specified in a route in the route table.

      \n
    • \n
    • \n

      \n route.gateway-id - The ID of a gateway specified in a route in the table.

      \n
    • \n
    • \n

      \n route.instance-id - The ID of an instance specified in a route in the table.

      \n
    • \n
    • \n

      \n route.nat-gateway-id - The ID of a NAT gateway.

      \n
    • \n
    • \n

      \n route.transit-gateway-id - The ID of a transit gateway.

      \n
    • \n
    • \n

      \n route.origin - Describes how the route was created. \n CreateRouteTable indicates that the route was automatically\n created when the route table was created; CreateRoute indicates\n that the route was manually added to the route table;\n EnableVgwRoutePropagation indicates that the route was\n propagated by route propagation.

      \n
    • \n
    • \n

      \n route.state - The state of a route in the route table\n (active | blackhole). The blackhole state\n indicates that the route's target isn't available (for example, the specified\n gateway isn't attached to the VPC, the specified NAT instance has been\n terminated, and so on).

      \n
    • \n
    • \n

      \n route.vpc-peering-connection-id - The ID of a VPC peering\n\t\t connection specified in a route in the table.

      \n
    • \n
    • \n

      \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

      \n
    • \n
    • \n

      \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

      \n
    • \n
    • \n

      \n vpc-id - The ID of the VPC for the route table.

      \n
    • \n
    ", "smithy.api#xmlName": "Filter" } }, @@ -74791,7 +74885,7 @@ "target": "com.amazonaws.ec2#ModifyCapacityReservationResult" }, "traits": { - "smithy.api#documentation": "

    Modifies a Capacity Reservation's capacity and the conditions under which it is to be released. You\n\t\t\tcannot change a Capacity Reservation's instance type, EBS optimization, instance store settings,\n\t\t\tplatform, Availability Zone, or instance eligibility. If you need to modify any of these\n\t\t\tattributes, we recommend that you cancel the Capacity Reservation, and then create a new one with\n\t\t\tthe required attributes.

    " + "smithy.api#documentation": "

    Modifies a Capacity Reservation's capacity, instance eligibility, and the conditions under which it is to be released. You\n\t\t can't modify a Capacity Reservation's instance type, EBS optimization, platform, instance store settings, Availability Zone, or\n\t\t tenancy. If you need to modify any of these attributes, we recommend that you cancel the Capacity Reservation, and then create a new one with\n\t\t the required attributes. For more information, see Modify an active Capacity Reservation.

    " } }, "com.amazonaws.ec2#ModifyCapacityReservationFleet": { @@ -74908,6 +75002,12 @@ "traits": { "smithy.api#documentation": "

    Reserved for future use.

    " } + }, + "InstanceMatchCriteria": { + "target": "com.amazonaws.ec2#InstanceMatchCriteria", + "traits": { + "smithy.api#documentation": "

    \n\t\t\tThe matching criteria (instance eligibility) that you want to use in the modified Capacity Reservation. If you change the instance eligibility of an existing Capacity Reservation from targeted to open, \n\t\t\tany running instances that match the attributes of the Capacity Reservation, have the CapacityReservationPreference set to open, and \n\t\t\tare not yet running in the Capacity Reservation, will automatically use the modified Capacity Reservation.\n\t\t

    \n

    To modify the instance eligibility, the Capacity Reservation must be completely idle (zero usage).

    " + } } }, "traits": { @@ -80359,6 +80459,95 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#MoveCapacityReservationInstances": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#MoveCapacityReservationInstancesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#MoveCapacityReservationInstancesResult" + }, + "traits": { + "smithy.api#documentation": "

    Move available capacity from a source Capacity Reservation to a destination Capacity Reservation. The source Capacity Reservation and the destination Capacity Reservation must be active, owned by your Amazon Web Services account, and share the following:\n\t\t

    \n
      \n
    • \n

      Instance type

      \n
    • \n
    • \n

      Platform

      \n
    • \n
    • \n

      Availability Zone

      \n
    • \n
    • \n

      Tenancy

      \n
    • \n
    • \n

      Placement group

      \n
    • \n
    • \n

      Capacity Reservation end time - At specific time or Manually.

      \n
    • \n
    " + } + }, + "com.amazonaws.ec2#MoveCapacityReservationInstancesRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

    " + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.

    ", + "smithy.api#idempotencyToken": {} + } + }, + "SourceCapacityReservationId": { + "target": "com.amazonaws.ec2#CapacityReservationId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

    \n\t\t\tThe ID of the Capacity Reservation from which you want to move capacity.\n\t\t

    ", + "smithy.api#required": {} + } + }, + "DestinationCapacityReservationId": { + "target": "com.amazonaws.ec2#CapacityReservationId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

    \n\t\t\tThe ID of the Capacity Reservation that you want to move capacity into.\n\t\t

    ", + "smithy.api#required": {} + } + }, + "InstanceCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

    The number of instances that you want to move from the source Capacity Reservation.\n\t\t

    ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#MoveCapacityReservationInstancesResult": { + "type": "structure", + "members": { + "SourceCapacityReservation": { + "target": "com.amazonaws.ec2#CapacityReservation", + "traits": { + "aws.protocols#ec2QueryName": "SourceCapacityReservation", + "smithy.api#documentation": "

    \n\t\t\tInformation about the source Capacity Reservation.\n\t\t

    ", + "smithy.api#xmlName": "sourceCapacityReservation" + } + }, + "DestinationCapacityReservation": { + "target": "com.amazonaws.ec2#CapacityReservation", + "traits": { + "aws.protocols#ec2QueryName": "DestinationCapacityReservation", + "smithy.api#documentation": "

    \n\t\t\tInformation about the destination Capacity Reservation.\n\t\t

    ", + "smithy.api#xmlName": "destinationCapacityReservation" + } + }, + "InstanceCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "InstanceCount", + "smithy.api#documentation": "

    \n\t\t\tThe number of instances that were moved from the source Capacity Reservation to the destination Capacity Reservation.\n\t\t

    ", + "smithy.api#xmlName": "instanceCount" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#MoveStatus": { "type": "enum", "members": { @@ -82256,7 +82445,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "AwsService", - "smithy.api#documentation": "

    The Amazon Web Service.

    ", + "smithy.api#documentation": "

    The Amazon Web Services service.

    ", "smithy.api#xmlName": "awsService" } }, @@ -84485,7 +84674,7 @@ "target": "com.amazonaws.ec2#ValueStringList", "traits": { "aws.protocols#ec2QueryName": "CidrSet", - "smithy.api#documentation": "

    The IP address range of the Amazon Web Service.

    ", + "smithy.api#documentation": "

    The IP address range of the Amazon Web Services service.

    ", "smithy.api#xmlName": "cidrSet" } }, @@ -92160,7 +92349,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "DestinationPrefixListId", - "smithy.api#documentation": "

    The prefix of the Amazon Web Service.

    ", + "smithy.api#documentation": "

    The prefix of the Amazon Web Services service.

    ", "smithy.api#xmlName": "destinationPrefixListId" } },