From 94af5ddc7f131af9a7258bcf802ea9b9d2a1e7d3 Mon Sep 17 00:00:00 2001 From: awstools Date: Thu, 8 Aug 2024 18:14:34 +0000 Subject: [PATCH] feat(client-ec2): Launch of private IPv6 addressing for VPCs and Subnets. VPC IPAM supports the planning and monitoring of private IPv6 usage. --- .../AssociateSubnetCidrBlockCommand.ts | 2 + .../commands/AssociateVpcCidrBlockCommand.ts | 2 + .../CreateCapacityReservationFleetCommand.ts | 3 +- .../commands/CreateDefaultSubnetCommand.ts | 2 + .../src/commands/CreateDefaultVpcCommand.ts | 2 + .../src/commands/CreateIpamCommand.ts | 2 + .../src/commands/CreateSubnetCommand.ts | 2 + .../src/commands/CreateVpcCommand.ts | 2 + .../src/commands/DeleteIpamCommand.ts | 1 + .../DeleteLocalGatewayRouteCommand.ts | 3 +- .../DeleteLocalGatewayRouteTableCommand.ts | 3 +- .../src/commands/DescribeIpamsCommand.ts | 1 + .../src/commands/DescribeSubnetsCommand.ts | 2 + .../src/commands/DescribeVpcsCommand.ts | 2 + .../DisassociateSubnetCidrBlockCommand.ts | 2 + .../DisassociateVpcCidrBlockCommand.ts | 2 + .../commands/GetInstanceTpmEkPubCommand.ts | 7 +- .../GetIpamDiscoveredResourceCidrsCommand.ts | 1 + .../src/commands/ModifyIpamCommand.ts | 2 + .../commands/ModifyVpnTunnelOptionsCommand.ts | 2 +- .../src/commands/MonitorInstancesCommand.ts | 3 +- clients/client-ec2/src/models/models_0.ts | 202 ++---- clients/client-ec2/src/models/models_1.ts | 234 +++++-- clients/client-ec2/src/models/models_2.ts | 104 ++- clients/client-ec2/src/models/models_3.ts | 283 +------- clients/client-ec2/src/models/models_4.ts | 602 ++++++++---------- clients/client-ec2/src/models/models_5.ts | 397 ++++++++++-- clients/client-ec2/src/models/models_6.ts | 163 +++-- clients/client-ec2/src/models/models_7.ts | 102 ++- clients/client-ec2/src/protocols/Aws_ec2.ts | 58 +- codegen/sdk-codegen/aws-models/ec2.json | 125 +++- 31 files changed, 1302 insertions(+), 1016 deletions(-) diff --git a/clients/client-ec2/src/commands/AssociateSubnetCidrBlockCommand.ts b/clients/client-ec2/src/commands/AssociateSubnetCidrBlockCommand.ts index 29aa560b5055..008f7f3a4958 100644 --- a/clients/client-ec2/src/commands/AssociateSubnetCidrBlockCommand.ts +++ b/clients/client-ec2/src/commands/AssociateSubnetCidrBlockCommand.ts @@ -52,6 +52,8 @@ export interface AssociateSubnetCidrBlockCommandOutput extends AssociateSubnetCi * // State: "associating" || "associated" || "disassociating" || "disassociated" || "failing" || "failed", * // StatusMessage: "STRING_VALUE", * // }, + * // Ipv6AddressAttribute: "public" || "private", + * // IpSource: "amazon" || "byoip" || "none", * // }, * // SubnetId: "STRING_VALUE", * // }; diff --git a/clients/client-ec2/src/commands/AssociateVpcCidrBlockCommand.ts b/clients/client-ec2/src/commands/AssociateVpcCidrBlockCommand.ts index 4d818c4347a0..f368687aede4 100644 --- a/clients/client-ec2/src/commands/AssociateVpcCidrBlockCommand.ts +++ b/clients/client-ec2/src/commands/AssociateVpcCidrBlockCommand.ts @@ -66,6 +66,8 @@ export interface AssociateVpcCidrBlockCommandOutput extends AssociateVpcCidrBloc * // }, * // NetworkBorderGroup: "STRING_VALUE", * // Ipv6Pool: "STRING_VALUE", + * // Ipv6AddressAttribute: "public" || "private", + * // IpSource: "amazon" || "byoip" || "none", * // }, * // CidrBlockAssociation: { // VpcCidrBlockAssociation * // AssociationId: "STRING_VALUE", diff --git a/clients/client-ec2/src/commands/CreateCapacityReservationFleetCommand.ts b/clients/client-ec2/src/commands/CreateCapacityReservationFleetCommand.ts index e6edbf6cedb0..ade7c1af746a 100644 --- a/clients/client-ec2/src/commands/CreateCapacityReservationFleetCommand.ts +++ b/clients/client-ec2/src/commands/CreateCapacityReservationFleetCommand.ts @@ -6,7 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { CreateCapacityReservationFleetRequest, CreateCapacityReservationFleetResult } from "../models/models_0"; +import { CreateCapacityReservationFleetRequest } from "../models/models_0"; +import { CreateCapacityReservationFleetResult } from "../models/models_1"; import { de_CreateCapacityReservationFleetCommand, se_CreateCapacityReservationFleetCommand, diff --git a/clients/client-ec2/src/commands/CreateDefaultSubnetCommand.ts b/clients/client-ec2/src/commands/CreateDefaultSubnetCommand.ts index 284e65f4ca0e..9bb2e628d537 100644 --- a/clients/client-ec2/src/commands/CreateDefaultSubnetCommand.ts +++ b/clients/client-ec2/src/commands/CreateDefaultSubnetCommand.ts @@ -69,6 +69,8 @@ export interface CreateDefaultSubnetCommandOutput extends CreateDefaultSubnetRes * // State: "associating" || "associated" || "disassociating" || "disassociated" || "failing" || "failed", * // StatusMessage: "STRING_VALUE", * // }, + * // Ipv6AddressAttribute: "public" || "private", + * // IpSource: "amazon" || "byoip" || "none", * // }, * // ], * // Tags: [ // TagList diff --git a/clients/client-ec2/src/commands/CreateDefaultVpcCommand.ts b/clients/client-ec2/src/commands/CreateDefaultVpcCommand.ts index 4098d8eecfd9..5d092578088f 100644 --- a/clients/client-ec2/src/commands/CreateDefaultVpcCommand.ts +++ b/clients/client-ec2/src/commands/CreateDefaultVpcCommand.ts @@ -64,6 +64,8 @@ export interface CreateDefaultVpcCommandOutput extends CreateDefaultVpcResult, _ * // }, * // NetworkBorderGroup: "STRING_VALUE", * // Ipv6Pool: "STRING_VALUE", + * // Ipv6AddressAttribute: "public" || "private", + * // IpSource: "amazon" || "byoip" || "none", * // }, * // ], * // CidrBlockAssociationSet: [ // VpcCidrBlockAssociationSet diff --git a/clients/client-ec2/src/commands/CreateIpamCommand.ts b/clients/client-ec2/src/commands/CreateIpamCommand.ts index 37cb4fde725b..aa8bde1192b8 100644 --- a/clients/client-ec2/src/commands/CreateIpamCommand.ts +++ b/clients/client-ec2/src/commands/CreateIpamCommand.ts @@ -61,6 +61,7 @@ export interface CreateIpamCommandOutput extends CreateIpamResult, __MetadataBea * ], * ClientToken: "STRING_VALUE", * Tier: "free" || "advanced", + * EnablePrivateGua: true || false, * }; * const command = new CreateIpamCommand(input); * const response = await client.send(command); @@ -91,6 +92,7 @@ export interface CreateIpamCommandOutput extends CreateIpamResult, __MetadataBea * // ResourceDiscoveryAssociationCount: Number("int"), * // StateMessage: "STRING_VALUE", * // Tier: "free" || "advanced", + * // EnablePrivateGua: true || false, * // }, * // }; * diff --git a/clients/client-ec2/src/commands/CreateSubnetCommand.ts b/clients/client-ec2/src/commands/CreateSubnetCommand.ts index 02d31a81ac9c..484197114375 100644 --- a/clients/client-ec2/src/commands/CreateSubnetCommand.ts +++ b/clients/client-ec2/src/commands/CreateSubnetCommand.ts @@ -102,6 +102,8 @@ export interface CreateSubnetCommandOutput extends CreateSubnetResult, __Metadat * // State: "associating" || "associated" || "disassociating" || "disassociated" || "failing" || "failed", * // StatusMessage: "STRING_VALUE", * // }, + * // Ipv6AddressAttribute: "public" || "private", + * // IpSource: "amazon" || "byoip" || "none", * // }, * // ], * // Tags: [ // TagList diff --git a/clients/client-ec2/src/commands/CreateVpcCommand.ts b/clients/client-ec2/src/commands/CreateVpcCommand.ts index cb8206f0593a..d2d208ed1a92 100644 --- a/clients/client-ec2/src/commands/CreateVpcCommand.ts +++ b/clients/client-ec2/src/commands/CreateVpcCommand.ts @@ -90,6 +90,8 @@ export interface CreateVpcCommandOutput extends CreateVpcResult, __MetadataBeare * // }, * // NetworkBorderGroup: "STRING_VALUE", * // Ipv6Pool: "STRING_VALUE", + * // Ipv6AddressAttribute: "public" || "private", + * // IpSource: "amazon" || "byoip" || "none", * // }, * // ], * // CidrBlockAssociationSet: [ // VpcCidrBlockAssociationSet diff --git a/clients/client-ec2/src/commands/DeleteIpamCommand.ts b/clients/client-ec2/src/commands/DeleteIpamCommand.ts index aef4992c2217..abbe805c9cdb 100644 --- a/clients/client-ec2/src/commands/DeleteIpamCommand.ts +++ b/clients/client-ec2/src/commands/DeleteIpamCommand.ts @@ -71,6 +71,7 @@ export interface DeleteIpamCommandOutput extends DeleteIpamResult, __MetadataBea * // ResourceDiscoveryAssociationCount: Number("int"), * // StateMessage: "STRING_VALUE", * // Tier: "free" || "advanced", + * // EnablePrivateGua: true || false, * // }, * // }; * diff --git a/clients/client-ec2/src/commands/DeleteLocalGatewayRouteCommand.ts b/clients/client-ec2/src/commands/DeleteLocalGatewayRouteCommand.ts index 226eeb886dbf..fdda6eef4592 100644 --- a/clients/client-ec2/src/commands/DeleteLocalGatewayRouteCommand.ts +++ b/clients/client-ec2/src/commands/DeleteLocalGatewayRouteCommand.ts @@ -6,7 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DeleteLocalGatewayRouteRequest, DeleteLocalGatewayRouteResult } from "../models/models_2"; +import { DeleteLocalGatewayRouteRequest } from "../models/models_2"; +import { DeleteLocalGatewayRouteResult } from "../models/models_3"; import { de_DeleteLocalGatewayRouteCommand, se_DeleteLocalGatewayRouteCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DeleteLocalGatewayRouteTableCommand.ts b/clients/client-ec2/src/commands/DeleteLocalGatewayRouteTableCommand.ts index a3ee3dc55183..b8d634407a86 100644 --- a/clients/client-ec2/src/commands/DeleteLocalGatewayRouteTableCommand.ts +++ b/clients/client-ec2/src/commands/DeleteLocalGatewayRouteTableCommand.ts @@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { DeleteLocalGatewayRouteTableRequest } from "../models/models_2"; -import { DeleteLocalGatewayRouteTableResult } from "../models/models_3"; +import { DeleteLocalGatewayRouteTableRequest, DeleteLocalGatewayRouteTableResult } from "../models/models_3"; import { de_DeleteLocalGatewayRouteTableCommand, se_DeleteLocalGatewayRouteTableCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DescribeIpamsCommand.ts b/clients/client-ec2/src/commands/DescribeIpamsCommand.ts index 42700c8b2654..cd9ee63c3bc3 100644 --- a/clients/client-ec2/src/commands/DescribeIpamsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeIpamsCommand.ts @@ -84,6 +84,7 @@ export interface DescribeIpamsCommandOutput extends DescribeIpamsResult, __Metad * // ResourceDiscoveryAssociationCount: Number("int"), * // StateMessage: "STRING_VALUE", * // Tier: "free" || "advanced", + * // EnablePrivateGua: true || false, * // }, * // ], * // }; diff --git a/clients/client-ec2/src/commands/DescribeSubnetsCommand.ts b/clients/client-ec2/src/commands/DescribeSubnetsCommand.ts index 16b1553dc5fe..db1cd57f6923 100644 --- a/clients/client-ec2/src/commands/DescribeSubnetsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSubnetsCommand.ts @@ -82,6 +82,8 @@ export interface DescribeSubnetsCommandOutput extends DescribeSubnetsResult, __M * // State: "associating" || "associated" || "disassociating" || "disassociated" || "failing" || "failed", * // StatusMessage: "STRING_VALUE", * // }, + * // Ipv6AddressAttribute: "public" || "private", + * // IpSource: "amazon" || "byoip" || "none", * // }, * // ], * // Tags: [ // TagList diff --git a/clients/client-ec2/src/commands/DescribeVpcsCommand.ts b/clients/client-ec2/src/commands/DescribeVpcsCommand.ts index b7af590aa20d..afeb5f06002a 100644 --- a/clients/client-ec2/src/commands/DescribeVpcsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeVpcsCommand.ts @@ -74,6 +74,8 @@ export interface DescribeVpcsCommandOutput extends DescribeVpcsResult, __Metadat * // }, * // NetworkBorderGroup: "STRING_VALUE", * // Ipv6Pool: "STRING_VALUE", + * // Ipv6AddressAttribute: "public" || "private", + * // IpSource: "amazon" || "byoip" || "none", * // }, * // ], * // CidrBlockAssociationSet: [ // VpcCidrBlockAssociationSet diff --git a/clients/client-ec2/src/commands/DisassociateSubnetCidrBlockCommand.ts b/clients/client-ec2/src/commands/DisassociateSubnetCidrBlockCommand.ts index 534abd8f15f6..2a3d72695feb 100644 --- a/clients/client-ec2/src/commands/DisassociateSubnetCidrBlockCommand.ts +++ b/clients/client-ec2/src/commands/DisassociateSubnetCidrBlockCommand.ts @@ -48,6 +48,8 @@ export interface DisassociateSubnetCidrBlockCommandOutput extends DisassociateSu * // State: "associating" || "associated" || "disassociating" || "disassociated" || "failing" || "failed", * // StatusMessage: "STRING_VALUE", * // }, + * // Ipv6AddressAttribute: "public" || "private", + * // IpSource: "amazon" || "byoip" || "none", * // }, * // SubnetId: "STRING_VALUE", * // }; diff --git a/clients/client-ec2/src/commands/DisassociateVpcCidrBlockCommand.ts b/clients/client-ec2/src/commands/DisassociateVpcCidrBlockCommand.ts index c0b6d11e6e41..c900e5a84df2 100644 --- a/clients/client-ec2/src/commands/DisassociateVpcCidrBlockCommand.ts +++ b/clients/client-ec2/src/commands/DisassociateVpcCidrBlockCommand.ts @@ -55,6 +55,8 @@ export interface DisassociateVpcCidrBlockCommandOutput extends DisassociateVpcCi * // }, * // NetworkBorderGroup: "STRING_VALUE", * // Ipv6Pool: "STRING_VALUE", + * // Ipv6AddressAttribute: "public" || "private", + * // IpSource: "amazon" || "byoip" || "none", * // }, * // CidrBlockAssociation: { // VpcCidrBlockAssociation * // AssociationId: "STRING_VALUE", diff --git a/clients/client-ec2/src/commands/GetInstanceTpmEkPubCommand.ts b/clients/client-ec2/src/commands/GetInstanceTpmEkPubCommand.ts index 67900cd0a098..5db5a25ffb55 100644 --- a/clients/client-ec2/src/commands/GetInstanceTpmEkPubCommand.ts +++ b/clients/client-ec2/src/commands/GetInstanceTpmEkPubCommand.ts @@ -6,8 +6,11 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { GetInstanceTpmEkPubRequest } from "../models/models_5"; -import { GetInstanceTpmEkPubResult, GetInstanceTpmEkPubResultFilterSensitiveLog } from "../models/models_6"; +import { + GetInstanceTpmEkPubRequest, + GetInstanceTpmEkPubResult, + GetInstanceTpmEkPubResultFilterSensitiveLog, +} from "../models/models_6"; import { de_GetInstanceTpmEkPubCommand, se_GetInstanceTpmEkPubCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/GetIpamDiscoveredResourceCidrsCommand.ts b/clients/client-ec2/src/commands/GetIpamDiscoveredResourceCidrsCommand.ts index 199f84a9e6ee..02736b4450b6 100644 --- a/clients/client-ec2/src/commands/GetIpamDiscoveredResourceCidrsCommand.ts +++ b/clients/client-ec2/src/commands/GetIpamDiscoveredResourceCidrsCommand.ts @@ -65,6 +65,7 @@ export interface GetIpamDiscoveredResourceCidrsCommandOutput * // ResourceId: "STRING_VALUE", * // ResourceOwnerId: "STRING_VALUE", * // ResourceCidr: "STRING_VALUE", + * // IpSource: "amazon" || "byoip" || "none", * // ResourceType: "vpc" || "subnet" || "eip" || "public-ipv4-pool" || "ipv6-pool" || "eni", * // ResourceTags: [ // IpamResourceTagList * // { // IpamResourceTag diff --git a/clients/client-ec2/src/commands/ModifyIpamCommand.ts b/clients/client-ec2/src/commands/ModifyIpamCommand.ts index 172ee404cb1a..da814c10e6c9 100644 --- a/clients/client-ec2/src/commands/ModifyIpamCommand.ts +++ b/clients/client-ec2/src/commands/ModifyIpamCommand.ts @@ -51,6 +51,7 @@ export interface ModifyIpamCommandOutput extends ModifyIpamResult, __MetadataBea * }, * ], * Tier: "free" || "advanced", + * EnablePrivateGua: true || false, * }; * const command = new ModifyIpamCommand(input); * const response = await client.send(command); @@ -81,6 +82,7 @@ export interface ModifyIpamCommandOutput extends ModifyIpamResult, __MetadataBea * // ResourceDiscoveryAssociationCount: Number("int"), * // StateMessage: "STRING_VALUE", * // Tier: "free" || "advanced", + * // EnablePrivateGua: true || false, * // }, * // }; * diff --git a/clients/client-ec2/src/commands/ModifyVpnTunnelOptionsCommand.ts b/clients/client-ec2/src/commands/ModifyVpnTunnelOptionsCommand.ts index b560df57c1a9..2d71f5f91d05 100644 --- a/clients/client-ec2/src/commands/ModifyVpnTunnelOptionsCommand.ts +++ b/clients/client-ec2/src/commands/ModifyVpnTunnelOptionsCommand.ts @@ -11,7 +11,7 @@ import { ModifyVpnTunnelOptionsRequestFilterSensitiveLog, ModifyVpnTunnelOptionsResult, ModifyVpnTunnelOptionsResultFilterSensitiveLog, -} from "../models/models_6"; +} from "../models/models_7"; import { de_ModifyVpnTunnelOptionsCommand, se_ModifyVpnTunnelOptionsCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/MonitorInstancesCommand.ts b/clients/client-ec2/src/commands/MonitorInstancesCommand.ts index 23ab86760d15..c31cdf2fca07 100644 --- a/clients/client-ec2/src/commands/MonitorInstancesCommand.ts +++ b/clients/client-ec2/src/commands/MonitorInstancesCommand.ts @@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import { commonParams } from "../endpoint/EndpointParameters"; -import { MonitorInstancesRequest } from "../models/models_6"; -import { MonitorInstancesResult } from "../models/models_7"; +import { MonitorInstancesRequest, MonitorInstancesResult } from "../models/models_7"; import { de_MonitorInstancesCommand, se_MonitorInstancesCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/models/models_0.ts b/clients/client-ec2/src/models/models_0.ts index edfcde3b8957..c34055d60f7c 100644 --- a/clients/client-ec2/src/models/models_0.ts +++ b/clients/client-ec2/src/models/models_0.ts @@ -5002,6 +5002,35 @@ export interface AssociateSubnetCidrBlockRequest { Ipv6NetmaskLength?: number; } +/** + * @public + * @enum + */ +export const IpSource = { + amazon: "amazon", + byoip: "byoip", + none: "none", +} as const; + +/** + * @public + */ +export type IpSource = (typeof IpSource)[keyof typeof IpSource]; + +/** + * @public + * @enum + */ +export const Ipv6AddressAttribute = { + private: "private", + public: "public", +} as const; + +/** + * @public + */ +export type Ipv6AddressAttribute = (typeof Ipv6AddressAttribute)[keyof typeof Ipv6AddressAttribute]; + /** * @public * @enum @@ -5060,6 +5089,18 @@ export interface SubnetIpv6CidrBlockAssociation { * @public */ Ipv6CidrBlockState?: SubnetCidrBlockState; + + /** + *

Public IPv6 addresses are those advertised on the internet from Amazon Web Services. Private IP addresses are not and cannot be advertised on the internet from Amazon Web Services.

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

The source that allocated the IP address space. byoip or amazon indicates public IP address space allocated by Amazon or space that you have allocated with Bring your own IP (BYOIP). none indicates private space.

+ * @public + */ + IpSource?: IpSource; } /** @@ -5574,6 +5615,18 @@ export interface VpcIpv6CidrBlockAssociation { * @public */ Ipv6Pool?: string; + + /** + *

Public IPv6 addresses are those advertised on the internet from Amazon Web Services. Private IP addresses are not and cannot be advertised on the internet from Amazon Web Services.

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

The source that allocated the IP address space. byoip or amazon indicates public IP address space allocated by Amazon or space that you have allocated with Bring your own IP (BYOIP). none indicates private space.

+ * @public + */ + IpSource?: IpSource; } /** @@ -9675,155 +9728,6 @@ export interface CreateCapacityReservationFleetRequest { DryRun?: boolean; } -/** - *

Information about a Capacity Reservation in a Capacity Reservation Fleet.

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

The ID of the Capacity Reservation.

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

The ID of the Availability Zone in which the Capacity Reservation reserves capacity.

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

The instance type for which the Capacity Reservation reserves capacity.

- * @public - */ - InstanceType?: _InstanceType; - - /** - *

The type of operating system for which the Capacity Reservation reserves capacity.

- * @public - */ - InstancePlatform?: CapacityReservationInstancePlatform; - - /** - *

The Availability Zone in which the Capacity Reservation reserves capacity.

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

The total number of instances for which the Capacity Reservation reserves capacity.

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

The number of capacity units fulfilled by the Capacity Reservation. For more information, - * see Total target - * capacity in the Amazon EC2 User Guide.

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

Indicates whether the Capacity Reservation reserves capacity for EBS-optimized instance types.

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

The date and time at which the Capacity Reservation was created.

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

The weight of the instance type in the Capacity Reservation Fleet. For more information, see - * Instance type - * weight in the Amazon EC2 User Guide.

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

The priority of the instance type in the Capacity Reservation Fleet. For more information, - * see Instance type - * priority in the Amazon EC2 User Guide.

- * @public - */ - Priority?: number; -} - -/** - * @public - */ -export interface CreateCapacityReservationFleetResult { - /** - *

The ID of the Capacity Reservation Fleet.

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

The status of the Capacity Reservation Fleet.

- * @public - */ - State?: CapacityReservationFleetState; - - /** - *

The total number of capacity units for which the Capacity Reservation Fleet reserves capacity.

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

The requested capacity units that have been successfully reserved.

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

The instance matching criteria for the Capacity Reservation Fleet.

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

The allocation strategy used by the Capacity Reservation Fleet.

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

The date and time at which the Capacity Reservation Fleet was created.

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

The date and time at which the Capacity Reservation Fleet expires.

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

Indicates the tenancy of Capacity Reservation Fleet.

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

Information about the individual Capacity Reservations in the Capacity Reservation Fleet.

- * @public - */ - FleetCapacityReservations?: FleetCapacityReservation[]; - - /** - *

The tags assigned to the Capacity Reservation Fleet.

- * @public - */ - Tags?: Tag[]; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_1.ts b/clients/client-ec2/src/models/models_1.ts index 01e515cd4b77..92b653e68276 100644 --- a/clients/client-ec2/src/models/models_1.ts +++ b/clients/client-ec2/src/models/models_1.ts @@ -16,6 +16,10 @@ import { AddPrefixListEntry, AddressFamily, AttachmentStatus, + CapacityReservationFleetState, + CapacityReservationInstancePlatform, + FleetCapacityReservationTenancy, + FleetInstanceMatchCriteria, InstanceEventWindow, NatGatewayAddress, PortRange, @@ -30,6 +34,155 @@ import { WeekDay, } from "./models_0"; +/** + *

Information about a Capacity Reservation in a Capacity Reservation Fleet.

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

The ID of the Capacity Reservation.

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

The ID of the Availability Zone in which the Capacity Reservation reserves capacity.

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

The instance type for which the Capacity Reservation reserves capacity.

+ * @public + */ + InstanceType?: _InstanceType; + + /** + *

The type of operating system for which the Capacity Reservation reserves capacity.

+ * @public + */ + InstancePlatform?: CapacityReservationInstancePlatform; + + /** + *

The Availability Zone in which the Capacity Reservation reserves capacity.

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

The total number of instances for which the Capacity Reservation reserves capacity.

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

The number of capacity units fulfilled by the Capacity Reservation. For more information, + * see Total target + * capacity in the Amazon EC2 User Guide.

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

Indicates whether the Capacity Reservation reserves capacity for EBS-optimized instance types.

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

The date and time at which the Capacity Reservation was created.

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

The weight of the instance type in the Capacity Reservation Fleet. For more information, see + * Instance type + * weight in the Amazon EC2 User Guide.

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

The priority of the instance type in the Capacity Reservation Fleet. For more information, + * see Instance type + * priority in the Amazon EC2 User Guide.

+ * @public + */ + Priority?: number; +} + +/** + * @public + */ +export interface CreateCapacityReservationFleetResult { + /** + *

The ID of the Capacity Reservation Fleet.

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

The status of the Capacity Reservation Fleet.

+ * @public + */ + State?: CapacityReservationFleetState; + + /** + *

The total number of capacity units for which the Capacity Reservation Fleet reserves capacity.

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

The requested capacity units that have been successfully reserved.

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

The instance matching criteria for the Capacity Reservation Fleet.

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

The allocation strategy used by the Capacity Reservation Fleet.

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

The date and time at which the Capacity Reservation Fleet was created.

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

The date and time at which the Capacity Reservation Fleet expires.

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

Indicates the tenancy of Capacity Reservation Fleet.

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

Information about the individual Capacity Reservations in the Capacity Reservation Fleet.

+ * @public + */ + FleetCapacityReservations?: FleetCapacityReservation[]; + + /** + *

The tags assigned to the Capacity Reservation Fleet.

+ * @public + */ + Tags?: Tag[]; +} + /** * @public */ @@ -5331,6 +5484,12 @@ export interface CreateIpamRequest { * @public */ Tier?: IpamTier; + + /** + *

Enable this option to use your own GUA ranges as private IPv6 addresses. This option is disabled by default.

+ * @public + */ + EnablePrivateGua?: boolean; } /** @@ -5473,6 +5632,12 @@ export interface Ipam { * @public */ Tier?: IpamTier; + + /** + *

Enable this option to use your own GUA ranges as private IPv6 addresses. This option is disabled by default.

+ * @public + */ + EnablePrivateGua?: boolean; } /** @@ -11239,75 +11404,6 @@ export interface CreateNetworkInterfaceRequest { 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 - * Zone).

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

The allocation ID.

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

The association ID.

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

The ID of the Elastic IP address owner.

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

The public DNS name.

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

The address of the Elastic IP address bound to the network - * interface.

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

The customer-owned IP address associated with the network interface.

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

The carrier IP address associated with the network interface.

- *

This option is only available when the network interface is in a subnet which is associated with a Wavelength Zone.

- * @public - */ - CarrierIp?: string; -} - -/** - *

ENA Express is compatible with both TCP and UDP transport protocols. When it's enabled, TCP traffic - * automatically uses it. However, some UDP-based applications are designed to handle network packets that are - * out of order, without a need for retransmission, such as live video broadcasting or other near-real-time - * applications. For UDP traffic, you can specify whether to use ENA Express, based on your application - * environment needs.

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

Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, - * you must first enable ENA Express.

- * @public - */ - EnaSrdUdpEnabled?: boolean; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_2.ts b/clients/client-ec2/src/models/models_2.ts index 744370bfe47b..7d5e9e1f4ffc 100644 --- a/clients/client-ec2/src/models/models_2.ts +++ b/clients/client-ec2/src/models/models_2.ts @@ -33,7 +33,6 @@ import { } from "./models_0"; import { - AttachmentEnaSrdUdpSpecification, CarrierGateway, ClientVpnEndpointStatus, ClientVpnRouteStatus, @@ -47,14 +46,81 @@ import { IpamResourceDiscovery, IpamScope, LaunchTemplate, - LocalGatewayRoute, - NetworkInterfaceAssociation, Subnet, Tenancy, VolumeType, Vpc, } from "./models_1"; +/** + *

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 + * Zone).

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

The allocation ID.

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

The association ID.

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

The ID of the Elastic IP address owner.

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

The public DNS name.

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

The address of the Elastic IP address bound to the network + * interface.

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

The customer-owned IP address associated with the network interface.

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

The carrier IP address associated with the network interface.

+ *

This option is only available when the network interface is in a subnet which is associated with a Wavelength Zone.

+ * @public + */ + CarrierIp?: string; +} + +/** + *

ENA Express is compatible with both TCP and UDP transport protocols. When it's enabled, TCP traffic + * automatically uses it. However, some UDP-based applications are designed to handle network packets that are + * out of order, without a need for retransmission, such as live video broadcasting or other near-real-time + * applications. For UDP traffic, you can specify whether to use ENA Express, based on your application + * environment needs.

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

Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, + * you must first enable ENA Express.

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

ENA Express uses Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the * maximum bandwidth used per stream and minimize tail latency of network traffic between EC2 instances. @@ -9171,38 +9237,6 @@ export interface DeleteLocalGatewayRouteRequest { DestinationPrefixListId?: string; } -/** - * @public - */ -export interface DeleteLocalGatewayRouteResult { - /** - *

Information about the route.

- * @public - */ - Route?: LocalGatewayRoute; -} - -/** - * @public - */ -export interface DeleteLocalGatewayRouteTableRequest { - /** - *

- * 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; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_3.ts b/clients/client-ec2/src/models/models_3.ts index 637f0f6ed2d0..b4c217e4f53f 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, - FleetCapacityReservation, FleetCapacityReservationTenancy, FleetInstanceMatchCriteria, HostMaintenance, @@ -52,6 +51,7 @@ import { DiskImageFormat, EgressOnlyInternetGateway, ExportTask, + FleetCapacityReservation, FleetCapacityReservationUsageStrategy, FleetExcessCapacityTerminationPolicy, FleetLaunchTemplateOverrides, @@ -61,6 +61,7 @@ import { FleetType, InstanceLifecycle, LaunchTemplateAndOverridesResponse, + LocalGatewayRoute, LocalGatewayRouteTable, LocalGatewayRouteTableVirtualInterfaceGroupAssociation, LocalGatewayRouteTableVpcAssociation, @@ -69,7 +70,6 @@ import { PlatformValues, SpotAllocationStrategy, SpotInstanceInterruptionBehavior, - StateReason, TargetCapacityUnitType, TrafficType, TransportProtocol, @@ -92,6 +92,38 @@ import { VerifiedAccessGroup, } from "./models_2"; +/** + * @public + */ +export interface DeleteLocalGatewayRouteResult { + /** + *

Information about the route.

+ * @public + */ + Route?: LocalGatewayRoute; +} + +/** + * @public + */ +export interface DeleteLocalGatewayRouteTableRequest { + /** + *

+ * 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; +} + /** * @public */ @@ -8962,253 +8994,6 @@ export const TpmSupportValues = { */ export type TpmSupportValues = (typeof TpmSupportValues)[keyof typeof TpmSupportValues]; -/** - * @public - * @enum - */ -export const VirtualizationType = { - hvm: "hvm", - paravirtual: "paravirtual", -} as const; - -/** - * @public - */ -export type VirtualizationType = (typeof VirtualizationType)[keyof typeof VirtualizationType]; - -/** - *

Describes an image.

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

The architecture of the image.

- * @public - */ - Architecture?: ArchitectureValues; - - /** - *

The date and time the image was created.

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

The ID of the AMI.

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

The location of the AMI.

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

The type of image.

- * @public - */ - ImageType?: ImageTypeValues; - - /** - *

Indicates whether the image has public launch permissions. The value is true if - * this image has public launch permissions or false - * if it has only implicit and explicit launch permissions.

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

The kernel associated with the image, if any. Only applicable for machine images.

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

The ID of the Amazon Web Services account that owns the image.

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

This value is set to windows for Windows AMIs; otherwise, it is blank.

- * @public - */ - Platform?: PlatformValues; - - /** - *

The platform details associated with the billing code of the AMI. For more information, - * see Understand - * AMI billing information in the Amazon EC2 User Guide.

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

The operation of the Amazon EC2 instance and the billing code that is associated with the AMI. - * usageOperation corresponds to the lineitem/Operation column on your Amazon Web Services Cost and Usage Report and in the Amazon Web Services Price - * List API. You can view these fields on the Instances or - * AMIs pages in the Amazon EC2 console, or in the responses that are - * returned by the DescribeImages - * command in the Amazon EC2 API, or the describe-images - * command in the CLI.

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

Any product codes associated with the AMI.

- * @public - */ - ProductCodes?: ProductCode[]; - - /** - *

The RAM disk associated with the image, if any. Only applicable for machine images.

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

The current state of the AMI. If the state is available, the image is successfully registered and can be used to launch an instance.

- * @public - */ - State?: ImageState; - - /** - *

Any block device mapping entries.

- * @public - */ - BlockDeviceMappings?: BlockDeviceMapping[]; - - /** - *

The description of the AMI that was provided during image creation.

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

Specifies whether enhanced networking with ENA is enabled.

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

The hypervisor type of the image. Only xen is supported. ovm is - * not supported.

- * @public - */ - Hypervisor?: HypervisorType; - - /** - *

The owner alias (amazon | aws-marketplace).

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

The name of the AMI that was provided during image creation.

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

The device name of the root device volume (for example, /dev/sda1).

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

The type of root device used by the AMI. The AMI can use an Amazon EBS volume or an instance store volume.

- * @public - */ - RootDeviceType?: DeviceType; - - /** - *

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

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

The reason for the state change.

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

Any tags assigned to the image.

- * @public - */ - Tags?: Tag[]; - - /** - *

The type of virtualization of the AMI.

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

The boot mode of the image. For more information, see Boot modes in the - * Amazon EC2 User Guide.

- * @public - */ - BootMode?: BootModeValues; - - /** - *

If the image is configured for NitroTPM support, the value is v2.0. - * For more information, see NitroTPM in the - * Amazon EC2 User Guide.

- * @public - */ - TpmSupport?: TpmSupportValues; - - /** - *

The date and time to deprecate the AMI, in UTC, in the following format: - * YYYY-MM-DDTHH:MM:SSZ. - * If you specified a value for seconds, Amazon EC2 rounds the seconds to the - * nearest minute.

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

If v2.0, it indicates that IMDSv2 is specified in the AMI. Instances launched - * from this AMI will have HttpTokens automatically set to required so - * that, by default, the instance requires that IMDSv2 is used when requesting instance metadata. - * In addition, HttpPutResponseHopLimit is set to 2. For more - * information, see Configure - * the AMI in the Amazon EC2 User Guide.

- * @public - */ - ImdsSupport?: ImdsSupportValues; - - /** - *

The ID of the instance that the AMI was created from if the AMI was created using CreateImage. This field only appears if the AMI was created using - * CreateImage.

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

Indicates whether deregistration protection is enabled for the AMI.

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

The date and time, in ISO 8601 date-time - * format, when the AMI was last used to launch an EC2 instance. When the AMI is used - * to launch an instance, there is a 24-hour delay before that usage is reported.

- * - *

- * lastLaunchedTime data is available starting April 2017.

- *
- * @public - */ - LastLaunchedTime?: string; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_4.ts b/clients/client-ec2/src/models/models_4.ts index 7ebc8cc0b002..aef54ad6ec5d 100644 --- a/clients/client-ec2/src/models/models_4.ts +++ b/clients/client-ec2/src/models/models_4.ts @@ -4,7 +4,6 @@ import { SENSITIVE_STRING } from "@smithy/smithy-client"; import { _InstanceType, ActiveInstance, - AllocationStrategy, AlternatePathHint, AttachmentStatus, CurrencyCodeValues, @@ -19,7 +18,6 @@ import { ResourceType, SecurityGroupRule, Tag, - TagSpecification, } from "./models_0"; import { @@ -32,9 +30,7 @@ import { Ec2InstanceConnectEndpoint, EnaSrdSpecificationRequest, FleetLaunchTemplateSpecification, - FleetType, HostnameType, - InstanceInterruptionBehavior, InstanceIpv6Address, InstanceRequirements, InternetGateway, @@ -61,7 +57,6 @@ import { PlatformValues, PrivateIpAddressSpecification, StateReason, - TargetCapacityUnitType, Tenancy, } from "./models_1"; @@ -89,13 +84,262 @@ import { Filter, HypervisorType, IdFormat, - Image, + ImageState, + ImageTypeValues, + ImdsSupportValues, InstanceTagNotificationAttribute, PermissionGroup, ProductCode, - VirtualizationType, + TpmSupportValues, } from "./models_3"; +/** + * @public + * @enum + */ +export const VirtualizationType = { + hvm: "hvm", + paravirtual: "paravirtual", +} as const; + +/** + * @public + */ +export type VirtualizationType = (typeof VirtualizationType)[keyof typeof VirtualizationType]; + +/** + *

Describes an image.

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

The architecture of the image.

+ * @public + */ + Architecture?: ArchitectureValues; + + /** + *

The date and time the image was created.

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

The ID of the AMI.

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

The location of the AMI.

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

The type of image.

+ * @public + */ + ImageType?: ImageTypeValues; + + /** + *

Indicates whether the image has public launch permissions. The value is true if + * this image has public launch permissions or false + * if it has only implicit and explicit launch permissions.

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

The kernel associated with the image, if any. Only applicable for machine images.

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

The ID of the Amazon Web Services account that owns the image.

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

This value is set to windows for Windows AMIs; otherwise, it is blank.

+ * @public + */ + Platform?: PlatformValues; + + /** + *

The platform details associated with the billing code of the AMI. For more information, + * see Understand + * AMI billing information in the Amazon EC2 User Guide.

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

The operation of the Amazon EC2 instance and the billing code that is associated with the AMI. + * usageOperation corresponds to the lineitem/Operation column on your Amazon Web Services Cost and Usage Report and in the Amazon Web Services Price + * List API. You can view these fields on the Instances or + * AMIs pages in the Amazon EC2 console, or in the responses that are + * returned by the DescribeImages + * command in the Amazon EC2 API, or the describe-images + * command in the CLI.

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

Any product codes associated with the AMI.

+ * @public + */ + ProductCodes?: ProductCode[]; + + /** + *

The RAM disk associated with the image, if any. Only applicable for machine images.

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

The current state of the AMI. If the state is available, the image is successfully registered and can be used to launch an instance.

+ * @public + */ + State?: ImageState; + + /** + *

Any block device mapping entries.

+ * @public + */ + BlockDeviceMappings?: BlockDeviceMapping[]; + + /** + *

The description of the AMI that was provided during image creation.

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

Specifies whether enhanced networking with ENA is enabled.

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

The hypervisor type of the image. Only xen is supported. ovm is + * not supported.

+ * @public + */ + Hypervisor?: HypervisorType; + + /** + *

The owner alias (amazon | aws-marketplace).

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

The name of the AMI that was provided during image creation.

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

The device name of the root device volume (for example, /dev/sda1).

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

The type of root device used by the AMI. The AMI can use an Amazon EBS volume or an instance store volume.

+ * @public + */ + RootDeviceType?: DeviceType; + + /** + *

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

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

The reason for the state change.

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

Any tags assigned to the image.

+ * @public + */ + Tags?: Tag[]; + + /** + *

The type of virtualization of the AMI.

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

The boot mode of the image. For more information, see Boot modes in the + * Amazon EC2 User Guide.

+ * @public + */ + BootMode?: BootModeValues; + + /** + *

If the image is configured for NitroTPM support, the value is v2.0. + * For more information, see NitroTPM in the + * Amazon EC2 User Guide.

+ * @public + */ + TpmSupport?: TpmSupportValues; + + /** + *

The date and time to deprecate the AMI, in UTC, in the following format: + * YYYY-MM-DDTHH:MM:SSZ. + * If you specified a value for seconds, Amazon EC2 rounds the seconds to the + * nearest minute.

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

If v2.0, it indicates that IMDSv2 is specified in the AMI. Instances launched + * from this AMI will have HttpTokens automatically set to required so + * that, by default, the instance requires that IMDSv2 is used when requesting instance metadata. + * In addition, HttpPutResponseHopLimit is set to 2. For more + * information, see Configure + * the AMI in the Amazon EC2 User Guide.

+ * @public + */ + ImdsSupport?: ImdsSupportValues; + + /** + *

The ID of the instance that the AMI was created from if the AMI was created using CreateImage. This field only appears if the AMI was created using + * CreateImage.

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

Indicates whether deregistration protection is enabled for the AMI.

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

The date and time, in ISO 8601 date-time + * format, when the AMI was last used to launch an EC2 instance. When the AMI is used + * to launch an instance, there is a 24-hour delay before that usage is reported.

+ * + *

+ * lastLaunchedTime data is available starting April 2017.

+ *
+ * @public + */ + LastLaunchedTime?: string; +} + /** * @public */ @@ -12144,340 +12388,6 @@ export interface SpotCapacityRebalance { TerminationDelay?: number; } -/** - *

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

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

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 - */ - CapacityRebalance?: SpotCapacityRebalance; -} - -/** - *

Describes the configuration of a Spot Fleet request.

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

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance - * pools specified by the Spot Fleet launch configuration. For more information, see Allocation - * strategies for Spot Instances in the Amazon EC2 User Guide.

- *
- *
priceCapacityOptimized (recommended)
- *
- *

Spot Fleet identifies the pools with - * the highest capacity availability for the number of instances that are launching. This means - * that we will request Spot Instances from the pools that we believe have the lowest chance of interruption - * in the near term. Spot Fleet then requests Spot Instances from the lowest priced of these pools.

- *
- *
capacityOptimized
- *
- *

Spot Fleet identifies the pools with - * the highest capacity availability for the number of instances that are launching. This means - * that we will request Spot Instances from the pools that we believe have the lowest chance of interruption - * in the near term. To give certain - * instance types a higher chance of launching first, use - * capacityOptimizedPrioritized. Set a priority for each instance type by - * using the Priority parameter for LaunchTemplateOverrides. You can - * assign the same priority to different LaunchTemplateOverrides. EC2 implements - * the priorities on a best-effort basis, but optimizes for capacity first. - * capacityOptimizedPrioritized is supported only if your Spot Fleet uses a - * launch template. Note that if the OnDemandAllocationStrategy is set to - * prioritized, the same priority is applied when fulfilling On-Demand - * capacity.

- *
- *
diversified
- *
- *

Spot Fleet requests instances from all of the Spot Instance pools that you - * specify.

- *
- *
lowestPrice (not recommended)
- *
- * - *

We don't recommend the lowestPrice allocation strategy because - * it has the highest risk of interruption for your Spot Instances.

- *
- *

Spot Fleet requests instances from the lowest priced Spot Instance pool that has available - * capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances - * come from the next lowest priced pool that has available capacity. If a pool runs - * out of capacity before fulfilling your desired capacity, Spot Fleet will continue to - * fulfill your request by drawing from the next lowest priced pool. To ensure that - * your desired capacity is met, you might receive Spot Instances from several pools. Because - * this strategy only considers instance price and not capacity availability, it - * might lead to high interruption rates.

- *
- *
- *

Default: lowestPrice - *

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

The order of the launch template overrides to use in fulfilling On-Demand capacity. If - * you specify lowestPrice, Spot Fleet uses price to determine the order, launching - * the lowest price first. If you specify prioritized, Spot Fleet uses the priority - * that you assign to each Spot Fleet launch template override, launching the highest priority - * first. If you do not specify a value, Spot Fleet defaults to lowestPrice.

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

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

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

A unique, case-sensitive identifier that you provide to ensure the idempotency of your - * listings. This helps to avoid duplicate listings. For more information, see Ensuring Idempotency.

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

Indicates whether running instances should be terminated if you decrease the - * target capacity of the Spot Fleet request below the current size of the Spot Fleet.

- *

Supported only for fleets of type maintain.

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

The number of units fulfilled by this request compared to the set target capacity. You - * cannot set this value.

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

The number of On-Demand units fulfilled by this request compared to the set target - * On-Demand capacity.

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

The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role - * that grants the Spot Fleet the permission to request, launch, terminate, and tag instances - * on your behalf. For more information, see Spot - * Fleet prerequisites in the Amazon EC2 User Guide. Spot Fleet can - * terminate Spot Instances on your behalf when you cancel its Spot Fleet request using CancelSpotFleetRequests or when the Spot Fleet request expires, if you set - * TerminateInstancesWithExpiration.

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

The launch specifications for the Spot Fleet request. If you specify - * LaunchSpecifications, you can't specify - * LaunchTemplateConfigs. If you include On-Demand capacity in your - * request, you must use LaunchTemplateConfigs.

- * - *

If an AMI specified in a launch specification is deregistered or disabled, no new - * instances can be launched from the AMI. For fleets of type maintain, the - * target capacity will not be maintained.

- *
- * @public - */ - LaunchSpecifications?: SpotFleetLaunchSpecification[]; - - /** - *

The launch template and overrides. If you specify LaunchTemplateConfigs, - * you can't specify LaunchSpecifications. If you include On-Demand capacity - * in your request, you must use LaunchTemplateConfigs.

- * @public - */ - LaunchTemplateConfigs?: LaunchTemplateConfig[]; - - /** - *

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend - * using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

- * - *

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

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

The number of units to request for the Spot Fleet. You can choose to set the target - * capacity in terms of instances or a performance characteristic that is important to your - * application workload, such as vCPUs, memory, or I/O. If the request type is - * maintain, you can specify a target capacity of 0 and add capacity - * later.

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

The number of On-Demand units to request. You can choose to set the target capacity in - * terms of instances or a performance characteristic that is important to your application - * workload, such as vCPUs, memory, or I/O. If the request type is maintain, - * you can specify a target capacity of 0 and add capacity later.

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

The maximum amount per hour for On-Demand Instances that you're willing to pay. You - * can use the onDemandMaxTotalPrice parameter, the - * spotMaxTotalPrice parameter, or both parameters to ensure that your - * fleet cost does not exceed your budget. If you set a maximum price per hour for the - * On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the - * maximum amount you're willing to pay. When the maximum amount you're willing to pay is - * reached, the fleet stops launching instances even if it hasn’t met the target - * capacity.

- * - *

If your fleet includes T instances that are configured as unlimited, - * and if their average CPU usage exceeds the baseline utilization, you will incur a charge - * for surplus credits. The onDemandMaxTotalPrice does not account for surplus - * credits, and, if you use surplus credits, your final cost might be higher than what you - * specified for onDemandMaxTotalPrice. For more information, see Surplus credits can incur charges in the - * Amazon EC2 User Guide.

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

The maximum amount per hour for Spot Instances that you're willing to pay. You can use - * the spotMaxTotalPrice parameter, the onDemandMaxTotalPrice - * parameter, or both parameters to ensure that your fleet cost does not exceed your budget. - * If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will - * launch instances until it reaches the maximum amount you're willing to pay. When the - * maximum amount you're willing to pay is reached, the fleet stops launching instances even - * if it hasn’t met the target capacity.

- * - *

If your fleet includes T instances that are configured as unlimited, - * and if their average CPU usage exceeds the baseline utilization, you will incur a charge - * for surplus credits. The spotMaxTotalPrice does not account for surplus - * credits, and, if you use surplus credits, your final cost might be higher than what you - * specified for spotMaxTotalPrice. For more information, see Surplus credits can incur charges in the - * Amazon EC2 User Guide.

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

Indicates whether running Spot Instances are terminated when the Spot Fleet request - * expires.

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

The type of request. Indicates whether the Spot Fleet only requests the target - * capacity or also attempts to maintain it. When this value is request, the - * Spot Fleet only places the required requests. It does not attempt to replenish Spot - * Instances if capacity is diminished, nor does it submit requests in alternative Spot - * pools if capacity is not available. When this value is maintain, the Spot - * Fleet maintains the target capacity. The Spot Fleet places the required requests to meet - * capacity and automatically replenishes any interrupted instances. Default: - * maintain. instant is listed but is not used by Spot - * Fleet.

- * @public - */ - Type?: FleetType; - - /** - *

The start date and time of the request, in UTC format - * (YYYY-MM-DDTHH:MM:SSZ). - * By default, Amazon EC2 starts fulfilling the request immediately.

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

The end date and time of the request, in UTC format - * (YYYY-MM-DDTHH:MM:SSZ). - * After the end date and time, no new Spot Instance requests are placed or able to fulfill - * the request. If no value is specified, the Spot Fleet request remains until you cancel - * it.

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

Indicates whether Spot Fleet should replace unhealthy instances.

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

The behavior when a Spot Instance is interrupted. The default is - * terminate.

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

One or more Classic Load Balancers and target groups to attach to the Spot Fleet - * request. Spot Fleet registers the running Spot Instances with the specified Classic Load - * Balancers and target groups.

- *

With Network Load Balancers, Spot Fleet cannot register instances that have the - * following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, - * M3, and T1.

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

The number of Spot pools across which to allocate your target Spot capacity. Valid - * only when Spot AllocationStrategy is set to - * lowest-price. Spot Fleet selects the cheapest Spot pools and evenly - * allocates your target Spot capacity across the number of Spot pools that you - * specify.

- *

Note that Spot Fleet attempts to draw Spot Instances from the number of pools that you specify on a - * best effort basis. If a pool runs out of Spot capacity before fulfilling your target - * capacity, Spot Fleet will continue to fulfill your request by drawing from the next cheapest - * pool. To ensure that your target capacity is met, you might receive Spot Instances from more than - * the number of pools that you specified. Similarly, if most of the pools have no Spot - * capacity, you might receive your full target capacity from fewer than the number of - * pools that you specified.

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

Reserved.

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

The unit for the target capacity. You can specify this parameter only when - * using attribute-based instance type selection.

- *

Default: units (the number of instances)

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

The key-value pair for tagging the Spot Fleet request on creation. The value for - * ResourceType must be spot-fleet-request, otherwise the - * Spot Fleet request fails. To tag instances at launch, specify the tags in the launch - * template (valid only if you use LaunchTemplateConfigs) or in - * the - * SpotFleetTagSpecification - * (valid only if you use - * LaunchSpecifications). For information about tagging after launch, see - * Tag your resources.

- * @public - */ - TagSpecifications?: TagSpecification[]; -} - /** * @internal */ @@ -12548,13 +12458,3 @@ export const SpotFleetLaunchSpecificationFilterSensitiveLog = (obj: SpotFleetLau ...obj, ...(obj.UserData && { UserData: SENSITIVE_STRING }), }); - -/** - * @internal - */ -export const SpotFleetRequestConfigDataFilterSensitiveLog = (obj: SpotFleetRequestConfigData): any => ({ - ...obj, - ...(obj.LaunchSpecifications && { - LaunchSpecifications: obj.LaunchSpecifications.map((item) => SpotFleetLaunchSpecificationFilterSensitiveLog(item)), - }), -}); diff --git a/clients/client-ec2/src/models/models_5.ts b/clients/client-ec2/src/models/models_5.ts index 905649b118ab..347ce9c3044a 100644 --- a/clients/client-ec2/src/models/models_5.ts +++ b/clients/client-ec2/src/models/models_5.ts @@ -5,6 +5,7 @@ import { _InstanceType, ActivityStatus, AddressTransfer, + AllocationStrategy, AllowedPrincipal, AsnAssociation, AssociationStatus, @@ -41,9 +42,11 @@ import { import { BlockDeviceMapping, DiskImageFormat, + FleetType, InstanceInterruptionBehavior, SpotInstanceType, Subnet, + TargetCapacityUnitType, VolumeType, Vpc, } from "./models_1"; @@ -98,16 +101,355 @@ import { import { AttributeBooleanValue, + ExcessCapacityTerminationPolicy, HttpTokensState, InstanceMetadataEndpointState, InstanceMetadataTagsState, InstanceNetworkInterfaceSpecification, + LaunchTemplateConfig, + LoadBalancersConfig, + OnDemandAllocationStrategy, RIProductDescription, - SpotFleetRequestConfigData, - SpotFleetRequestConfigDataFilterSensitiveLog, + SpotCapacityRebalance, + SpotFleetLaunchSpecification, + SpotFleetLaunchSpecificationFilterSensitiveLog, SpotPlacement, } from "./models_4"; +/** + *

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

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

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 + */ + CapacityRebalance?: SpotCapacityRebalance; +} + +/** + *

Describes the configuration of a Spot Fleet request.

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

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance + * pools specified by the Spot Fleet launch configuration. For more information, see Allocation + * strategies for Spot Instances in the Amazon EC2 User Guide.

+ *
+ *
priceCapacityOptimized (recommended)
+ *
+ *

Spot Fleet identifies the pools with + * the highest capacity availability for the number of instances that are launching. This means + * that we will request Spot Instances from the pools that we believe have the lowest chance of interruption + * in the near term. Spot Fleet then requests Spot Instances from the lowest priced of these pools.

+ *
+ *
capacityOptimized
+ *
+ *

Spot Fleet identifies the pools with + * the highest capacity availability for the number of instances that are launching. This means + * that we will request Spot Instances from the pools that we believe have the lowest chance of interruption + * in the near term. To give certain + * instance types a higher chance of launching first, use + * capacityOptimizedPrioritized. Set a priority for each instance type by + * using the Priority parameter for LaunchTemplateOverrides. You can + * assign the same priority to different LaunchTemplateOverrides. EC2 implements + * the priorities on a best-effort basis, but optimizes for capacity first. + * capacityOptimizedPrioritized is supported only if your Spot Fleet uses a + * launch template. Note that if the OnDemandAllocationStrategy is set to + * prioritized, the same priority is applied when fulfilling On-Demand + * capacity.

+ *
+ *
diversified
+ *
+ *

Spot Fleet requests instances from all of the Spot Instance pools that you + * specify.

+ *
+ *
lowestPrice (not recommended)
+ *
+ * + *

We don't recommend the lowestPrice allocation strategy because + * it has the highest risk of interruption for your Spot Instances.

+ *
+ *

Spot Fleet requests instances from the lowest priced Spot Instance pool that has available + * capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances + * come from the next lowest priced pool that has available capacity. If a pool runs + * out of capacity before fulfilling your desired capacity, Spot Fleet will continue to + * fulfill your request by drawing from the next lowest priced pool. To ensure that + * your desired capacity is met, you might receive Spot Instances from several pools. Because + * this strategy only considers instance price and not capacity availability, it + * might lead to high interruption rates.

+ *
+ *
+ *

Default: lowestPrice + *

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

The order of the launch template overrides to use in fulfilling On-Demand capacity. If + * you specify lowestPrice, Spot Fleet uses price to determine the order, launching + * the lowest price first. If you specify prioritized, Spot Fleet uses the priority + * that you assign to each Spot Fleet launch template override, launching the highest priority + * first. If you do not specify a value, Spot Fleet defaults to lowestPrice.

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

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

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

A unique, case-sensitive identifier that you provide to ensure the idempotency of your + * listings. This helps to avoid duplicate listings. For more information, see Ensuring Idempotency.

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

Indicates whether running instances should be terminated if you decrease the + * target capacity of the Spot Fleet request below the current size of the Spot Fleet.

+ *

Supported only for fleets of type maintain.

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

The number of units fulfilled by this request compared to the set target capacity. You + * cannot set this value.

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

The number of On-Demand units fulfilled by this request compared to the set target + * On-Demand capacity.

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

The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role + * that grants the Spot Fleet the permission to request, launch, terminate, and tag instances + * on your behalf. For more information, see Spot + * Fleet prerequisites in the Amazon EC2 User Guide. Spot Fleet can + * terminate Spot Instances on your behalf when you cancel its Spot Fleet request using CancelSpotFleetRequests or when the Spot Fleet request expires, if you set + * TerminateInstancesWithExpiration.

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

The launch specifications for the Spot Fleet request. If you specify + * LaunchSpecifications, you can't specify + * LaunchTemplateConfigs. If you include On-Demand capacity in your + * request, you must use LaunchTemplateConfigs.

+ * + *

If an AMI specified in a launch specification is deregistered or disabled, no new + * instances can be launched from the AMI. For fleets of type maintain, the + * target capacity will not be maintained.

+ *
+ * @public + */ + LaunchSpecifications?: SpotFleetLaunchSpecification[]; + + /** + *

The launch template and overrides. If you specify LaunchTemplateConfigs, + * you can't specify LaunchSpecifications. If you include On-Demand capacity + * in your request, you must use LaunchTemplateConfigs.

+ * @public + */ + LaunchTemplateConfigs?: LaunchTemplateConfig[]; + + /** + *

The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend + * using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

+ * + *

If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.

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

The number of units to request for the Spot Fleet. You can choose to set the target + * capacity in terms of instances or a performance characteristic that is important to your + * application workload, such as vCPUs, memory, or I/O. If the request type is + * maintain, you can specify a target capacity of 0 and add capacity + * later.

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

The number of On-Demand units to request. You can choose to set the target capacity in + * terms of instances or a performance characteristic that is important to your application + * workload, such as vCPUs, memory, or I/O. If the request type is maintain, + * you can specify a target capacity of 0 and add capacity later.

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

The maximum amount per hour for On-Demand Instances that you're willing to pay. You + * can use the onDemandMaxTotalPrice parameter, the + * spotMaxTotalPrice parameter, or both parameters to ensure that your + * fleet cost does not exceed your budget. If you set a maximum price per hour for the + * On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the + * maximum amount you're willing to pay. When the maximum amount you're willing to pay is + * reached, the fleet stops launching instances even if it hasn’t met the target + * capacity.

+ * + *

If your fleet includes T instances that are configured as unlimited, + * and if their average CPU usage exceeds the baseline utilization, you will incur a charge + * for surplus credits. The onDemandMaxTotalPrice does not account for surplus + * credits, and, if you use surplus credits, your final cost might be higher than what you + * specified for onDemandMaxTotalPrice. For more information, see Surplus credits can incur charges in the + * Amazon EC2 User Guide.

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

The maximum amount per hour for Spot Instances that you're willing to pay. You can use + * the spotMaxTotalPrice parameter, the onDemandMaxTotalPrice + * parameter, or both parameters to ensure that your fleet cost does not exceed your budget. + * If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will + * launch instances until it reaches the maximum amount you're willing to pay. When the + * maximum amount you're willing to pay is reached, the fleet stops launching instances even + * if it hasn’t met the target capacity.

+ * + *

If your fleet includes T instances that are configured as unlimited, + * and if their average CPU usage exceeds the baseline utilization, you will incur a charge + * for surplus credits. The spotMaxTotalPrice does not account for surplus + * credits, and, if you use surplus credits, your final cost might be higher than what you + * specified for spotMaxTotalPrice. For more information, see Surplus credits can incur charges in the + * Amazon EC2 User Guide.

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

Indicates whether running Spot Instances are terminated when the Spot Fleet request + * expires.

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

The type of request. Indicates whether the Spot Fleet only requests the target + * capacity or also attempts to maintain it. When this value is request, the + * Spot Fleet only places the required requests. It does not attempt to replenish Spot + * Instances if capacity is diminished, nor does it submit requests in alternative Spot + * pools if capacity is not available. When this value is maintain, the Spot + * Fleet maintains the target capacity. The Spot Fleet places the required requests to meet + * capacity and automatically replenishes any interrupted instances. Default: + * maintain. instant is listed but is not used by Spot + * Fleet.

+ * @public + */ + Type?: FleetType; + + /** + *

The start date and time of the request, in UTC format + * (YYYY-MM-DDTHH:MM:SSZ). + * By default, Amazon EC2 starts fulfilling the request immediately.

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

The end date and time of the request, in UTC format + * (YYYY-MM-DDTHH:MM:SSZ). + * After the end date and time, no new Spot Instance requests are placed or able to fulfill + * the request. If no value is specified, the Spot Fleet request remains until you cancel + * it.

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

Indicates whether Spot Fleet should replace unhealthy instances.

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

The behavior when a Spot Instance is interrupted. The default is + * terminate.

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

One or more Classic Load Balancers and target groups to attach to the Spot Fleet + * request. Spot Fleet registers the running Spot Instances with the specified Classic Load + * Balancers and target groups.

+ *

With Network Load Balancers, Spot Fleet cannot register instances that have the + * following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, + * M3, and T1.

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

The number of Spot pools across which to allocate your target Spot capacity. Valid + * only when Spot AllocationStrategy is set to + * lowest-price. Spot Fleet selects the cheapest Spot pools and evenly + * allocates your target Spot capacity across the number of Spot pools that you + * specify.

+ *

Note that Spot Fleet attempts to draw Spot Instances from the number of pools that you specify on a + * best effort basis. If a pool runs out of Spot capacity before fulfilling your target + * capacity, Spot Fleet will continue to fulfill your request by drawing from the next cheapest + * pool. To ensure that your target capacity is met, you might receive Spot Instances from more than + * the number of pools that you specified. Similarly, if most of the pools have no Spot + * capacity, you might receive your full target capacity from fewer than the number of + * pools that you specified.

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

Reserved.

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

The unit for the target capacity. You can specify this parameter only when + * using attribute-based instance type selection.

+ *

Default: units (the number of instances)

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

The key-value pair for tagging the Spot Fleet request on creation. The value for + * ResourceType must be spot-fleet-request, otherwise the + * Spot Fleet request fails. To tag instances at launch, specify the tags in the launch + * template (valid only if you use LaunchTemplateConfigs) or in + * the + * SpotFleetTagSpecification + * (valid only if you use + * LaunchSpecifications). For information about tagging after launch, see + * Tag your resources.

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

Describes a Spot Fleet request.

* @public @@ -9140,51 +9482,14 @@ export const EkPubKeyFormat = { export type EkPubKeyFormat = (typeof EkPubKeyFormat)[keyof typeof EkPubKeyFormat]; /** - * @public - * @enum - */ -export const EkPubKeyType = { - ECC_SEC_P384: "ecc-sec-p384", - RSA_2048: "rsa-2048", -} as const; - -/** - * @public - */ -export type EkPubKeyType = (typeof EkPubKeyType)[keyof typeof EkPubKeyType]; - -/** - * @public + * @internal */ -export interface GetInstanceTpmEkPubRequest { - /** - *

The ID of the instance for which to get the public endorsement key.

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

The required public endorsement key type.

- * @public - */ - KeyType: EkPubKeyType | undefined; - - /** - *

The required public endorsement key format. Specify der for a DER-encoded public - * key that is compatible with OpenSSL. Specify tpmt for a TPM 2.0 format that is - * compatible with tpm2-tools. The returned key is base64 encoded.

- * @public - */ - KeyFormat: EkPubKeyFormat | undefined; - - /** - *

Specify this parameter to verify whether the request will succeed, without actually making the - * request. If the request will succeed, the response is DryRunOperation. Otherwise, - * the response is UnauthorizedOperation.

- * @public - */ - DryRun?: boolean; -} +export const SpotFleetRequestConfigDataFilterSensitiveLog = (obj: SpotFleetRequestConfigData): any => ({ + ...obj, + ...(obj.LaunchSpecifications && { + LaunchSpecifications: obj.LaunchSpecifications.map((item) => SpotFleetLaunchSpecificationFilterSensitiveLog(item)), + }), +}); /** * @internal diff --git a/clients/client-ec2/src/models/models_6.ts b/clients/client-ec2/src/models/models_6.ts index 5dcf078b7b50..36b9611eb12b 100644 --- a/clients/client-ec2/src/models/models_6.ts +++ b/clients/client-ec2/src/models/models_6.ts @@ -117,7 +117,6 @@ import { IpamPoolCidr, LaunchPermission, PermissionGroup, - VirtualizationType, } from "./models_3"; import { @@ -143,11 +142,11 @@ import { SnapshotDetailFilterSensitiveLog, SnapshotTaskDetail, SnapshotTaskDetailFilterSensitiveLog, + VirtualizationType, } from "./models_4"; import { EkPubKeyFormat, - EkPubKeyType, InstanceFamilyCreditSpecification, SnapshotBlockPublicAccessState, TransitGatewayPropagationState, @@ -156,6 +155,53 @@ import { VolumeModification, } from "./models_5"; +/** + * @public + * @enum + */ +export const EkPubKeyType = { + ECC_SEC_P384: "ecc-sec-p384", + RSA_2048: "rsa-2048", +} as const; + +/** + * @public + */ +export type EkPubKeyType = (typeof EkPubKeyType)[keyof typeof EkPubKeyType]; + +/** + * @public + */ +export interface GetInstanceTpmEkPubRequest { + /** + *

The ID of the instance for which to get the public endorsement key.

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

The required public endorsement key type.

+ * @public + */ + KeyType: EkPubKeyType | undefined; + + /** + *

The required public endorsement key format. Specify der for a DER-encoded public + * key that is compatible with OpenSSL. Specify tpmt for a TPM 2.0 format that is + * compatible with tpm2-tools. The returned key is base64 encoded.

+ * @public + */ + KeyFormat: EkPubKeyFormat | undefined; + + /** + *

Specify this parameter to verify whether the request will succeed, without actually making the + * request. If the request will succeed, the response is DryRunOperation. Otherwise, + * the response is UnauthorizedOperation.

+ * @public + */ + DryRun?: boolean; +} + /** * @public */ @@ -977,6 +1023,21 @@ export interface GetIpamDiscoveredResourceCidrsRequest { MaxResults?: number; } +/** + * @public + * @enum + */ +export const IpamResourceCidrIpSource = { + amazon: "amazon", + byoip: "byoip", + none: "none", +} as const; + +/** + * @public + */ +export type IpamResourceCidrIpSource = (typeof IpamResourceCidrIpSource)[keyof typeof IpamResourceCidrIpSource]; + /** * @public * @enum @@ -1045,6 +1106,12 @@ export interface IpamDiscoveredResourceCidr { */ ResourceCidr?: string; + /** + *

The source that allocated the IP address space. byoip or amazon indicates public IP address space allocated by Amazon or space that you have allocated with Bring your own IP (BYOIP). none indicates private space.

+ * @public + */ + IpSource?: IpamResourceCidrIpSource; + /** *

The resource type.

* @public @@ -6414,6 +6481,12 @@ export interface ModifyIpamRequest { * @public */ Tier?: IpamTier; + + /** + *

Enable this option to use your own GUA ranges as private IPv6 addresses. This option is disabled by default.

+ * @public + */ + EnablePrivateGua?: boolean; } /** @@ -9580,76 +9653,6 @@ export interface ModifyVpnTunnelOptionsSpecification { EnableTunnelLifecycleControl?: boolean; } -/** - * @public - */ -export interface ModifyVpnTunnelOptionsRequest { - /** - *

The ID of the Amazon Web Services Site-to-Site VPN connection.

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

The external IP address of the VPN tunnel.

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

The tunnel options to modify.

- * @public - */ - TunnelOptions: ModifyVpnTunnelOptionsSpecification | 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; - - /** - *

Choose whether or not to trigger immediate tunnel replacement. This is only applicable when turning on or off EnableTunnelLifecycleControl.

- *

Valid values: True | False - *

- * @public - */ - SkipTunnelReplacement?: boolean; -} - -/** - * @public - */ -export interface ModifyVpnTunnelOptionsResult { - /** - *

Information about the VPN connection.

- * @public - */ - VpnConnection?: VpnConnection; -} - -/** - * @public - */ -export interface MonitorInstancesRequest { - /** - *

The IDs of the instances.

- * @public - */ - InstanceIds: 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; -} - /** * @internal */ @@ -9871,19 +9874,3 @@ export const ModifyVpnTunnelOptionsSpecificationFilterSensitiveLog = ( ...obj, ...(obj.PreSharedKey && { PreSharedKey: SENSITIVE_STRING }), }); - -/** - * @internal - */ -export const ModifyVpnTunnelOptionsRequestFilterSensitiveLog = (obj: ModifyVpnTunnelOptionsRequest): any => ({ - ...obj, - ...(obj.TunnelOptions && { TunnelOptions: SENSITIVE_STRING }), -}); - -/** - * @internal - */ -export const ModifyVpnTunnelOptionsResultFilterSensitiveLog = (obj: ModifyVpnTunnelOptionsResult): any => ({ - ...obj, - ...(obj.VpnConnection && { VpnConnection: VpnConnectionFilterSensitiveLog(obj.VpnConnection) }), -}); diff --git a/clients/client-ec2/src/models/models_7.ts b/clients/client-ec2/src/models/models_7.ts index cc94a75ca400..fab34720ef99 100644 --- a/clients/client-ec2/src/models/models_7.ts +++ b/clients/client-ec2/src/models/models_7.ts @@ -42,7 +42,13 @@ import { SpotInstanceType, } from "./models_1"; -import { SnapshotState, SSEType, TransitGatewayRoute } from "./models_2"; +import { + SnapshotState, + SSEType, + TransitGatewayRoute, + VpnConnection, + VpnConnectionFilterSensitiveLog, +} from "./models_2"; import { ArchitectureValues, @@ -71,19 +77,89 @@ import { PublicIpv4PoolRange, ScheduledInstance, SnapshotAttributeName, - SpotFleetRequestConfigData, - SpotFleetRequestConfigDataFilterSensitiveLog, SpotPlacement, } from "./models_4"; import { Purchase, RunInstancesMonitoringEnabled, + SpotFleetRequestConfigData, + SpotFleetRequestConfigDataFilterSensitiveLog, SpotInstanceRequest, SpotInstanceRequestFilterSensitiveLog, } from "./models_5"; -import { CapacityReservationSpecification } from "./models_6"; +import { CapacityReservationSpecification, ModifyVpnTunnelOptionsSpecification } from "./models_6"; + +/** + * @public + */ +export interface ModifyVpnTunnelOptionsRequest { + /** + *

The ID of the Amazon Web Services Site-to-Site VPN connection.

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

The external IP address of the VPN tunnel.

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

The tunnel options to modify.

+ * @public + */ + TunnelOptions: ModifyVpnTunnelOptionsSpecification | 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; + + /** + *

Choose whether or not to trigger immediate tunnel replacement. This is only applicable when turning on or off EnableTunnelLifecycleControl.

+ *

Valid values: True | False + *

+ * @public + */ + SkipTunnelReplacement?: boolean; +} + +/** + * @public + */ +export interface ModifyVpnTunnelOptionsResult { + /** + *

Information about the VPN connection.

+ * @public + */ + VpnConnection?: VpnConnection; +} + +/** + * @public + */ +export interface MonitorInstancesRequest { + /** + *

The IDs of the instances.

+ * @public + */ + InstanceIds: 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; +} /** *

Describes the monitoring of an instance.

@@ -496,7 +572,7 @@ export interface ProvisionPublicIpv4PoolCidrRequest { PoolId: string | undefined; /** - *

The netmask length of the CIDR you would like to allocate to the public IPv4 pool.

+ *

The netmask length of the CIDR you would like to allocate to the public IPv4 pool. The least specific netmask length you can define is 24.

* @public */ NetmaskLength: number | undefined; @@ -5158,6 +5234,22 @@ export interface WithdrawByoipCidrResult { ByoipCidr?: ByoipCidr; } +/** + * @internal + */ +export const ModifyVpnTunnelOptionsRequestFilterSensitiveLog = (obj: ModifyVpnTunnelOptionsRequest): any => ({ + ...obj, + ...(obj.TunnelOptions && { TunnelOptions: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const ModifyVpnTunnelOptionsResultFilterSensitiveLog = (obj: ModifyVpnTunnelOptionsResult): any => ({ + ...obj, + ...(obj.VpnConnection && { VpnConnection: VpnConnectionFilterSensitiveLog(obj.VpnConnection) }), +}); + /** * @internal */ diff --git a/clients/client-ec2/src/protocols/Aws_ec2.ts b/clients/client-ec2/src/protocols/Aws_ec2.ts index efdb7b31715e..eff39ce404f2 100644 --- a/clients/client-ec2/src/protocols/Aws_ec2.ts +++ b/clients/client-ec2/src/protocols/Aws_ec2.ts @@ -2295,7 +2295,6 @@ import { CopySnapshotRequest, CopySnapshotResult, CreateCapacityReservationFleetRequest, - CreateCapacityReservationFleetResult, CreateCapacityReservationRequest, CreateCapacityReservationResult, DeviceOptions, @@ -2305,7 +2304,6 @@ import { FailedCapacityReservationFleetCancellationResult, FirewallStatefulRule, FirewallStatelessRule, - FleetCapacityReservation, IamInstanceProfile, IamInstanceProfileAssociation, IamInstanceProfileSpecification, @@ -2382,7 +2380,6 @@ import { VpcPeeringConnectionVpcInfo, } from "../models/models_0"; import { - AttachmentEnaSrdUdpSpecification, AttributeValue, BaselineEbsBandwidthMbps, BaselineEbsBandwidthMbpsRequest, @@ -2403,6 +2400,7 @@ import { ConnectionTrackingSpecification, ConnectionTrackingSpecificationRequest, CpuManufacturer, + CreateCapacityReservationFleetResult, CreateCarrierGatewayRequest, CreateCarrierGatewayResult, CreateClientVpnEndpointRequest, @@ -2495,6 +2493,7 @@ import { ExportToS3TaskSpecification, FederatedAuthenticationRequest, FilterPortRange, + FleetCapacityReservation, FleetLaunchTemplateConfigRequest, FleetLaunchTemplateOverrides, FleetLaunchTemplateOverridesRequest, @@ -2586,7 +2585,6 @@ import { NetworkInsightsAccessScope, NetworkInsightsAccessScopeContent, NetworkInsightsPath, - NetworkInterfaceAssociation, NetworkInterfaceCount, NetworkInterfaceCountRequest, NewDhcpConfiguration, @@ -2617,6 +2615,7 @@ import { } from "../models/models_1"; import { AttachmentEnaSrdSpecification, + AttachmentEnaSrdUdpSpecification, CloudWatchLogOptions, CloudWatchLogOptionsSpecification, ConnectionNotification, @@ -2761,8 +2760,6 @@ import { DeleteLaunchTemplateVersionsResponseSuccessItem, DeleteLaunchTemplateVersionsResult, DeleteLocalGatewayRouteRequest, - DeleteLocalGatewayRouteResult, - DeleteLocalGatewayRouteTableRequest, DnsEntry, DnsOptions, DnsOptionsSpecification, @@ -2774,6 +2771,7 @@ import { Ipv6PrefixSpecification, LastError, NetworkInterface, + NetworkInterfaceAssociation, NetworkInterfaceAttachment, NetworkInterfaceIpv6Address, NetworkInterfacePermission, @@ -2877,6 +2875,8 @@ import { ClientVpnRoute, ConnectionLogResponseOptions, ConversionTask, + DeleteLocalGatewayRouteResult, + DeleteLocalGatewayRouteTableRequest, DeleteLocalGatewayRouteTableResult, DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociationRequest, DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociationResult, @@ -3098,7 +3098,6 @@ import { HostProperties, HostReservation, IdFormat, - Image, ImageAttribute, ImportInstanceTaskDetails, ImportInstanceVolumeDetailItem, @@ -3119,7 +3118,6 @@ import { TargetNetwork, TransitGatewayMulticastDeregisteredGroupMembers, TransitGatewayMulticastDeregisteredGroupSources, - VirtualizationType, } from "../models/models_3"; import { ArchitectureType, @@ -3278,6 +3276,7 @@ import { GpuInfo, HibernationOptions, HistoryRecord, + Image, ImportImageLicenseConfigurationResponse, ImportImageTask, ImportSnapshotTask, @@ -3368,9 +3367,7 @@ import { SpotCapacityRebalance, SpotFleetLaunchSpecification, SpotFleetMonitoring, - SpotFleetRequestConfigData, SpotFleetTagSpecification, - SpotMaintenanceStrategies, SpotPlacement, SupportedAdditionalProcessorFeature, TargetGroup, @@ -3378,6 +3375,7 @@ import { UsageClassType, UserBucketDetails, VCpuInfo, + VirtualizationType, } from "../models/models_4"; import { AssociatedRole, @@ -3625,7 +3623,6 @@ import { GetImageBlockPublicAccessStateResult, GetInstanceMetadataDefaultsRequest, GetInstanceMetadataDefaultsResult, - GetInstanceTpmEkPubRequest, InstanceEventWindowDisassociationRequest, InstanceFamilyCreditSpecification, InstanceMetadataDefaultsResponse, @@ -3639,8 +3636,10 @@ import { RunInstancesMonitoringEnabled, ServiceDetail, SpotFleetRequestConfig, + SpotFleetRequestConfigData, SpotInstanceRequest, SpotInstanceStatus, + SpotMaintenanceStrategies, SpotPrice, StaleIpPermission, StaleSecurityGroup, @@ -3674,6 +3673,7 @@ import { DiskImageDetail, DnsServersOptionsModifyStructure, EbsInstanceBlockDeviceSpecification, + GetInstanceTpmEkPubRequest, GetInstanceTpmEkPubResult, GetInstanceTypesFromInstanceRequirementsRequest, GetInstanceTypesFromInstanceRequirementsResult, @@ -3905,10 +3905,7 @@ import { ModifyVpnConnectionResult, ModifyVpnTunnelCertificateRequest, ModifyVpnTunnelCertificateResult, - ModifyVpnTunnelOptionsRequest, - ModifyVpnTunnelOptionsResult, ModifyVpnTunnelOptionsSpecification, - MonitorInstancesRequest, NetworkInterfaceAttachmentChanges, PeeringConnectionOptions, PeeringConnectionOptionsRequest, @@ -3962,6 +3959,9 @@ import { IpamCidrAuthorizationContext, LaunchTemplateSpecification, LicenseConfigurationRequest, + ModifyVpnTunnelOptionsRequest, + ModifyVpnTunnelOptionsResult, + MonitorInstancesRequest, MonitorInstancesResult, MoveAddressToVpcRequest, MoveAddressToVpcResult, @@ -30370,6 +30370,9 @@ const se_CreateIpamRequest = (input: CreateIpamRequest, context: __SerdeContext) if (input[_Ti] != null) { entries[_Ti] = input[_Ti]; } + if (input[_EPG] != null) { + entries[_EPG] = input[_EPG]; + } return entries; }; @@ -46084,6 +46087,9 @@ const se_ModifyIpamRequest = (input: ModifyIpamRequest, context: __SerdeContext) if (input[_Ti] != null) { entries[_Ti] = input[_Ti]; } + if (input[_EPG] != null) { + entries[_EPG] = input[_EPG]; + } return entries; }; @@ -68960,6 +68966,9 @@ const de_Ipam = (output: any, context: __SerdeContext): Ipam => { if (output[_tie] != null) { contents[_Ti] = __expectString(output[_tie]); } + if (output[_ePG] != null) { + contents[_EPG] = __parseBoolean(output[_ePG]); + } return contents; }; @@ -69147,6 +69156,9 @@ const de_IpamDiscoveredResourceCidr = (output: any, context: __SerdeContext): Ip if (output[_rCe] != null) { contents[_RC] = __expectString(output[_rCe]); } + if (output[_iSpo] != null) { + contents[_ISpo] = __expectString(output[_iSpo]); + } if (output[_rTe] != null) { contents[_RT] = __expectString(output[_rTe]); } @@ -78183,6 +78195,12 @@ const de_SubnetIpv6CidrBlockAssociation = (output: any, context: __SerdeContext) if (output[_iCBS] != null) { contents[_ICBS] = de_SubnetCidrBlockState(output[_iCBS], context); } + if (output[_iAA] != null) { + contents[_IAA] = __expectString(output[_iAA]); + } + if (output[_iSpo] != null) { + contents[_ISpo] = __expectString(output[_iSpo]); + } return contents; }; @@ -81889,6 +81907,12 @@ const de_VpcIpv6CidrBlockAssociation = (output: any, context: __SerdeContext): V if (output[_iPpvo] != null) { contents[_IPpv] = __expectString(output[_iPpvo]); } + if (output[_iAA] != null) { + contents[_IAA] = __expectString(output[_iAA]); + } + if (output[_iSpo] != null) { + contents[_ISpo] = __expectString(output[_iSpo]); + } return contents; }; @@ -83247,6 +83271,7 @@ const _EOIGg = "EgressOnlyInternetGateways"; const _EOS = "EbsOptimizedSupport"; const _EOn = "EnclaveOptions"; const _EP = "ExcludePaths"; +const _EPG = "EnablePrivateGua"; const _EPI = "EnablePrimaryIpv6"; const _EPg = "EgressPackets"; const _ERAOS = "EnableReachabilityAnalyzerOrganizationSharing"; @@ -83448,6 +83473,7 @@ const _Hi = "Hibernate"; const _Ho = "Hosts"; const _I = "Issuer"; const _IA = "Ipv6Addresses"; +const _IAA = "Ipv6AddressAttribute"; const _IAC = "Ipv6AddressCount"; const _IAI = "IncludeAllInstances"; const _IAIn = "InferenceAcceleratorInfo"; @@ -83621,6 +83647,7 @@ const _ISnt = "IntegrateServices"; const _ISp = "Ipv6Support"; const _ISpa = "IpamScope"; const _ISpam = "IpamScopes"; +const _ISpo = "IpSource"; const _ISpv = "Ipv6Supported"; const _IT = "InstanceType"; const _ITA = "InstanceTagAttribute"; @@ -85293,6 +85320,7 @@ const _eOIGS = "egressOnlyInternetGatewaySet"; const _eOS = "ebsOptimizedSupport"; const _eOn = "enclaveOptions"; const _eP = "egressPackets"; +const _ePG = "enablePrivateGua"; const _ePS = "excludePathSet"; const _eRNDAAAAR = "enableResourceNameDnsAAAARecord"; const _eRNDAR = "enableResourceNameDnsARecord"; @@ -85418,6 +85446,7 @@ const _hTo = "hostnameType"; const _hZI = "hostedZoneId"; const _i = "item"; const _iA = "interfaceAssociation"; +const _iAA = "ipv6AddressAttribute"; const _iAC = "ipv6AddressCount"; const _iAI = "inferenceAcceleratorInfo"; const _iAPI = "ipv4AddressesPerInterface"; @@ -85565,6 +85594,7 @@ const _iSns = "instanceSet"; const _iSnst = "instanceState"; const _iSnsta = "instanceStatus"; const _iSp = "ipamSet"; +const _iSpo = "ipSource"; const _iSpv = "ipv6Supported"; const _iSpvu = "ipv6Support"; const _iT = "instanceType"; diff --git a/codegen/sdk-codegen/aws-models/ec2.json b/codegen/sdk-codegen/aws-models/ec2.json index b990105cf6f7..04b653b8e9c2 100644 --- a/codegen/sdk-codegen/aws-models/ec2.json +++ b/codegen/sdk-codegen/aws-models/ec2.json @@ -16145,6 +16145,12 @@ "traits": { "smithy.api#documentation": "

IPAM is offered in a Free Tier and an Advanced Tier. For more information about the features available in each tier and the costs associated with the tiers, see Amazon VPC pricing > IPAM tab.

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

Enable this option to use your own GUA ranges as private IPv6 addresses. This option is disabled by default.

" + } } }, "traits": { @@ -67111,6 +67117,29 @@ } } }, + "com.amazonaws.ec2#IpSource": { + "type": "enum", + "members": { + "amazon": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "amazon" + } + }, + "byoip": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "byoip" + } + }, + "none": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "none" + } + } + } + }, "com.amazonaws.ec2#Ipam": { "type": "structure", "members": { @@ -67241,6 +67270,14 @@ "smithy.api#documentation": "

IPAM is offered in a Free Tier and an Advanced Tier. For more information about the features available in each tier and the costs associated with the tiers, see Amazon VPC pricing > IPAM tab.

", "smithy.api#xmlName": "tier" } + }, + "EnablePrivateGua": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "EnablePrivateGua", + "smithy.api#documentation": "

Enable this option to use your own GUA ranges as private IPv6 addresses. This option is disabled by default.

", + "smithy.api#xmlName": "enablePrivateGua" + } } }, "traits": { @@ -67731,6 +67768,14 @@ "smithy.api#xmlName": "resourceCidr" } }, + "IpSource": { + "target": "com.amazonaws.ec2#IpamResourceCidrIpSource", + "traits": { + "aws.protocols#ec2QueryName": "IpSource", + "smithy.api#documentation": "

The source that allocated the IP address space. byoip or amazon indicates public IP address space allocated by Amazon or space that you have allocated with Bring your own IP (BYOIP). none indicates private space.

", + "smithy.api#xmlName": "ipSource" + } + }, "ResourceType": { "target": "com.amazonaws.ec2#IpamResourceType", "traits": { @@ -69118,6 +69163,29 @@ "smithy.api#documentation": "

The CIDR for an IPAM resource.

" } }, + "com.amazonaws.ec2#IpamResourceCidrIpSource": { + "type": "enum", + "members": { + "amazon": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "amazon" + } + }, + "byoip": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "byoip" + } + }, + "none": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "none" + } + } + } + }, "com.amazonaws.ec2#IpamResourceCidrSet": { "type": "list", "member": { @@ -69924,6 +69992,23 @@ "com.amazonaws.ec2#Ipv6Address": { "type": "string" }, + "com.amazonaws.ec2#Ipv6AddressAttribute": { + "type": "enum", + "members": { + "public": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "public" + } + }, + "private": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "private" + } + } + } + }, "com.amazonaws.ec2#Ipv6AddressList": { "type": "list", "member": { @@ -76465,6 +76550,12 @@ "traits": { "smithy.api#documentation": "

IPAM is offered in a Free Tier and an Advanced Tier. For more information about the features available in each tier and the costs associated with the tiers, see Amazon VPC pricing > IPAM tab.

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

Enable this option to use your own GUA ranges as private IPv6 addresses. This option is disabled by default.

" + } } }, "traits": { @@ -85524,7 +85615,7 @@ "target": "com.amazonaws.ec2#Integer", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The netmask length of the CIDR you would like to allocate to the public IPv4 pool.

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

The netmask length of the CIDR you would like to allocate to the public IPv4 pool. The least specific netmask length you can define is 24.

", "smithy.api#required": {} } }, @@ -98394,6 +98485,22 @@ "smithy.api#documentation": "

The state of the CIDR block.

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

Public IPv6 addresses are those advertised on the internet from Amazon Web Services. Private IP addresses are not and cannot be advertised on the internet from Amazon Web Services.

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

The source that allocated the IP address space. byoip or amazon indicates public IP address space allocated by Amazon or space that you have allocated with Bring your own IP (BYOIP). none indicates private space.

", + "smithy.api#xmlName": "ipSource" + } } }, "traits": { @@ -107247,6 +107354,22 @@ "smithy.api#documentation": "

The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated.

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

Public IPv6 addresses are those advertised on the internet from Amazon Web Services. Private IP addresses are not and cannot be advertised on the internet from Amazon Web Services.

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

The source that allocated the IP address space. byoip or amazon indicates public IP address space allocated by Amazon or space that you have allocated with Bring your own IP (BYOIP). none indicates private space.

", + "smithy.api#xmlName": "ipSource" + } } }, "traits": {