diff --git a/clients/client-ec2/README.md b/clients/client-ec2/README.md index 860dadb6425cd..ae3450a5aa0d0 100644 --- a/clients/client-ec2/README.md +++ b/clients/client-ec2/README.md @@ -396,6 +396,14 @@ AssociateInstanceEventWindow [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/classes/associateinstanceeventwindowcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/associateinstanceeventwindowcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/associateinstanceeventwindowcommandoutput.html) + +
+ +AssociateIpamByoasn + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/classes/associateipambyoasncommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/associateipambyoasncommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/associateipambyoasncommandoutput.html) +
@@ -1916,6 +1924,14 @@ DeprovisionByoipCidr [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/classes/deprovisionbyoipcidrcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/deprovisionbyoipcidrcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/deprovisionbyoipcidrcommandoutput.html) +
+
+ +DeprovisionIpamByoasn + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/classes/deprovisionipambyoasncommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/deprovisionipambyoasncommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/deprovisionipambyoasncommandoutput.html) +
@@ -2412,6 +2428,14 @@ DescribeInternetGateways [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/classes/describeinternetgatewayscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/describeinternetgatewayscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/describeinternetgatewayscommandoutput.html) +
+
+ +DescribeIpamByoasn + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/classes/describeipambyoasncommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/describeipambyoasncommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/describeipambyoasncommandoutput.html) +
@@ -3356,6 +3380,14 @@ DisassociateInstanceEventWindow [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/classes/disassociateinstanceeventwindowcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/disassociateinstanceeventwindowcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/disassociateinstanceeventwindowcommandoutput.html) +
+
+ +DisassociateIpamByoasn + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/classes/disassociateipambyoasncommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/disassociateipambyoasncommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/disassociateipambyoasncommandoutput.html) +
@@ -3740,6 +3772,14 @@ GetIpamDiscoveredAccounts [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/classes/getipamdiscoveredaccountscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/getipamdiscoveredaccountscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/getipamdiscoveredaccountscommandoutput.html) +
+
+ +GetIpamDiscoveredPublicAddresses + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/classes/getipamdiscoveredpublicaddressescommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/getipamdiscoveredpublicaddressescommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/getipamdiscoveredpublicaddressescommandoutput.html) +
@@ -4580,6 +4620,14 @@ ProvisionByoipCidr [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/classes/provisionbyoipcidrcommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/provisionbyoipcidrcommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/provisionbyoipcidrcommandoutput.html) +
+
+ +ProvisionIpamByoasn + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/classes/provisionipambyoasncommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/provisionipambyoasncommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-ec2/interfaces/provisionipambyoasncommandoutput.html) +
diff --git a/clients/client-ec2/src/EC2.ts b/clients/client-ec2/src/EC2.ts index 871b74ecc9714..3aaebedbd5717 100644 --- a/clients/client-ec2/src/EC2.ts +++ b/clients/client-ec2/src/EC2.ts @@ -107,6 +107,11 @@ import { AssociateInstanceEventWindowCommandInput, AssociateInstanceEventWindowCommandOutput, } from "./commands/AssociateInstanceEventWindowCommand"; +import { + AssociateIpamByoasnCommand, + AssociateIpamByoasnCommandInput, + AssociateIpamByoasnCommandOutput, +} from "./commands/AssociateIpamByoasnCommand"; import { AssociateIpamResourceDiscoveryCommand, AssociateIpamResourceDiscoveryCommandInput, @@ -1013,6 +1018,11 @@ import { DeprovisionByoipCidrCommandInput, DeprovisionByoipCidrCommandOutput, } from "./commands/DeprovisionByoipCidrCommand"; +import { + DeprovisionIpamByoasnCommand, + DeprovisionIpamByoasnCommandInput, + DeprovisionIpamByoasnCommandOutput, +} from "./commands/DeprovisionIpamByoasnCommand"; import { DeprovisionIpamPoolCidrCommand, DeprovisionIpamPoolCidrCommandInput, @@ -1323,6 +1333,11 @@ import { DescribeInternetGatewaysCommandInput, DescribeInternetGatewaysCommandOutput, } from "./commands/DescribeInternetGatewaysCommand"; +import { + DescribeIpamByoasnCommand, + DescribeIpamByoasnCommandInput, + DescribeIpamByoasnCommandOutput, +} from "./commands/DescribeIpamByoasnCommand"; import { DescribeIpamPoolsCommand, DescribeIpamPoolsCommandInput, @@ -1913,6 +1928,11 @@ import { DisassociateInstanceEventWindowCommandInput, DisassociateInstanceEventWindowCommandOutput, } from "./commands/DisassociateInstanceEventWindowCommand"; +import { + DisassociateIpamByoasnCommand, + DisassociateIpamByoasnCommandInput, + DisassociateIpamByoasnCommandOutput, +} from "./commands/DisassociateIpamByoasnCommand"; import { DisassociateIpamResourceDiscoveryCommand, DisassociateIpamResourceDiscoveryCommandInput, @@ -2145,6 +2165,11 @@ import { GetIpamDiscoveredAccountsCommandInput, GetIpamDiscoveredAccountsCommandOutput, } from "./commands/GetIpamDiscoveredAccountsCommand"; +import { + GetIpamDiscoveredPublicAddressesCommand, + GetIpamDiscoveredPublicAddressesCommandInput, + GetIpamDiscoveredPublicAddressesCommandOutput, +} from "./commands/GetIpamDiscoveredPublicAddressesCommand"; import { GetIpamDiscoveredResourceCidrsCommand, GetIpamDiscoveredResourceCidrsCommandInput, @@ -2654,6 +2679,11 @@ import { ProvisionByoipCidrCommandInput, ProvisionByoipCidrCommandOutput, } from "./commands/ProvisionByoipCidrCommand"; +import { + ProvisionIpamByoasnCommand, + ProvisionIpamByoasnCommandInput, + ProvisionIpamByoasnCommandOutput, +} from "./commands/ProvisionIpamByoasnCommand"; import { ProvisionIpamPoolCidrCommand, ProvisionIpamPoolCidrCommandInput, @@ -3003,6 +3033,7 @@ const commands = { AssociateEnclaveCertificateIamRoleCommand, AssociateIamInstanceProfileCommand, AssociateInstanceEventWindowCommand, + AssociateIpamByoasnCommand, AssociateIpamResourceDiscoveryCommand, AssociateNatGatewayAddressCommand, AssociateRouteTableCommand, @@ -3193,6 +3224,7 @@ const commands = { DeleteVpnConnectionRouteCommand, DeleteVpnGatewayCommand, DeprovisionByoipCidrCommand, + DeprovisionIpamByoasnCommand, DeprovisionIpamPoolCidrCommand, DeprovisionPublicIpv4PoolCidrCommand, DeregisterImageCommand, @@ -3255,6 +3287,7 @@ const commands = { DescribeInstanceTypeOfferingsCommand, DescribeInstanceTypesCommand, DescribeInternetGatewaysCommand, + DescribeIpamByoasnCommand, DescribeIpamPoolsCommand, DescribeIpamResourceDiscoveriesCommand, DescribeIpamResourceDiscoveryAssociationsCommand, @@ -3373,6 +3406,7 @@ const commands = { DisassociateEnclaveCertificateIamRoleCommand, DisassociateIamInstanceProfileCommand, DisassociateInstanceEventWindowCommand, + DisassociateIpamByoasnCommand, DisassociateIpamResourceDiscoveryCommand, DisassociateNatGatewayAddressCommand, DisassociateRouteTableCommand, @@ -3421,6 +3455,7 @@ const commands = { GetInstanceUefiDataCommand, GetIpamAddressHistoryCommand, GetIpamDiscoveredAccountsCommand, + GetIpamDiscoveredPublicAddressesCommand, GetIpamDiscoveredResourceCidrsCommand, GetIpamPoolAllocationsCommand, GetIpamPoolCidrsCommand, @@ -3526,6 +3561,7 @@ const commands = { MoveAddressToVpcCommand, MoveByoipCidrToIpamCommand, ProvisionByoipCidrCommand, + ProvisionIpamByoasnCommand, ProvisionIpamPoolCidrCommand, ProvisionPublicIpv4PoolCidrCommand, PurchaseCapacityBlockCommand, @@ -3942,6 +3978,23 @@ export interface EC2 { cb: (err: any, data?: AssociateInstanceEventWindowCommandOutput) => void ): void; + /** + * @see {@link AssociateIpamByoasnCommand} + */ + associateIpamByoasn( + args: AssociateIpamByoasnCommandInput, + options?: __HttpHandlerOptions + ): Promise; + associateIpamByoasn( + args: AssociateIpamByoasnCommandInput, + cb: (err: any, data?: AssociateIpamByoasnCommandOutput) => void + ): void; + associateIpamByoasn( + args: AssociateIpamByoasnCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: AssociateIpamByoasnCommandOutput) => void + ): void; + /** * @see {@link AssociateIpamResourceDiscoveryCommand} */ @@ -6998,6 +7051,23 @@ export interface EC2 { cb: (err: any, data?: DeprovisionByoipCidrCommandOutput) => void ): void; + /** + * @see {@link DeprovisionIpamByoasnCommand} + */ + deprovisionIpamByoasn( + args: DeprovisionIpamByoasnCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deprovisionIpamByoasn( + args: DeprovisionIpamByoasnCommandInput, + cb: (err: any, data?: DeprovisionIpamByoasnCommandOutput) => void + ): void; + deprovisionIpamByoasn( + args: DeprovisionIpamByoasnCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeprovisionIpamByoasnCommandOutput) => void + ): void; + /** * @see {@link DeprovisionIpamPoolCidrCommand} */ @@ -8037,6 +8107,23 @@ export interface EC2 { cb: (err: any, data?: DescribeInternetGatewaysCommandOutput) => void ): void; + /** + * @see {@link DescribeIpamByoasnCommand} + */ + describeIpamByoasn( + args: DescribeIpamByoasnCommandInput, + options?: __HttpHandlerOptions + ): Promise; + describeIpamByoasn( + args: DescribeIpamByoasnCommandInput, + cb: (err: any, data?: DescribeIpamByoasnCommandOutput) => void + ): void; + describeIpamByoasn( + args: DescribeIpamByoasnCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeIpamByoasnCommandOutput) => void + ): void; + /** * @see {@link DescribeIpamPoolsCommand} */ @@ -10004,6 +10091,23 @@ export interface EC2 { cb: (err: any, data?: DisassociateInstanceEventWindowCommandOutput) => void ): void; + /** + * @see {@link DisassociateIpamByoasnCommand} + */ + disassociateIpamByoasn( + args: DisassociateIpamByoasnCommandInput, + options?: __HttpHandlerOptions + ): Promise; + disassociateIpamByoasn( + args: DisassociateIpamByoasnCommandInput, + cb: (err: any, data?: DisassociateIpamByoasnCommandOutput) => void + ): void; + disassociateIpamByoasn( + args: DisassociateIpamByoasnCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DisassociateIpamByoasnCommandOutput) => void + ): void; + /** * @see {@link DisassociateIpamResourceDiscoveryCommand} */ @@ -10805,6 +10909,23 @@ export interface EC2 { cb: (err: any, data?: GetIpamDiscoveredAccountsCommandOutput) => void ): void; + /** + * @see {@link GetIpamDiscoveredPublicAddressesCommand} + */ + getIpamDiscoveredPublicAddresses( + args: GetIpamDiscoveredPublicAddressesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + getIpamDiscoveredPublicAddresses( + args: GetIpamDiscoveredPublicAddressesCommandInput, + cb: (err: any, data?: GetIpamDiscoveredPublicAddressesCommandOutput) => void + ): void; + getIpamDiscoveredPublicAddresses( + args: GetIpamDiscoveredPublicAddressesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetIpamDiscoveredPublicAddressesCommandOutput) => void + ): void; + /** * @see {@link GetIpamDiscoveredResourceCidrsCommand} */ @@ -12524,6 +12645,23 @@ export interface EC2 { cb: (err: any, data?: ProvisionByoipCidrCommandOutput) => void ): void; + /** + * @see {@link ProvisionIpamByoasnCommand} + */ + provisionIpamByoasn( + args: ProvisionIpamByoasnCommandInput, + options?: __HttpHandlerOptions + ): Promise; + provisionIpamByoasn( + args: ProvisionIpamByoasnCommandInput, + cb: (err: any, data?: ProvisionIpamByoasnCommandOutput) => void + ): void; + provisionIpamByoasn( + args: ProvisionIpamByoasnCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ProvisionIpamByoasnCommandOutput) => void + ): void; + /** * @see {@link ProvisionIpamPoolCidrCommand} */ diff --git a/clients/client-ec2/src/EC2Client.ts b/clients/client-ec2/src/EC2Client.ts index e85972b3bf312..748b5375ded2b 100644 --- a/clients/client-ec2/src/EC2Client.ts +++ b/clients/client-ec2/src/EC2Client.ts @@ -122,6 +122,10 @@ import { AssociateInstanceEventWindowCommandInput, AssociateInstanceEventWindowCommandOutput, } from "./commands/AssociateInstanceEventWindowCommand"; +import { + AssociateIpamByoasnCommandInput, + AssociateIpamByoasnCommandOutput, +} from "./commands/AssociateIpamByoasnCommand"; import { AssociateIpamResourceDiscoveryCommandInput, AssociateIpamResourceDiscoveryCommandOutput, @@ -720,6 +724,10 @@ import { DeprovisionByoipCidrCommandInput, DeprovisionByoipCidrCommandOutput, } from "./commands/DeprovisionByoipCidrCommand"; +import { + DeprovisionIpamByoasnCommandInput, + DeprovisionIpamByoasnCommandOutput, +} from "./commands/DeprovisionIpamByoasnCommand"; import { DeprovisionIpamPoolCidrCommandInput, DeprovisionIpamPoolCidrCommandOutput, @@ -935,6 +943,7 @@ import { DescribeInternetGatewaysCommandInput, DescribeInternetGatewaysCommandOutput, } from "./commands/DescribeInternetGatewaysCommand"; +import { DescribeIpamByoasnCommandInput, DescribeIpamByoasnCommandOutput } from "./commands/DescribeIpamByoasnCommand"; import { DescribeIpamPoolsCommandInput, DescribeIpamPoolsCommandOutput } from "./commands/DescribeIpamPoolsCommand"; import { DescribeIpamResourceDiscoveriesCommandInput, @@ -1362,6 +1371,10 @@ import { DisassociateInstanceEventWindowCommandInput, DisassociateInstanceEventWindowCommandOutput, } from "./commands/DisassociateInstanceEventWindowCommand"; +import { + DisassociateIpamByoasnCommandInput, + DisassociateIpamByoasnCommandOutput, +} from "./commands/DisassociateIpamByoasnCommand"; import { DisassociateIpamResourceDiscoveryCommandInput, DisassociateIpamResourceDiscoveryCommandOutput, @@ -1536,6 +1549,10 @@ import { GetIpamDiscoveredAccountsCommandInput, GetIpamDiscoveredAccountsCommandOutput, } from "./commands/GetIpamDiscoveredAccountsCommand"; +import { + GetIpamDiscoveredPublicAddressesCommandInput, + GetIpamDiscoveredPublicAddressesCommandOutput, +} from "./commands/GetIpamDiscoveredPublicAddressesCommand"; import { GetIpamDiscoveredResourceCidrsCommandInput, GetIpamDiscoveredResourceCidrsCommandOutput, @@ -1890,6 +1907,10 @@ import { MoveByoipCidrToIpamCommandOutput, } from "./commands/MoveByoipCidrToIpamCommand"; import { ProvisionByoipCidrCommandInput, ProvisionByoipCidrCommandOutput } from "./commands/ProvisionByoipCidrCommand"; +import { + ProvisionIpamByoasnCommandInput, + ProvisionIpamByoasnCommandOutput, +} from "./commands/ProvisionIpamByoasnCommand"; import { ProvisionIpamPoolCidrCommandInput, ProvisionIpamPoolCidrCommandOutput, @@ -2144,6 +2165,7 @@ export type ServiceInputTypes = | AssociateEnclaveCertificateIamRoleCommandInput | AssociateIamInstanceProfileCommandInput | AssociateInstanceEventWindowCommandInput + | AssociateIpamByoasnCommandInput | AssociateIpamResourceDiscoveryCommandInput | AssociateNatGatewayAddressCommandInput | AssociateRouteTableCommandInput @@ -2334,6 +2356,7 @@ export type ServiceInputTypes = | DeleteVpnConnectionRouteCommandInput | DeleteVpnGatewayCommandInput | DeprovisionByoipCidrCommandInput + | DeprovisionIpamByoasnCommandInput | DeprovisionIpamPoolCidrCommandInput | DeprovisionPublicIpv4PoolCidrCommandInput | DeregisterImageCommandInput @@ -2396,6 +2419,7 @@ export type ServiceInputTypes = | DescribeInstanceTypesCommandInput | DescribeInstancesCommandInput | DescribeInternetGatewaysCommandInput + | DescribeIpamByoasnCommandInput | DescribeIpamPoolsCommandInput | DescribeIpamResourceDiscoveriesCommandInput | DescribeIpamResourceDiscoveryAssociationsCommandInput @@ -2514,6 +2538,7 @@ export type ServiceInputTypes = | DisassociateEnclaveCertificateIamRoleCommandInput | DisassociateIamInstanceProfileCommandInput | DisassociateInstanceEventWindowCommandInput + | DisassociateIpamByoasnCommandInput | DisassociateIpamResourceDiscoveryCommandInput | DisassociateNatGatewayAddressCommandInput | DisassociateRouteTableCommandInput @@ -2562,6 +2587,7 @@ export type ServiceInputTypes = | GetInstanceUefiDataCommandInput | GetIpamAddressHistoryCommandInput | GetIpamDiscoveredAccountsCommandInput + | GetIpamDiscoveredPublicAddressesCommandInput | GetIpamDiscoveredResourceCidrsCommandInput | GetIpamPoolAllocationsCommandInput | GetIpamPoolCidrsCommandInput @@ -2667,6 +2693,7 @@ export type ServiceInputTypes = | MoveAddressToVpcCommandInput | MoveByoipCidrToIpamCommandInput | ProvisionByoipCidrCommandInput + | ProvisionIpamByoasnCommandInput | ProvisionIpamPoolCidrCommandInput | ProvisionPublicIpv4PoolCidrCommandInput | PurchaseCapacityBlockCommandInput @@ -2758,6 +2785,7 @@ export type ServiceOutputTypes = | AssociateEnclaveCertificateIamRoleCommandOutput | AssociateIamInstanceProfileCommandOutput | AssociateInstanceEventWindowCommandOutput + | AssociateIpamByoasnCommandOutput | AssociateIpamResourceDiscoveryCommandOutput | AssociateNatGatewayAddressCommandOutput | AssociateRouteTableCommandOutput @@ -2948,6 +2976,7 @@ export type ServiceOutputTypes = | DeleteVpnConnectionRouteCommandOutput | DeleteVpnGatewayCommandOutput | DeprovisionByoipCidrCommandOutput + | DeprovisionIpamByoasnCommandOutput | DeprovisionIpamPoolCidrCommandOutput | DeprovisionPublicIpv4PoolCidrCommandOutput | DeregisterImageCommandOutput @@ -3010,6 +3039,7 @@ export type ServiceOutputTypes = | DescribeInstanceTypesCommandOutput | DescribeInstancesCommandOutput | DescribeInternetGatewaysCommandOutput + | DescribeIpamByoasnCommandOutput | DescribeIpamPoolsCommandOutput | DescribeIpamResourceDiscoveriesCommandOutput | DescribeIpamResourceDiscoveryAssociationsCommandOutput @@ -3128,6 +3158,7 @@ export type ServiceOutputTypes = | DisassociateEnclaveCertificateIamRoleCommandOutput | DisassociateIamInstanceProfileCommandOutput | DisassociateInstanceEventWindowCommandOutput + | DisassociateIpamByoasnCommandOutput | DisassociateIpamResourceDiscoveryCommandOutput | DisassociateNatGatewayAddressCommandOutput | DisassociateRouteTableCommandOutput @@ -3176,6 +3207,7 @@ export type ServiceOutputTypes = | GetInstanceUefiDataCommandOutput | GetIpamAddressHistoryCommandOutput | GetIpamDiscoveredAccountsCommandOutput + | GetIpamDiscoveredPublicAddressesCommandOutput | GetIpamDiscoveredResourceCidrsCommandOutput | GetIpamPoolAllocationsCommandOutput | GetIpamPoolCidrsCommandOutput @@ -3281,6 +3313,7 @@ export type ServiceOutputTypes = | MoveAddressToVpcCommandOutput | MoveByoipCidrToIpamCommandOutput | ProvisionByoipCidrCommandOutput + | ProvisionIpamByoasnCommandOutput | ProvisionIpamPoolCidrCommandOutput | ProvisionPublicIpv4PoolCidrCommandOutput | PurchaseCapacityBlockCommandOutput diff --git a/clients/client-ec2/src/commands/AdvertiseByoipCidrCommand.ts b/clients/client-ec2/src/commands/AdvertiseByoipCidrCommand.ts index 4766fbb0feaf3..dba0f2a88c53a 100644 --- a/clients/client-ec2/src/commands/AdvertiseByoipCidrCommand.ts +++ b/clients/client-ec2/src/commands/AdvertiseByoipCidrCommand.ts @@ -56,6 +56,7 @@ export interface AdvertiseByoipCidrCommandOutput extends AdvertiseByoipCidrResul * const client = new EC2Client(config); * const input = { // AdvertiseByoipCidrRequest * Cidr: "STRING_VALUE", // required + * Asn: "STRING_VALUE", * DryRun: true || false, * }; * const command = new AdvertiseByoipCidrCommand(input); @@ -64,6 +65,14 @@ export interface AdvertiseByoipCidrCommandOutput extends AdvertiseByoipCidrResul * // ByoipCidr: { // ByoipCidr * // Cidr: "STRING_VALUE", * // Description: "STRING_VALUE", + * // AsnAssociations: [ // AsnAssociationSet + * // { // AsnAssociation + * // Asn: "STRING_VALUE", + * // Cidr: "STRING_VALUE", + * // StatusMessage: "STRING_VALUE", + * // State: "disassociated" || "failed-disassociation" || "failed-association" || "pending-disassociation" || "pending-association" || "associated", + * // }, + * // ], * // StatusMessage: "STRING_VALUE", * // State: "advertised" || "deprovisioned" || "failed-deprovision" || "failed-provision" || "pending-deprovision" || "pending-provision" || "provisioned" || "provisioned-not-publicly-advertisable", * // }, diff --git a/clients/client-ec2/src/commands/AllocateIpamPoolCidrCommand.ts b/clients/client-ec2/src/commands/AllocateIpamPoolCidrCommand.ts index 50cd48a661b15..f1357dab18dbc 100644 --- a/clients/client-ec2/src/commands/AllocateIpamPoolCidrCommand.ts +++ b/clients/client-ec2/src/commands/AllocateIpamPoolCidrCommand.ts @@ -56,6 +56,9 @@ export interface AllocateIpamPoolCidrCommandOutput extends AllocateIpamPoolCidrR * ClientToken: "STRING_VALUE", * Description: "STRING_VALUE", * PreviewNextCidr: true || false, + * AllowedCidrs: [ // IpamPoolAllocationAllowedCidrs + * "STRING_VALUE", + * ], * DisallowedCidrs: [ // IpamPoolAllocationDisallowedCidrs * "STRING_VALUE", * ], @@ -68,7 +71,7 @@ export interface AllocateIpamPoolCidrCommandOutput extends AllocateIpamPoolCidrR * // IpamPoolAllocationId: "STRING_VALUE", * // Description: "STRING_VALUE", * // ResourceId: "STRING_VALUE", - * // ResourceType: "ipam-pool" || "vpc" || "ec2-public-ipv4-pool" || "custom", + * // ResourceType: "ipam-pool" || "vpc" || "ec2-public-ipv4-pool" || "custom" || "subnet", * // ResourceRegion: "STRING_VALUE", * // ResourceOwner: "STRING_VALUE", * // }, diff --git a/clients/client-ec2/src/commands/AssociateIpamByoasnCommand.ts b/clients/client-ec2/src/commands/AssociateIpamByoasnCommand.ts new file mode 100644 index 0000000000000..77cad7612c19f --- /dev/null +++ b/clients/client-ec2/src/commands/AssociateIpamByoasnCommand.ts @@ -0,0 +1,149 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { AssociateIpamByoasnRequest, AssociateIpamByoasnResult } from "../models/models_0"; +import { de_AssociateIpamByoasnCommand, se_AssociateIpamByoasnCommand } from "../protocols/Aws_ec2"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link AssociateIpamByoasnCommand}. + */ +export interface AssociateIpamByoasnCommandInput extends AssociateIpamByoasnRequest {} +/** + * @public + * + * The output of {@link AssociateIpamByoasnCommand}. + */ +export interface AssociateIpamByoasnCommandOutput extends AssociateIpamByoasnResult, __MetadataBearer {} + +/** + * @public + *

Associates your Autonomous System Number (ASN) with a BYOIP CIDR that you own in the same Amazon Web Services Region. + * For more information, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

+ *

After the association succeeds, the ASN is eligible for + * advertisement. You can view the association with DescribeByoipCidrs. You can advertise the CIDR with AdvertiseByoipCidr.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, AssociateIpamByoasnCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, AssociateIpamByoasnCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const input = { // AssociateIpamByoasnRequest + * DryRun: true || false, + * Asn: "STRING_VALUE", // required + * Cidr: "STRING_VALUE", // required + * }; + * const command = new AssociateIpamByoasnCommand(input); + * const response = await client.send(command); + * // { // AssociateIpamByoasnResult + * // AsnAssociation: { // AsnAssociation + * // Asn: "STRING_VALUE", + * // Cidr: "STRING_VALUE", + * // StatusMessage: "STRING_VALUE", + * // State: "disassociated" || "failed-disassociation" || "failed-association" || "pending-disassociation" || "pending-association" || "associated", + * // }, + * // }; + * + * ``` + * + * @param AssociateIpamByoasnCommandInput - {@link AssociateIpamByoasnCommandInput} + * @returns {@link AssociateIpamByoasnCommandOutput} + * @see {@link AssociateIpamByoasnCommandInput} for command's `input` shape. + * @see {@link AssociateIpamByoasnCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + * @throws {@link EC2ServiceException} + *

Base exception class for all service exceptions from EC2 service.

+ * + */ +export class AssociateIpamByoasnCommand extends $Command< + AssociateIpamByoasnCommandInput, + AssociateIpamByoasnCommandOutput, + EC2ClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: AssociateIpamByoasnCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EC2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, AssociateIpamByoasnCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EC2Client"; + const commandName = "AssociateIpamByoasnCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AmazonEC2", + operation: "AssociateIpamByoasn", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: AssociateIpamByoasnCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_AssociateIpamByoasnCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_AssociateIpamByoasnCommand(output, context); + } +} diff --git a/clients/client-ec2/src/commands/AssociateSubnetCidrBlockCommand.ts b/clients/client-ec2/src/commands/AssociateSubnetCidrBlockCommand.ts index 958a1809583b8..28c0898749e38 100644 --- a/clients/client-ec2/src/commands/AssociateSubnetCidrBlockCommand.ts +++ b/clients/client-ec2/src/commands/AssociateSubnetCidrBlockCommand.ts @@ -38,7 +38,7 @@ export interface AssociateSubnetCidrBlockCommandOutput extends AssociateSubnetCi /** * @public *

Associates a CIDR block with your subnet. You can only associate a single IPv6 CIDR - * block with your subnet. An IPv6 CIDR block must have a prefix length of /64.

+ * block with your subnet.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -46,8 +46,10 @@ export interface AssociateSubnetCidrBlockCommandOutput extends AssociateSubnetCi * // const { EC2Client, AssociateSubnetCidrBlockCommand } = require("@aws-sdk/client-ec2"); // CommonJS import * const client = new EC2Client(config); * const input = { // AssociateSubnetCidrBlockRequest - * Ipv6CidrBlock: "STRING_VALUE", // required + * Ipv6CidrBlock: "STRING_VALUE", * SubnetId: "STRING_VALUE", // required + * Ipv6IpamPoolId: "STRING_VALUE", + * Ipv6NetmaskLength: Number("int"), * }; * const command = new AssociateSubnetCidrBlockCommand(input); * const response = await client.send(command); diff --git a/clients/client-ec2/src/commands/AssociateTrunkInterfaceCommand.ts b/clients/client-ec2/src/commands/AssociateTrunkInterfaceCommand.ts index a6424ecff7a35..baa0005d682db 100644 --- a/clients/client-ec2/src/commands/AssociateTrunkInterfaceCommand.ts +++ b/clients/client-ec2/src/commands/AssociateTrunkInterfaceCommand.ts @@ -37,11 +37,7 @@ export interface AssociateTrunkInterfaceCommandOutput extends AssociateTrunkInte /** * @public - * - *

This API action is currently in limited preview only. - * If you are interested in using this feature, contact your account manager.

- *
- *

Associates a branch network interface with a trunk network interface.

+ *

Associates a branch network interface with a trunk network interface.

*

Before you create the association, run the create-network-interface command and set * --interface-type to trunk. You must also create a network interface for each branch network interface that you want to associate with the trunk network interface.

* @example diff --git a/clients/client-ec2/src/commands/AssociateVpcCidrBlockCommand.ts b/clients/client-ec2/src/commands/AssociateVpcCidrBlockCommand.ts index 51ccbf44ec0ab..20f2dc1d840fd 100644 --- a/clients/client-ec2/src/commands/AssociateVpcCidrBlockCommand.ts +++ b/clients/client-ec2/src/commands/AssociateVpcCidrBlockCommand.ts @@ -39,8 +39,7 @@ export interface AssociateVpcCidrBlockCommandOutput extends AssociateVpcCidrBloc * @public *

Associates a CIDR block with your VPC. You can associate a secondary IPv4 CIDR block, * an Amazon-provided IPv6 CIDR block, or an IPv6 CIDR block from an IPv6 address pool that - * you provisioned through bring your own IP addresses (BYOIP). The IPv6 CIDR block size is fixed - * at /56.

+ * you provisioned through bring your own IP addresses (BYOIP).

*

You must specify one of the following in the request: an IPv4 CIDR block, an IPv6 * pool, or an Amazon-provided IPv6 CIDR block.

*

For more information about associating CIDR blocks with your VPC and applicable diff --git a/clients/client-ec2/src/commands/CreateCarrierGatewayCommand.ts b/clients/client-ec2/src/commands/CreateCarrierGatewayCommand.ts index faf37b76c5ec4..97aa71302c196 100644 --- a/clients/client-ec2/src/commands/CreateCarrierGatewayCommand.ts +++ b/clients/client-ec2/src/commands/CreateCarrierGatewayCommand.ts @@ -15,7 +15,8 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { CreateCarrierGatewayRequest, CreateCarrierGatewayResult } from "../models/models_0"; +import { CreateCarrierGatewayRequest } from "../models/models_0"; +import { CreateCarrierGatewayResult } from "../models/models_1"; import { de_CreateCarrierGatewayCommand, se_CreateCarrierGatewayCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/CreateIpamCommand.ts b/clients/client-ec2/src/commands/CreateIpamCommand.ts index 8a4fbf812e9d3..373737dc818c1 100644 --- a/clients/client-ec2/src/commands/CreateIpamCommand.ts +++ b/clients/client-ec2/src/commands/CreateIpamCommand.ts @@ -69,6 +69,7 @@ export interface CreateIpamCommandOutput extends CreateIpamResult, __MetadataBea * }, * ], * ClientToken: "STRING_VALUE", + * Tier: "free" || "advanced", * }; * const command = new CreateIpamCommand(input); * const response = await client.send(command); @@ -97,6 +98,8 @@ export interface CreateIpamCommandOutput extends CreateIpamResult, __MetadataBea * // DefaultResourceDiscoveryId: "STRING_VALUE", * // DefaultResourceDiscoveryAssociationId: "STRING_VALUE", * // ResourceDiscoveryAssociationCount: Number("int"), + * // StateMessage: "STRING_VALUE", + * // Tier: "free" || "advanced", * // }, * // }; * diff --git a/clients/client-ec2/src/commands/CreateIpamPoolCommand.ts b/clients/client-ec2/src/commands/CreateIpamPoolCommand.ts index 258af916ea4d6..e933b8fd85219 100644 --- a/clients/client-ec2/src/commands/CreateIpamPoolCommand.ts +++ b/clients/client-ec2/src/commands/CreateIpamPoolCommand.ts @@ -78,6 +78,12 @@ export interface CreateIpamPoolCommandOutput extends CreateIpamPoolResult, __Met * ClientToken: "STRING_VALUE", * AwsService: "ec2", * PublicIpSource: "amazon" || "byoip", + * SourceResource: { // IpamPoolSourceResourceRequest + * ResourceId: "STRING_VALUE", + * ResourceType: "vpc", + * ResourceRegion: "STRING_VALUE", + * ResourceOwner: "STRING_VALUE", + * }, * }; * const command = new CreateIpamPoolCommand(input); * const response = await client.send(command); @@ -116,6 +122,12 @@ export interface CreateIpamPoolCommandOutput extends CreateIpamPoolResult, __Met * // ], * // AwsService: "ec2", * // PublicIpSource: "amazon" || "byoip", + * // SourceResource: { // IpamPoolSourceResource + * // ResourceId: "STRING_VALUE", + * // ResourceType: "vpc", + * // ResourceRegion: "STRING_VALUE", + * // ResourceOwner: "STRING_VALUE", + * // }, * // }, * // }; * diff --git a/clients/client-ec2/src/commands/CreateLaunchTemplateCommand.ts b/clients/client-ec2/src/commands/CreateLaunchTemplateCommand.ts index cb1d6d30a1dbb..23106ba559aa3 100644 --- a/clients/client-ec2/src/commands/CreateLaunchTemplateCommand.ts +++ b/clients/client-ec2/src/commands/CreateLaunchTemplateCommand.ts @@ -133,6 +133,11 @@ export interface CreateLaunchTemplateCommandOutput extends CreateLaunchTemplateR * EnaSrdUdpEnabled: true || false, * }, * }, + * ConnectionTrackingSpecification: { // ConnectionTrackingSpecificationRequest + * TcpEstablishedTimeout: Number("int"), + * UdpStreamTimeout: Number("int"), + * UdpTimeout: Number("int"), + * }, * }, * ], * ImageId: "STRING_VALUE", diff --git a/clients/client-ec2/src/commands/CreateLaunchTemplateVersionCommand.ts b/clients/client-ec2/src/commands/CreateLaunchTemplateVersionCommand.ts index 37d5f1f3d56e4..fa2226e196895 100644 --- a/clients/client-ec2/src/commands/CreateLaunchTemplateVersionCommand.ts +++ b/clients/client-ec2/src/commands/CreateLaunchTemplateVersionCommand.ts @@ -135,6 +135,11 @@ export interface CreateLaunchTemplateVersionCommandOutput extends CreateLaunchTe * EnaSrdUdpEnabled: true || false, * }, * }, + * ConnectionTrackingSpecification: { // ConnectionTrackingSpecificationRequest + * TcpEstablishedTimeout: Number("int"), + * UdpStreamTimeout: Number("int"), + * UdpTimeout: Number("int"), + * }, * }, * ], * ImageId: "STRING_VALUE", @@ -392,6 +397,11 @@ export interface CreateLaunchTemplateVersionCommandOutput extends CreateLaunchTe * // EnaSrdUdpEnabled: true || false, * // }, * // }, + * // ConnectionTrackingSpecification: { // ConnectionTrackingSpecification + * // TcpEstablishedTimeout: Number("int"), + * // UdpTimeout: Number("int"), + * // UdpStreamTimeout: Number("int"), + * // }, * // }, * // ], * // ImageId: "STRING_VALUE", diff --git a/clients/client-ec2/src/commands/CreateNetworkInterfaceCommand.ts b/clients/client-ec2/src/commands/CreateNetworkInterfaceCommand.ts index a2a02479c26f8..3f4f803cccfbb 100644 --- a/clients/client-ec2/src/commands/CreateNetworkInterfaceCommand.ts +++ b/clients/client-ec2/src/commands/CreateNetworkInterfaceCommand.ts @@ -15,7 +15,8 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { CreateNetworkInterfaceRequest, CreateNetworkInterfaceResult } from "../models/models_1"; +import { CreateNetworkInterfaceRequest } from "../models/models_1"; +import { CreateNetworkInterfaceResult } from "../models/models_2"; import { de_CreateNetworkInterfaceCommand, se_CreateNetworkInterfaceCommand } from "../protocols/Aws_ec2"; /** @@ -97,6 +98,11 @@ export interface CreateNetworkInterfaceCommandOutput extends CreateNetworkInterf * ], * ClientToken: "STRING_VALUE", * EnablePrimaryIpv6: true || false, + * ConnectionTrackingSpecification: { // ConnectionTrackingSpecificationRequest + * TcpEstablishedTimeout: Number("int"), + * UdpStreamTimeout: Number("int"), + * UdpTimeout: Number("int"), + * }, * }; * const command = new CreateNetworkInterfaceCommand(input); * const response = await client.send(command); @@ -128,6 +134,11 @@ export interface CreateNetworkInterfaceCommandOutput extends CreateNetworkInterf * // }, * // }, * // AvailabilityZone: "STRING_VALUE", + * // ConnectionTrackingConfiguration: { // ConnectionTrackingConfiguration + * // TcpEstablishedTimeout: Number("int"), + * // UdpStreamTimeout: Number("int"), + * // UdpTimeout: Number("int"), + * // }, * // Description: "STRING_VALUE", * // Groups: [ // GroupIdentifierList * // { // GroupIdentifier diff --git a/clients/client-ec2/src/commands/CreateNetworkInterfacePermissionCommand.ts b/clients/client-ec2/src/commands/CreateNetworkInterfacePermissionCommand.ts index f28ba7c9af407..793eaad62d6bd 100644 --- a/clients/client-ec2/src/commands/CreateNetworkInterfacePermissionCommand.ts +++ b/clients/client-ec2/src/commands/CreateNetworkInterfacePermissionCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { CreateNetworkInterfacePermissionRequest, CreateNetworkInterfacePermissionResult } from "../models/models_1"; +import { CreateNetworkInterfacePermissionRequest, CreateNetworkInterfacePermissionResult } from "../models/models_2"; import { de_CreateNetworkInterfacePermissionCommand, se_CreateNetworkInterfacePermissionCommand, diff --git a/clients/client-ec2/src/commands/CreateSubnetCommand.ts b/clients/client-ec2/src/commands/CreateSubnetCommand.ts index c922e33580446..c10143a73b669 100644 --- a/clients/client-ec2/src/commands/CreateSubnetCommand.ts +++ b/clients/client-ec2/src/commands/CreateSubnetCommand.ts @@ -46,8 +46,8 @@ export interface CreateSubnetCommandOutput extends CreateSubnetResult, __Metadat *

The allowed size for an IPv4 subnet is between a /28 netmask (16 IP addresses) and * a /16 netmask (65,536 IP addresses). Amazon Web Services reserves both the first four and * the last IPv4 address in each subnet's CIDR block. They're not available for your use.

- *

If you've associated an IPv6 CIDR block with your VPC, you can associate an IPv6 CIDR block - * with a subnet when you create it. The allowed block size for an IPv6 subnet is a /64 netmask.

+ *

If you've associated an IPv6 CIDR block with your VPC, you can associate an IPv6 CIDR + * block with a subnet when you create it.

*

If you add more than one subnet to a VPC, they're set up in a star topology with a * logical router in the middle.

*

When you stop an instance in a subnet, it retains its private IPv4 address. It's @@ -80,6 +80,10 @@ export interface CreateSubnetCommandOutput extends CreateSubnetResult, __Metadat * VpcId: "STRING_VALUE", // required * DryRun: true || false, * Ipv6Native: true || false, + * Ipv4IpamPoolId: "STRING_VALUE", + * Ipv4NetmaskLength: Number("int"), + * Ipv6IpamPoolId: "STRING_VALUE", + * Ipv6NetmaskLength: Number("int"), * }; * const command = new CreateSubnetCommand(input); * const response = await client.send(command); diff --git a/clients/client-ec2/src/commands/CreateVpcCommand.ts b/clients/client-ec2/src/commands/CreateVpcCommand.ts index e5135ae1fd0f6..1a8c505a29196 100644 --- a/clients/client-ec2/src/commands/CreateVpcCommand.ts +++ b/clients/client-ec2/src/commands/CreateVpcCommand.ts @@ -39,9 +39,10 @@ export interface CreateVpcCommandOutput extends CreateVpcResult, __MetadataBeare * @public *

Creates a VPC with the specified CIDR blocks. For more information, see IP addressing for your VPCs and subnets in the * Amazon VPC User Guide.

- *

You can optionally request an IPv6 CIDR block for the VPC. You can request an Amazon-provided - * IPv6 CIDR block from Amazon's pool of IPv6 addresses, or an IPv6 CIDR block from an IPv6 address - * pool that you provisioned through bring your own IP addresses (BYOIP).

+ *

You can optionally request an IPv6 CIDR block for the VPC. You can request an + * Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses or an IPv6 CIDR + * block from an IPv6 address pool that you provisioned through bring your own IP addresses + * (BYOIP).

*

By default, each instance that you launch in the VPC has the default DHCP options, which * include only a default DNS server that we provide (AmazonProvidedDNS). For more * information, see DHCP option sets in the Amazon VPC User Guide.

diff --git a/clients/client-ec2/src/commands/DeleteIpamCommand.ts b/clients/client-ec2/src/commands/DeleteIpamCommand.ts index 3679c7102ad90..7223d99d5f049 100644 --- a/clients/client-ec2/src/commands/DeleteIpamCommand.ts +++ b/clients/client-ec2/src/commands/DeleteIpamCommand.ts @@ -78,6 +78,8 @@ export interface DeleteIpamCommandOutput extends DeleteIpamResult, __MetadataBea * // DefaultResourceDiscoveryId: "STRING_VALUE", * // DefaultResourceDiscoveryAssociationId: "STRING_VALUE", * // ResourceDiscoveryAssociationCount: Number("int"), + * // StateMessage: "STRING_VALUE", + * // Tier: "free" || "advanced", * // }, * // }; * diff --git a/clients/client-ec2/src/commands/DeleteIpamPoolCommand.ts b/clients/client-ec2/src/commands/DeleteIpamPoolCommand.ts index da80604ae3e46..f51d655aa540b 100644 --- a/clients/client-ec2/src/commands/DeleteIpamPoolCommand.ts +++ b/clients/client-ec2/src/commands/DeleteIpamPoolCommand.ts @@ -54,6 +54,7 @@ export interface DeleteIpamPoolCommandOutput extends DeleteIpamPoolResult, __Met * const input = { // DeleteIpamPoolRequest * DryRun: true || false, * IpamPoolId: "STRING_VALUE", // required + * Cascade: true || false, * }; * const command = new DeleteIpamPoolCommand(input); * const response = await client.send(command); @@ -92,6 +93,12 @@ export interface DeleteIpamPoolCommandOutput extends DeleteIpamPoolResult, __Met * // ], * // AwsService: "ec2", * // PublicIpSource: "amazon" || "byoip", + * // SourceResource: { // IpamPoolSourceResource + * // ResourceId: "STRING_VALUE", + * // ResourceType: "vpc", + * // ResourceRegion: "STRING_VALUE", + * // ResourceOwner: "STRING_VALUE", + * // }, * // }, * // }; * diff --git a/clients/client-ec2/src/commands/DeleteNatGatewayCommand.ts b/clients/client-ec2/src/commands/DeleteNatGatewayCommand.ts index d0fdca8493cf7..95653995e6a83 100644 --- a/clients/client-ec2/src/commands/DeleteNatGatewayCommand.ts +++ b/clients/client-ec2/src/commands/DeleteNatGatewayCommand.ts @@ -15,7 +15,8 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DeleteNatGatewayRequest, DeleteNatGatewayResult } from "../models/models_2"; +import { DeleteNatGatewayRequest } from "../models/models_2"; +import { DeleteNatGatewayResult } from "../models/models_3"; import { de_DeleteNatGatewayCommand, se_DeleteNatGatewayCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DeleteNetworkAclCommand.ts b/clients/client-ec2/src/commands/DeleteNetworkAclCommand.ts index 8928d8cf6cecd..7cfa358193ac1 100644 --- a/clients/client-ec2/src/commands/DeleteNetworkAclCommand.ts +++ b/clients/client-ec2/src/commands/DeleteNetworkAclCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DeleteNetworkAclRequest } from "../models/models_2"; +import { DeleteNetworkAclRequest } from "../models/models_3"; import { de_DeleteNetworkAclCommand, se_DeleteNetworkAclCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DeleteNetworkAclEntryCommand.ts b/clients/client-ec2/src/commands/DeleteNetworkAclEntryCommand.ts index 1d272486b8534..1028c54ba754b 100644 --- a/clients/client-ec2/src/commands/DeleteNetworkAclEntryCommand.ts +++ b/clients/client-ec2/src/commands/DeleteNetworkAclEntryCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DeleteNetworkAclEntryRequest } from "../models/models_2"; +import { DeleteNetworkAclEntryRequest } from "../models/models_3"; import { de_DeleteNetworkAclEntryCommand, se_DeleteNetworkAclEntryCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DeleteNetworkInsightsAccessScopeAnalysisCommand.ts b/clients/client-ec2/src/commands/DeleteNetworkInsightsAccessScopeAnalysisCommand.ts index 7c93ab3f952b0..8885cf15afd13 100644 --- a/clients/client-ec2/src/commands/DeleteNetworkInsightsAccessScopeAnalysisCommand.ts +++ b/clients/client-ec2/src/commands/DeleteNetworkInsightsAccessScopeAnalysisCommand.ts @@ -18,7 +18,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { DeleteNetworkInsightsAccessScopeAnalysisRequest, DeleteNetworkInsightsAccessScopeAnalysisResult, -} from "../models/models_2"; +} from "../models/models_3"; import { de_DeleteNetworkInsightsAccessScopeAnalysisCommand, se_DeleteNetworkInsightsAccessScopeAnalysisCommand, diff --git a/clients/client-ec2/src/commands/DeleteNetworkInsightsAccessScopeCommand.ts b/clients/client-ec2/src/commands/DeleteNetworkInsightsAccessScopeCommand.ts index 370ded497d4ca..1a927a5f35515 100644 --- a/clients/client-ec2/src/commands/DeleteNetworkInsightsAccessScopeCommand.ts +++ b/clients/client-ec2/src/commands/DeleteNetworkInsightsAccessScopeCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DeleteNetworkInsightsAccessScopeRequest, DeleteNetworkInsightsAccessScopeResult } from "../models/models_2"; +import { DeleteNetworkInsightsAccessScopeRequest, DeleteNetworkInsightsAccessScopeResult } from "../models/models_3"; import { de_DeleteNetworkInsightsAccessScopeCommand, se_DeleteNetworkInsightsAccessScopeCommand, diff --git a/clients/client-ec2/src/commands/DeleteNetworkInsightsAnalysisCommand.ts b/clients/client-ec2/src/commands/DeleteNetworkInsightsAnalysisCommand.ts index 7c8eb9ad8596a..cae20de39d280 100644 --- a/clients/client-ec2/src/commands/DeleteNetworkInsightsAnalysisCommand.ts +++ b/clients/client-ec2/src/commands/DeleteNetworkInsightsAnalysisCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DeleteNetworkInsightsAnalysisRequest, DeleteNetworkInsightsAnalysisResult } from "../models/models_2"; +import { DeleteNetworkInsightsAnalysisRequest, DeleteNetworkInsightsAnalysisResult } from "../models/models_3"; import { de_DeleteNetworkInsightsAnalysisCommand, se_DeleteNetworkInsightsAnalysisCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DeleteNetworkInsightsPathCommand.ts b/clients/client-ec2/src/commands/DeleteNetworkInsightsPathCommand.ts index dc36145951c1b..b5039aad489ba 100644 --- a/clients/client-ec2/src/commands/DeleteNetworkInsightsPathCommand.ts +++ b/clients/client-ec2/src/commands/DeleteNetworkInsightsPathCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DeleteNetworkInsightsPathRequest, DeleteNetworkInsightsPathResult } from "../models/models_2"; +import { DeleteNetworkInsightsPathRequest, DeleteNetworkInsightsPathResult } from "../models/models_3"; import { de_DeleteNetworkInsightsPathCommand, se_DeleteNetworkInsightsPathCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DeprovisionByoipCidrCommand.ts b/clients/client-ec2/src/commands/DeprovisionByoipCidrCommand.ts index 2f6d1c0304f17..2d4880b167e20 100644 --- a/clients/client-ec2/src/commands/DeprovisionByoipCidrCommand.ts +++ b/clients/client-ec2/src/commands/DeprovisionByoipCidrCommand.ts @@ -57,6 +57,14 @@ export interface DeprovisionByoipCidrCommandOutput extends DeprovisionByoipCidrR * // ByoipCidr: { // ByoipCidr * // Cidr: "STRING_VALUE", * // Description: "STRING_VALUE", + * // AsnAssociations: [ // AsnAssociationSet + * // { // AsnAssociation + * // Asn: "STRING_VALUE", + * // Cidr: "STRING_VALUE", + * // StatusMessage: "STRING_VALUE", + * // State: "disassociated" || "failed-disassociation" || "failed-association" || "pending-disassociation" || "pending-association" || "associated", + * // }, + * // ], * // StatusMessage: "STRING_VALUE", * // State: "advertised" || "deprovisioned" || "failed-deprovision" || "failed-provision" || "pending-deprovision" || "pending-provision" || "provisioned" || "provisioned-not-publicly-advertisable", * // }, diff --git a/clients/client-ec2/src/commands/DeprovisionIpamByoasnCommand.ts b/clients/client-ec2/src/commands/DeprovisionIpamByoasnCommand.ts new file mode 100644 index 0000000000000..a4606e388c56b --- /dev/null +++ b/clients/client-ec2/src/commands/DeprovisionIpamByoasnCommand.ts @@ -0,0 +1,147 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { DeprovisionIpamByoasnRequest, DeprovisionIpamByoasnResult } from "../models/models_3"; +import { de_DeprovisionIpamByoasnCommand, se_DeprovisionIpamByoasnCommand } from "../protocols/Aws_ec2"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link DeprovisionIpamByoasnCommand}. + */ +export interface DeprovisionIpamByoasnCommandInput extends DeprovisionIpamByoasnRequest {} +/** + * @public + * + * The output of {@link DeprovisionIpamByoasnCommand}. + */ +export interface DeprovisionIpamByoasnCommandOutput extends DeprovisionIpamByoasnResult, __MetadataBearer {} + +/** + * @public + *

Deprovisions your Autonomous System Number (ASN) from your Amazon Web Services account. This action can only be called after any BYOIP CIDR associations are removed from your Amazon Web Services account with DisassociateIpamByoasn. + * For more information, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DeprovisionIpamByoasnCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DeprovisionIpamByoasnCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const input = { // DeprovisionIpamByoasnRequest + * DryRun: true || false, + * IpamId: "STRING_VALUE", // required + * Asn: "STRING_VALUE", // required + * }; + * const command = new DeprovisionIpamByoasnCommand(input); + * const response = await client.send(command); + * // { // DeprovisionIpamByoasnResult + * // Byoasn: { // Byoasn + * // Asn: "STRING_VALUE", + * // IpamId: "STRING_VALUE", + * // StatusMessage: "STRING_VALUE", + * // State: "deprovisioned" || "failed-deprovision" || "failed-provision" || "pending-deprovision" || "pending-provision" || "provisioned", + * // }, + * // }; + * + * ``` + * + * @param DeprovisionIpamByoasnCommandInput - {@link DeprovisionIpamByoasnCommandInput} + * @returns {@link DeprovisionIpamByoasnCommandOutput} + * @see {@link DeprovisionIpamByoasnCommandInput} for command's `input` shape. + * @see {@link DeprovisionIpamByoasnCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + * @throws {@link EC2ServiceException} + *

Base exception class for all service exceptions from EC2 service.

+ * + */ +export class DeprovisionIpamByoasnCommand extends $Command< + DeprovisionIpamByoasnCommandInput, + DeprovisionIpamByoasnCommandOutput, + EC2ClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: DeprovisionIpamByoasnCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EC2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, DeprovisionIpamByoasnCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EC2Client"; + const commandName = "DeprovisionIpamByoasnCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AmazonEC2", + operation: "DeprovisionIpamByoasn", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: DeprovisionIpamByoasnCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_DeprovisionIpamByoasnCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_DeprovisionIpamByoasnCommand(output, context); + } +} diff --git a/clients/client-ec2/src/commands/DescribeByoipCidrsCommand.ts b/clients/client-ec2/src/commands/DescribeByoipCidrsCommand.ts index 142a1049a9460..a555a89133539 100644 --- a/clients/client-ec2/src/commands/DescribeByoipCidrsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeByoipCidrsCommand.ts @@ -58,6 +58,14 @@ export interface DescribeByoipCidrsCommandOutput extends DescribeByoipCidrsResul * // { // ByoipCidr * // Cidr: "STRING_VALUE", * // Description: "STRING_VALUE", + * // AsnAssociations: [ // AsnAssociationSet + * // { // AsnAssociation + * // Asn: "STRING_VALUE", + * // Cidr: "STRING_VALUE", + * // StatusMessage: "STRING_VALUE", + * // State: "disassociated" || "failed-disassociation" || "failed-association" || "pending-disassociation" || "pending-association" || "associated", + * // }, + * // ], * // StatusMessage: "STRING_VALUE", * // State: "advertised" || "deprovisioned" || "failed-deprovision" || "failed-provision" || "pending-deprovision" || "pending-provision" || "provisioned" || "provisioned-not-publicly-advertisable", * // }, diff --git a/clients/client-ec2/src/commands/DescribeImportSnapshotTasksCommand.ts b/clients/client-ec2/src/commands/DescribeImportSnapshotTasksCommand.ts index f6c08cf5d13f6..3825882eacfec 100644 --- a/clients/client-ec2/src/commands/DescribeImportSnapshotTasksCommand.ts +++ b/clients/client-ec2/src/commands/DescribeImportSnapshotTasksCommand.ts @@ -15,11 +15,11 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { DescribeImportSnapshotTasksRequest } from "../models/models_3"; import { - DescribeImportSnapshotTasksRequest, DescribeImportSnapshotTasksResult, DescribeImportSnapshotTasksResultFilterSensitiveLog, -} from "../models/models_3"; +} from "../models/models_4"; import { de_DescribeImportSnapshotTasksCommand, se_DescribeImportSnapshotTasksCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DescribeInstanceAttributeCommand.ts b/clients/client-ec2/src/commands/DescribeInstanceAttributeCommand.ts index 26a8991d05876..4af90f86071d2 100644 --- a/clients/client-ec2/src/commands/DescribeInstanceAttributeCommand.ts +++ b/clients/client-ec2/src/commands/DescribeInstanceAttributeCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeInstanceAttributeRequest, InstanceAttribute } from "../models/models_3"; +import { DescribeInstanceAttributeRequest, InstanceAttribute } from "../models/models_4"; import { de_DescribeInstanceAttributeCommand, se_DescribeInstanceAttributeCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DescribeInstanceConnectEndpointsCommand.ts b/clients/client-ec2/src/commands/DescribeInstanceConnectEndpointsCommand.ts index 6fd7f1138bb6a..767e2086ffabf 100644 --- a/clients/client-ec2/src/commands/DescribeInstanceConnectEndpointsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeInstanceConnectEndpointsCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeInstanceConnectEndpointsRequest, DescribeInstanceConnectEndpointsResult } from "../models/models_3"; +import { DescribeInstanceConnectEndpointsRequest, DescribeInstanceConnectEndpointsResult } from "../models/models_4"; import { de_DescribeInstanceConnectEndpointsCommand, se_DescribeInstanceConnectEndpointsCommand, diff --git a/clients/client-ec2/src/commands/DescribeInstanceCreditSpecificationsCommand.ts b/clients/client-ec2/src/commands/DescribeInstanceCreditSpecificationsCommand.ts index 154d24be2750e..f1e1461db28c5 100644 --- a/clients/client-ec2/src/commands/DescribeInstanceCreditSpecificationsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeInstanceCreditSpecificationsCommand.ts @@ -18,7 +18,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { DescribeInstanceCreditSpecificationsRequest, DescribeInstanceCreditSpecificationsResult, -} from "../models/models_3"; +} from "../models/models_4"; import { de_DescribeInstanceCreditSpecificationsCommand, se_DescribeInstanceCreditSpecificationsCommand, diff --git a/clients/client-ec2/src/commands/DescribeInstancesCommand.ts b/clients/client-ec2/src/commands/DescribeInstancesCommand.ts index 860577f122a8f..552a2b4baca08 100644 --- a/clients/client-ec2/src/commands/DescribeInstancesCommand.ts +++ b/clients/client-ec2/src/commands/DescribeInstancesCommand.ts @@ -235,6 +235,11 @@ export interface DescribeInstancesCommandOutput extends DescribeInstancesResult, * // Ipv6Prefix: "STRING_VALUE", * // }, * // ], + * // ConnectionTrackingConfiguration: { // ConnectionTrackingSpecificationResponse + * // TcpEstablishedTimeout: Number("int"), + * // UdpStreamTimeout: Number("int"), + * // UdpTimeout: Number("int"), + * // }, * // }, * // ], * // OutpostArn: "STRING_VALUE", diff --git a/clients/client-ec2/src/commands/DescribeIpamByoasnCommand.ts b/clients/client-ec2/src/commands/DescribeIpamByoasnCommand.ts new file mode 100644 index 0000000000000..ff7ed796abb6c --- /dev/null +++ b/clients/client-ec2/src/commands/DescribeIpamByoasnCommand.ts @@ -0,0 +1,149 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { DescribeIpamByoasnRequest, DescribeIpamByoasnResult } from "../models/models_4"; +import { de_DescribeIpamByoasnCommand, se_DescribeIpamByoasnCommand } from "../protocols/Aws_ec2"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link DescribeIpamByoasnCommand}. + */ +export interface DescribeIpamByoasnCommandInput extends DescribeIpamByoasnRequest {} +/** + * @public + * + * The output of {@link DescribeIpamByoasnCommand}. + */ +export interface DescribeIpamByoasnCommandOutput extends DescribeIpamByoasnResult, __MetadataBearer {} + +/** + * @public + *

Describes your Autonomous System Numbers (ASNs), their provisioning statuses, and the BYOIP CIDRs with which they are associated. For more information, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DescribeIpamByoasnCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DescribeIpamByoasnCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const input = { // DescribeIpamByoasnRequest + * DryRun: true || false, + * MaxResults: Number("int"), + * NextToken: "STRING_VALUE", + * }; + * const command = new DescribeIpamByoasnCommand(input); + * const response = await client.send(command); + * // { // DescribeIpamByoasnResult + * // Byoasns: [ // ByoasnSet + * // { // Byoasn + * // Asn: "STRING_VALUE", + * // IpamId: "STRING_VALUE", + * // StatusMessage: "STRING_VALUE", + * // State: "deprovisioned" || "failed-deprovision" || "failed-provision" || "pending-deprovision" || "pending-provision" || "provisioned", + * // }, + * // ], + * // NextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param DescribeIpamByoasnCommandInput - {@link DescribeIpamByoasnCommandInput} + * @returns {@link DescribeIpamByoasnCommandOutput} + * @see {@link DescribeIpamByoasnCommandInput} for command's `input` shape. + * @see {@link DescribeIpamByoasnCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + * @throws {@link EC2ServiceException} + *

Base exception class for all service exceptions from EC2 service.

+ * + */ +export class DescribeIpamByoasnCommand extends $Command< + DescribeIpamByoasnCommandInput, + DescribeIpamByoasnCommandOutput, + EC2ClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: DescribeIpamByoasnCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EC2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, DescribeIpamByoasnCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EC2Client"; + const commandName = "DescribeIpamByoasnCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AmazonEC2", + operation: "DescribeIpamByoasn", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: DescribeIpamByoasnCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_DescribeIpamByoasnCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_DescribeIpamByoasnCommand(output, context); + } +} diff --git a/clients/client-ec2/src/commands/DescribeIpamPoolsCommand.ts b/clients/client-ec2/src/commands/DescribeIpamPoolsCommand.ts index 7fdcf0fa28047..7bdc35dd9cdf6 100644 --- a/clients/client-ec2/src/commands/DescribeIpamPoolsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeIpamPoolsCommand.ts @@ -99,6 +99,12 @@ export interface DescribeIpamPoolsCommandOutput extends DescribeIpamPoolsResult, * // ], * // AwsService: "ec2", * // PublicIpSource: "amazon" || "byoip", + * // SourceResource: { // IpamPoolSourceResource + * // ResourceId: "STRING_VALUE", + * // ResourceType: "vpc", + * // ResourceRegion: "STRING_VALUE", + * // ResourceOwner: "STRING_VALUE", + * // }, * // }, * // ], * // }; diff --git a/clients/client-ec2/src/commands/DescribeIpamsCommand.ts b/clients/client-ec2/src/commands/DescribeIpamsCommand.ts index 20a289cb933f7..fca9426309206 100644 --- a/clients/client-ec2/src/commands/DescribeIpamsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeIpamsCommand.ts @@ -91,6 +91,8 @@ export interface DescribeIpamsCommandOutput extends DescribeIpamsResult, __Metad * // DefaultResourceDiscoveryId: "STRING_VALUE", * // DefaultResourceDiscoveryAssociationId: "STRING_VALUE", * // ResourceDiscoveryAssociationCount: Number("int"), + * // StateMessage: "STRING_VALUE", + * // Tier: "free" || "advanced", * // }, * // ], * // }; diff --git a/clients/client-ec2/src/commands/DescribeLaunchTemplateVersionsCommand.ts b/clients/client-ec2/src/commands/DescribeLaunchTemplateVersionsCommand.ts index 7230ca102ac1b..01207ea342d3e 100644 --- a/clients/client-ec2/src/commands/DescribeLaunchTemplateVersionsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeLaunchTemplateVersionsCommand.ts @@ -161,6 +161,11 @@ export interface DescribeLaunchTemplateVersionsCommandOutput * // EnaSrdUdpEnabled: true || false, * // }, * // }, + * // ConnectionTrackingSpecification: { // ConnectionTrackingSpecification + * // TcpEstablishedTimeout: Number("int"), + * // UdpTimeout: Number("int"), + * // UdpStreamTimeout: Number("int"), + * // }, * // }, * // ], * // ImageId: "STRING_VALUE", diff --git a/clients/client-ec2/src/commands/DescribeNetworkInterfacesCommand.ts b/clients/client-ec2/src/commands/DescribeNetworkInterfacesCommand.ts index fdd3f563d5241..c4c77982fa7d6 100644 --- a/clients/client-ec2/src/commands/DescribeNetworkInterfacesCommand.ts +++ b/clients/client-ec2/src/commands/DescribeNetworkInterfacesCommand.ts @@ -95,6 +95,11 @@ export interface DescribeNetworkInterfacesCommandOutput extends DescribeNetworkI * // }, * // }, * // AvailabilityZone: "STRING_VALUE", + * // ConnectionTrackingConfiguration: { // ConnectionTrackingConfiguration + * // TcpEstablishedTimeout: Number("int"), + * // UdpStreamTimeout: Number("int"), + * // UdpTimeout: Number("int"), + * // }, * // Description: "STRING_VALUE", * // Groups: [ // GroupIdentifierList * // { // GroupIdentifier diff --git a/clients/client-ec2/src/commands/DescribeSpotFleetRequestsCommand.ts b/clients/client-ec2/src/commands/DescribeSpotFleetRequestsCommand.ts index ea18e84dd6754..2e565c5bc1ba2 100644 --- a/clients/client-ec2/src/commands/DescribeSpotFleetRequestsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSpotFleetRequestsCommand.ts @@ -167,6 +167,11 @@ export interface DescribeSpotFleetRequestsCommandOutput extends DescribeSpotFlee * // EnaSrdUdpEnabled: true || false, * // }, * // }, + * // ConnectionTrackingSpecification: { // ConnectionTrackingSpecificationRequest + * // TcpEstablishedTimeout: Number("int"), + * // UdpStreamTimeout: Number("int"), + * // UdpTimeout: Number("int"), + * // }, * // }, * // ], * // Placement: { // SpotPlacement diff --git a/clients/client-ec2/src/commands/DescribeSpotInstanceRequestsCommand.ts b/clients/client-ec2/src/commands/DescribeSpotInstanceRequestsCommand.ts index 7296317c26ae1..76b26d4052c6f 100644 --- a/clients/client-ec2/src/commands/DescribeSpotInstanceRequestsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSpotInstanceRequestsCommand.ts @@ -180,6 +180,11 @@ export interface DescribeSpotInstanceRequestsCommandOutput * // EnaSrdUdpEnabled: true || false, * // }, * // }, + * // ConnectionTrackingSpecification: { // ConnectionTrackingSpecificationRequest + * // TcpEstablishedTimeout: Number("int"), + * // UdpStreamTimeout: Number("int"), + * // UdpTimeout: Number("int"), + * // }, * // }, * // ], * // Placement: { // SpotPlacement diff --git a/clients/client-ec2/src/commands/DescribeTagsCommand.ts b/clients/client-ec2/src/commands/DescribeTagsCommand.ts index 84364763eb2ba..527a184d185fd 100644 --- a/clients/client-ec2/src/commands/DescribeTagsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeTagsCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeTagsRequest, DescribeTagsResult } from "../models/models_4"; +import { DescribeTagsRequest, DescribeTagsResult } from "../models/models_5"; import { de_DescribeTagsCommand, se_DescribeTagsCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DescribeTrafficMirrorFiltersCommand.ts b/clients/client-ec2/src/commands/DescribeTrafficMirrorFiltersCommand.ts index ed894d70eca25..89c80d1af8297 100644 --- a/clients/client-ec2/src/commands/DescribeTrafficMirrorFiltersCommand.ts +++ b/clients/client-ec2/src/commands/DescribeTrafficMirrorFiltersCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeTrafficMirrorFiltersRequest, DescribeTrafficMirrorFiltersResult } from "../models/models_4"; +import { DescribeTrafficMirrorFiltersRequest, DescribeTrafficMirrorFiltersResult } from "../models/models_5"; import { de_DescribeTrafficMirrorFiltersCommand, se_DescribeTrafficMirrorFiltersCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DescribeTrafficMirrorSessionsCommand.ts b/clients/client-ec2/src/commands/DescribeTrafficMirrorSessionsCommand.ts index 4218c2de866c0..a2bf2fd2ba717 100644 --- a/clients/client-ec2/src/commands/DescribeTrafficMirrorSessionsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeTrafficMirrorSessionsCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeTrafficMirrorSessionsRequest, DescribeTrafficMirrorSessionsResult } from "../models/models_4"; +import { DescribeTrafficMirrorSessionsRequest, DescribeTrafficMirrorSessionsResult } from "../models/models_5"; import { de_DescribeTrafficMirrorSessionsCommand, se_DescribeTrafficMirrorSessionsCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DescribeTrafficMirrorTargetsCommand.ts b/clients/client-ec2/src/commands/DescribeTrafficMirrorTargetsCommand.ts index 1fe3853eea3d1..f8a4b68152699 100644 --- a/clients/client-ec2/src/commands/DescribeTrafficMirrorTargetsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeTrafficMirrorTargetsCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeTrafficMirrorTargetsRequest, DescribeTrafficMirrorTargetsResult } from "../models/models_4"; +import { DescribeTrafficMirrorTargetsRequest, DescribeTrafficMirrorTargetsResult } from "../models/models_5"; import { de_DescribeTrafficMirrorTargetsCommand, se_DescribeTrafficMirrorTargetsCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/DescribeTransitGatewayAttachmentsCommand.ts b/clients/client-ec2/src/commands/DescribeTransitGatewayAttachmentsCommand.ts index 6cba32a8741ae..6adfd5b76b05a 100644 --- a/clients/client-ec2/src/commands/DescribeTransitGatewayAttachmentsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeTransitGatewayAttachmentsCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeTransitGatewayAttachmentsRequest, DescribeTransitGatewayAttachmentsResult } from "../models/models_4"; +import { DescribeTransitGatewayAttachmentsRequest, DescribeTransitGatewayAttachmentsResult } from "../models/models_5"; import { de_DescribeTransitGatewayAttachmentsCommand, se_DescribeTransitGatewayAttachmentsCommand, diff --git a/clients/client-ec2/src/commands/DescribeTransitGatewayConnectPeersCommand.ts b/clients/client-ec2/src/commands/DescribeTransitGatewayConnectPeersCommand.ts index 119b36447f4e6..9346be32e05c5 100644 --- a/clients/client-ec2/src/commands/DescribeTransitGatewayConnectPeersCommand.ts +++ b/clients/client-ec2/src/commands/DescribeTransitGatewayConnectPeersCommand.ts @@ -18,7 +18,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { DescribeTransitGatewayConnectPeersRequest, DescribeTransitGatewayConnectPeersResult, -} from "../models/models_4"; +} from "../models/models_5"; import { de_DescribeTransitGatewayConnectPeersCommand, se_DescribeTransitGatewayConnectPeersCommand, diff --git a/clients/client-ec2/src/commands/DescribeTransitGatewayConnectsCommand.ts b/clients/client-ec2/src/commands/DescribeTransitGatewayConnectsCommand.ts index 5e248f55ec1c9..7786b1c3fb0a6 100644 --- a/clients/client-ec2/src/commands/DescribeTransitGatewayConnectsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeTransitGatewayConnectsCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeTransitGatewayConnectsRequest, DescribeTransitGatewayConnectsResult } from "../models/models_4"; +import { DescribeTransitGatewayConnectsRequest, DescribeTransitGatewayConnectsResult } from "../models/models_5"; import { de_DescribeTransitGatewayConnectsCommand, se_DescribeTransitGatewayConnectsCommand, diff --git a/clients/client-ec2/src/commands/DescribeTransitGatewayMulticastDomainsCommand.ts b/clients/client-ec2/src/commands/DescribeTransitGatewayMulticastDomainsCommand.ts index 805ffa3564cf3..e39e6380a86ce 100644 --- a/clients/client-ec2/src/commands/DescribeTransitGatewayMulticastDomainsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeTransitGatewayMulticastDomainsCommand.ts @@ -15,8 +15,10 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeTransitGatewayMulticastDomainsRequest } from "../models/models_4"; -import { DescribeTransitGatewayMulticastDomainsResult } from "../models/models_5"; +import { + DescribeTransitGatewayMulticastDomainsRequest, + DescribeTransitGatewayMulticastDomainsResult, +} from "../models/models_5"; import { de_DescribeTransitGatewayMulticastDomainsCommand, se_DescribeTransitGatewayMulticastDomainsCommand, diff --git a/clients/client-ec2/src/commands/DescribeTrunkInterfaceAssociationsCommand.ts b/clients/client-ec2/src/commands/DescribeTrunkInterfaceAssociationsCommand.ts index 31671812c1fac..b4b0ed48dbf5c 100644 --- a/clients/client-ec2/src/commands/DescribeTrunkInterfaceAssociationsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeTrunkInterfaceAssociationsCommand.ts @@ -45,11 +45,7 @@ export interface DescribeTrunkInterfaceAssociationsCommandOutput /** * @public - * - *

This API action is currently in limited preview only. - * If you are interested in using this feature, contact your account manager.

- *
- *

Describes one or more network interface trunk associations.

+ *

Describes one or more network interface trunk associations.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ec2/src/commands/DisassociateIpamByoasnCommand.ts b/clients/client-ec2/src/commands/DisassociateIpamByoasnCommand.ts new file mode 100644 index 0000000000000..c0bb8a06d7f44 --- /dev/null +++ b/clients/client-ec2/src/commands/DisassociateIpamByoasnCommand.ts @@ -0,0 +1,147 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { DisassociateIpamByoasnRequest, DisassociateIpamByoasnResult } from "../models/models_5"; +import { de_DisassociateIpamByoasnCommand, se_DisassociateIpamByoasnCommand } from "../protocols/Aws_ec2"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link DisassociateIpamByoasnCommand}. + */ +export interface DisassociateIpamByoasnCommandInput extends DisassociateIpamByoasnRequest {} +/** + * @public + * + * The output of {@link DisassociateIpamByoasnCommand}. + */ +export interface DisassociateIpamByoasnCommandOutput extends DisassociateIpamByoasnResult, __MetadataBearer {} + +/** + * @public + *

Remove the association between your Autonomous System Number (ASN) and your BYOIP CIDR. You may want to use this action to disassociate an ASN from a CIDR or if you want to swap ASNs. + * For more information, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, DisassociateIpamByoasnCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, DisassociateIpamByoasnCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const input = { // DisassociateIpamByoasnRequest + * DryRun: true || false, + * Asn: "STRING_VALUE", // required + * Cidr: "STRING_VALUE", // required + * }; + * const command = new DisassociateIpamByoasnCommand(input); + * const response = await client.send(command); + * // { // DisassociateIpamByoasnResult + * // AsnAssociation: { // AsnAssociation + * // Asn: "STRING_VALUE", + * // Cidr: "STRING_VALUE", + * // StatusMessage: "STRING_VALUE", + * // State: "disassociated" || "failed-disassociation" || "failed-association" || "pending-disassociation" || "pending-association" || "associated", + * // }, + * // }; + * + * ``` + * + * @param DisassociateIpamByoasnCommandInput - {@link DisassociateIpamByoasnCommandInput} + * @returns {@link DisassociateIpamByoasnCommandOutput} + * @see {@link DisassociateIpamByoasnCommandInput} for command's `input` shape. + * @see {@link DisassociateIpamByoasnCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + * @throws {@link EC2ServiceException} + *

Base exception class for all service exceptions from EC2 service.

+ * + */ +export class DisassociateIpamByoasnCommand extends $Command< + DisassociateIpamByoasnCommandInput, + DisassociateIpamByoasnCommandOutput, + EC2ClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: DisassociateIpamByoasnCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EC2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, DisassociateIpamByoasnCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EC2Client"; + const commandName = "DisassociateIpamByoasnCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AmazonEC2", + operation: "DisassociateIpamByoasn", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: DisassociateIpamByoasnCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_DisassociateIpamByoasnCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_DisassociateIpamByoasnCommand(output, context); + } +} diff --git a/clients/client-ec2/src/commands/DisassociateTrunkInterfaceCommand.ts b/clients/client-ec2/src/commands/DisassociateTrunkInterfaceCommand.ts index 28848d4387e41..a57577b397a7b 100644 --- a/clients/client-ec2/src/commands/DisassociateTrunkInterfaceCommand.ts +++ b/clients/client-ec2/src/commands/DisassociateTrunkInterfaceCommand.ts @@ -37,11 +37,7 @@ export interface DisassociateTrunkInterfaceCommandOutput extends DisassociateTru /** * @public - * - *

This API action is currently in limited preview only. - * If you are interested in using this feature, contact your account manager.

- *
- *

Removes an association between a branch network interface with a trunk network interface.

+ *

Removes an association between a branch network interface with a trunk network interface.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ec2/src/commands/GetIpamDiscoveredPublicAddressesCommand.ts b/clients/client-ec2/src/commands/GetIpamDiscoveredPublicAddressesCommand.ts new file mode 100644 index 0000000000000..dc465da57d57b --- /dev/null +++ b/clients/client-ec2/src/commands/GetIpamDiscoveredPublicAddressesCommand.ts @@ -0,0 +1,198 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { GetIpamDiscoveredPublicAddressesRequest, GetIpamDiscoveredPublicAddressesResult } from "../models/models_5"; +import { + de_GetIpamDiscoveredPublicAddressesCommand, + se_GetIpamDiscoveredPublicAddressesCommand, +} from "../protocols/Aws_ec2"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link GetIpamDiscoveredPublicAddressesCommand}. + */ +export interface GetIpamDiscoveredPublicAddressesCommandInput extends GetIpamDiscoveredPublicAddressesRequest {} +/** + * @public + * + * The output of {@link GetIpamDiscoveredPublicAddressesCommand}. + */ +export interface GetIpamDiscoveredPublicAddressesCommandOutput + extends GetIpamDiscoveredPublicAddressesResult, + __MetadataBearer {} + +/** + * @public + *

Gets the public IP addresses that have been discovered by IPAM.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, GetIpamDiscoveredPublicAddressesCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, GetIpamDiscoveredPublicAddressesCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const input = { // GetIpamDiscoveredPublicAddressesRequest + * DryRun: true || false, + * IpamResourceDiscoveryId: "STRING_VALUE", // required + * AddressRegion: "STRING_VALUE", // required + * Filters: [ // FilterList + * { // Filter + * Name: "STRING_VALUE", + * Values: [ // ValueStringList + * "STRING_VALUE", + * ], + * }, + * ], + * NextToken: "STRING_VALUE", + * MaxResults: Number("int"), + * }; + * const command = new GetIpamDiscoveredPublicAddressesCommand(input); + * const response = await client.send(command); + * // { // GetIpamDiscoveredPublicAddressesResult + * // IpamDiscoveredPublicAddresses: [ // IpamDiscoveredPublicAddressSet + * // { // IpamDiscoveredPublicAddress + * // IpamResourceDiscoveryId: "STRING_VALUE", + * // AddressRegion: "STRING_VALUE", + * // Address: "STRING_VALUE", + * // AddressOwnerId: "STRING_VALUE", + * // AddressAllocationId: "STRING_VALUE", + * // AssociationStatus: "associated" || "disassociated", + * // AddressType: "service-managed-ip" || "service-managed-byoip" || "amazon-owned-eip" || "byoip" || "ec2-public-ip", + * // Service: "nat-gateway" || "database-migration-service" || "redshift" || "elastic-container-service" || "relational-database-service" || "site-to-site-vpn" || "load-balancer" || "global-accelerator" || "other", + * // ServiceResource: "STRING_VALUE", + * // VpcId: "STRING_VALUE", + * // SubnetId: "STRING_VALUE", + * // PublicIpv4PoolId: "STRING_VALUE", + * // NetworkInterfaceId: "STRING_VALUE", + * // NetworkInterfaceDescription: "STRING_VALUE", + * // InstanceId: "STRING_VALUE", + * // Tags: { // IpamPublicAddressTags + * // EipTags: [ // IpamPublicAddressTagList + * // { // IpamPublicAddressTag + * // Key: "STRING_VALUE", + * // Value: "STRING_VALUE", + * // }, + * // ], + * // }, + * // NetworkBorderGroup: "STRING_VALUE", + * // SecurityGroups: [ // IpamPublicAddressSecurityGroupList + * // { // IpamPublicAddressSecurityGroup + * // GroupName: "STRING_VALUE", + * // GroupId: "STRING_VALUE", + * // }, + * // ], + * // SampleTime: new Date("TIMESTAMP"), + * // }, + * // ], + * // OldestSampleTime: new Date("TIMESTAMP"), + * // NextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param GetIpamDiscoveredPublicAddressesCommandInput - {@link GetIpamDiscoveredPublicAddressesCommandInput} + * @returns {@link GetIpamDiscoveredPublicAddressesCommandOutput} + * @see {@link GetIpamDiscoveredPublicAddressesCommandInput} for command's `input` shape. + * @see {@link GetIpamDiscoveredPublicAddressesCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + * @throws {@link EC2ServiceException} + *

Base exception class for all service exceptions from EC2 service.

+ * + */ +export class GetIpamDiscoveredPublicAddressesCommand extends $Command< + GetIpamDiscoveredPublicAddressesCommandInput, + GetIpamDiscoveredPublicAddressesCommandOutput, + EC2ClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: GetIpamDiscoveredPublicAddressesCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EC2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, GetIpamDiscoveredPublicAddressesCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EC2Client"; + const commandName = "GetIpamDiscoveredPublicAddressesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AmazonEC2", + operation: "GetIpamDiscoveredPublicAddresses", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize( + input: GetIpamDiscoveredPublicAddressesCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return se_GetIpamDiscoveredPublicAddressesCommand(input, context); + } + + /** + * @internal + */ + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return de_GetIpamDiscoveredPublicAddressesCommand(output, context); + } +} diff --git a/clients/client-ec2/src/commands/GetIpamDiscoveredResourceCidrsCommand.ts b/clients/client-ec2/src/commands/GetIpamDiscoveredResourceCidrsCommand.ts index 2a45aed577c45..710225322fb7f 100644 --- a/clients/client-ec2/src/commands/GetIpamDiscoveredResourceCidrsCommand.ts +++ b/clients/client-ec2/src/commands/GetIpamDiscoveredResourceCidrsCommand.ts @@ -74,7 +74,7 @@ export interface GetIpamDiscoveredResourceCidrsCommandOutput * // ResourceId: "STRING_VALUE", * // ResourceOwnerId: "STRING_VALUE", * // ResourceCidr: "STRING_VALUE", - * // ResourceType: "vpc" || "subnet" || "eip" || "public-ipv4-pool" || "ipv6-pool", + * // ResourceType: "vpc" || "subnet" || "eip" || "public-ipv4-pool" || "ipv6-pool" || "eni", * // ResourceTags: [ // IpamResourceTagList * // { // IpamResourceTag * // Key: "STRING_VALUE", diff --git a/clients/client-ec2/src/commands/GetIpamPoolAllocationsCommand.ts b/clients/client-ec2/src/commands/GetIpamPoolAllocationsCommand.ts index 13e64bb22676e..b7fb6bd93e3c1 100644 --- a/clients/client-ec2/src/commands/GetIpamPoolAllocationsCommand.ts +++ b/clients/client-ec2/src/commands/GetIpamPoolAllocationsCommand.ts @@ -71,7 +71,7 @@ export interface GetIpamPoolAllocationsCommandOutput extends GetIpamPoolAllocati * // IpamPoolAllocationId: "STRING_VALUE", * // Description: "STRING_VALUE", * // ResourceId: "STRING_VALUE", - * // ResourceType: "ipam-pool" || "vpc" || "ec2-public-ipv4-pool" || "custom", + * // ResourceType: "ipam-pool" || "vpc" || "ec2-public-ipv4-pool" || "custom" || "subnet", * // ResourceRegion: "STRING_VALUE", * // ResourceOwner: "STRING_VALUE", * // }, diff --git a/clients/client-ec2/src/commands/GetIpamResourceCidrsCommand.ts b/clients/client-ec2/src/commands/GetIpamResourceCidrsCommand.ts index 8d11cf04c3599..41502030bdc51 100644 --- a/clients/client-ec2/src/commands/GetIpamResourceCidrsCommand.ts +++ b/clients/client-ec2/src/commands/GetIpamResourceCidrsCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { GetIpamResourceCidrsRequest, GetIpamResourceCidrsResult } from "../models/models_5"; +import { GetIpamResourceCidrsRequest, GetIpamResourceCidrsResult } from "../models/models_6"; import { de_GetIpamResourceCidrsCommand, se_GetIpamResourceCidrsCommand } from "../protocols/Aws_ec2"; /** @@ -59,7 +59,7 @@ export interface GetIpamResourceCidrsCommandOutput extends GetIpamResourceCidrsR * IpamScopeId: "STRING_VALUE", // required * IpamPoolId: "STRING_VALUE", * ResourceId: "STRING_VALUE", - * ResourceType: "vpc" || "subnet" || "eip" || "public-ipv4-pool" || "ipv6-pool", + * ResourceType: "vpc" || "subnet" || "eip" || "public-ipv4-pool" || "ipv6-pool" || "eni", * ResourceTag: { // RequestIpamResourceTag * Key: "STRING_VALUE", * Value: "STRING_VALUE", @@ -80,7 +80,7 @@ export interface GetIpamResourceCidrsCommandOutput extends GetIpamResourceCidrsR * // ResourceId: "STRING_VALUE", * // ResourceName: "STRING_VALUE", * // ResourceCidr: "STRING_VALUE", - * // ResourceType: "vpc" || "subnet" || "eip" || "public-ipv4-pool" || "ipv6-pool", + * // ResourceType: "vpc" || "subnet" || "eip" || "public-ipv4-pool" || "ipv6-pool" || "eni", * // ResourceTags: [ // IpamResourceTagList * // { // IpamResourceTag * // Key: "STRING_VALUE", diff --git a/clients/client-ec2/src/commands/GetLaunchTemplateDataCommand.ts b/clients/client-ec2/src/commands/GetLaunchTemplateDataCommand.ts index 2476caec91ca8..9aaf310eef5df 100644 --- a/clients/client-ec2/src/commands/GetLaunchTemplateDataCommand.ts +++ b/clients/client-ec2/src/commands/GetLaunchTemplateDataCommand.ts @@ -19,7 +19,7 @@ import { GetLaunchTemplateDataRequest, GetLaunchTemplateDataResult, GetLaunchTemplateDataResultFilterSensitiveLog, -} from "../models/models_5"; +} from "../models/models_6"; import { de_GetLaunchTemplateDataCommand, se_GetLaunchTemplateDataCommand } from "../protocols/Aws_ec2"; /** @@ -134,6 +134,11 @@ export interface GetLaunchTemplateDataCommandOutput extends GetLaunchTemplateDat * // EnaSrdUdpEnabled: true || false, * // }, * // }, + * // ConnectionTrackingSpecification: { // ConnectionTrackingSpecification + * // TcpEstablishedTimeout: Number("int"), + * // UdpTimeout: Number("int"), + * // UdpStreamTimeout: Number("int"), + * // }, * // }, * // ], * // ImageId: "STRING_VALUE", diff --git a/clients/client-ec2/src/commands/GetManagedPrefixListAssociationsCommand.ts b/clients/client-ec2/src/commands/GetManagedPrefixListAssociationsCommand.ts index a1354cd46457c..ed8d6a7b8da15 100644 --- a/clients/client-ec2/src/commands/GetManagedPrefixListAssociationsCommand.ts +++ b/clients/client-ec2/src/commands/GetManagedPrefixListAssociationsCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { GetManagedPrefixListAssociationsRequest, GetManagedPrefixListAssociationsResult } from "../models/models_5"; +import { GetManagedPrefixListAssociationsRequest, GetManagedPrefixListAssociationsResult } from "../models/models_6"; import { de_GetManagedPrefixListAssociationsCommand, se_GetManagedPrefixListAssociationsCommand, diff --git a/clients/client-ec2/src/commands/GetManagedPrefixListEntriesCommand.ts b/clients/client-ec2/src/commands/GetManagedPrefixListEntriesCommand.ts index 04347897f90d1..d36969e887e78 100644 --- a/clients/client-ec2/src/commands/GetManagedPrefixListEntriesCommand.ts +++ b/clients/client-ec2/src/commands/GetManagedPrefixListEntriesCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { GetManagedPrefixListEntriesRequest, GetManagedPrefixListEntriesResult } from "../models/models_5"; +import { GetManagedPrefixListEntriesRequest, GetManagedPrefixListEntriesResult } from "../models/models_6"; import { de_GetManagedPrefixListEntriesCommand, se_GetManagedPrefixListEntriesCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/GetNetworkInsightsAccessScopeAnalysisFindingsCommand.ts b/clients/client-ec2/src/commands/GetNetworkInsightsAccessScopeAnalysisFindingsCommand.ts index 93d2d697293d9..80bc2af64c662 100644 --- a/clients/client-ec2/src/commands/GetNetworkInsightsAccessScopeAnalysisFindingsCommand.ts +++ b/clients/client-ec2/src/commands/GetNetworkInsightsAccessScopeAnalysisFindingsCommand.ts @@ -18,7 +18,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { GetNetworkInsightsAccessScopeAnalysisFindingsRequest, GetNetworkInsightsAccessScopeAnalysisFindingsResult, -} from "../models/models_5"; +} from "../models/models_6"; import { de_GetNetworkInsightsAccessScopeAnalysisFindingsCommand, se_GetNetworkInsightsAccessScopeAnalysisFindingsCommand, diff --git a/clients/client-ec2/src/commands/GetNetworkInsightsAccessScopeContentCommand.ts b/clients/client-ec2/src/commands/GetNetworkInsightsAccessScopeContentCommand.ts index f5baffd78f4b4..287602aa3faef 100644 --- a/clients/client-ec2/src/commands/GetNetworkInsightsAccessScopeContentCommand.ts +++ b/clients/client-ec2/src/commands/GetNetworkInsightsAccessScopeContentCommand.ts @@ -18,7 +18,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { GetNetworkInsightsAccessScopeContentRequest, GetNetworkInsightsAccessScopeContentResult, -} from "../models/models_5"; +} from "../models/models_6"; import { de_GetNetworkInsightsAccessScopeContentCommand, se_GetNetworkInsightsAccessScopeContentCommand, diff --git a/clients/client-ec2/src/commands/GetPasswordDataCommand.ts b/clients/client-ec2/src/commands/GetPasswordDataCommand.ts index e2c4470f95ba2..f63a09a98af88 100644 --- a/clients/client-ec2/src/commands/GetPasswordDataCommand.ts +++ b/clients/client-ec2/src/commands/GetPasswordDataCommand.ts @@ -19,7 +19,7 @@ import { GetPasswordDataRequest, GetPasswordDataResult, GetPasswordDataResultFilterSensitiveLog, -} from "../models/models_5"; +} from "../models/models_6"; import { de_GetPasswordDataCommand, se_GetPasswordDataCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/GetReservedInstancesExchangeQuoteCommand.ts b/clients/client-ec2/src/commands/GetReservedInstancesExchangeQuoteCommand.ts index 03badde9ad33c..9e2931c935439 100644 --- a/clients/client-ec2/src/commands/GetReservedInstancesExchangeQuoteCommand.ts +++ b/clients/client-ec2/src/commands/GetReservedInstancesExchangeQuoteCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { GetReservedInstancesExchangeQuoteRequest, GetReservedInstancesExchangeQuoteResult } from "../models/models_5"; +import { GetReservedInstancesExchangeQuoteRequest, GetReservedInstancesExchangeQuoteResult } from "../models/models_6"; import { de_GetReservedInstancesExchangeQuoteCommand, se_GetReservedInstancesExchangeQuoteCommand, diff --git a/clients/client-ec2/src/commands/GetSecurityGroupsForVpcCommand.ts b/clients/client-ec2/src/commands/GetSecurityGroupsForVpcCommand.ts index 98a56ece29a3d..3968a065b21d5 100644 --- a/clients/client-ec2/src/commands/GetSecurityGroupsForVpcCommand.ts +++ b/clients/client-ec2/src/commands/GetSecurityGroupsForVpcCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { GetSecurityGroupsForVpcRequest, GetSecurityGroupsForVpcResult } from "../models/models_5"; +import { GetSecurityGroupsForVpcRequest, GetSecurityGroupsForVpcResult } from "../models/models_6"; import { de_GetSecurityGroupsForVpcCommand, se_GetSecurityGroupsForVpcCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/GetSerialConsoleAccessStatusCommand.ts b/clients/client-ec2/src/commands/GetSerialConsoleAccessStatusCommand.ts index 886af949a7840..03e93a5700b55 100644 --- a/clients/client-ec2/src/commands/GetSerialConsoleAccessStatusCommand.ts +++ b/clients/client-ec2/src/commands/GetSerialConsoleAccessStatusCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { GetSerialConsoleAccessStatusRequest, GetSerialConsoleAccessStatusResult } from "../models/models_5"; +import { GetSerialConsoleAccessStatusRequest, GetSerialConsoleAccessStatusResult } from "../models/models_6"; import { de_GetSerialConsoleAccessStatusCommand, se_GetSerialConsoleAccessStatusCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/ModifyIpamCommand.ts b/clients/client-ec2/src/commands/ModifyIpamCommand.ts index b6d4643cb401e..4cad5b2bf4428 100644 --- a/clients/client-ec2/src/commands/ModifyIpamCommand.ts +++ b/clients/client-ec2/src/commands/ModifyIpamCommand.ts @@ -59,6 +59,7 @@ export interface ModifyIpamCommandOutput extends ModifyIpamResult, __MetadataBea * RegionName: "STRING_VALUE", * }, * ], + * Tier: "free" || "advanced", * }; * const command = new ModifyIpamCommand(input); * const response = await client.send(command); @@ -87,6 +88,8 @@ export interface ModifyIpamCommandOutput extends ModifyIpamResult, __MetadataBea * // DefaultResourceDiscoveryId: "STRING_VALUE", * // DefaultResourceDiscoveryAssociationId: "STRING_VALUE", * // ResourceDiscoveryAssociationCount: Number("int"), + * // StateMessage: "STRING_VALUE", + * // Tier: "free" || "advanced", * // }, * // }; * diff --git a/clients/client-ec2/src/commands/ModifyIpamPoolCommand.ts b/clients/client-ec2/src/commands/ModifyIpamPoolCommand.ts index d9c5099248a07..07eac6a754790 100644 --- a/clients/client-ec2/src/commands/ModifyIpamPoolCommand.ts +++ b/clients/client-ec2/src/commands/ModifyIpamPoolCommand.ts @@ -105,6 +105,12 @@ export interface ModifyIpamPoolCommandOutput extends ModifyIpamPoolResult, __Met * // ], * // AwsService: "ec2", * // PublicIpSource: "amazon" || "byoip", + * // SourceResource: { // IpamPoolSourceResource + * // ResourceId: "STRING_VALUE", + * // ResourceType: "vpc", + * // ResourceRegion: "STRING_VALUE", + * // ResourceOwner: "STRING_VALUE", + * // }, * // }, * // }; * diff --git a/clients/client-ec2/src/commands/ModifyIpamResourceCidrCommand.ts b/clients/client-ec2/src/commands/ModifyIpamResourceCidrCommand.ts index 978f09ed7b0a0..b7111bb370577 100644 --- a/clients/client-ec2/src/commands/ModifyIpamResourceCidrCommand.ts +++ b/clients/client-ec2/src/commands/ModifyIpamResourceCidrCommand.ts @@ -66,7 +66,7 @@ export interface ModifyIpamResourceCidrCommandOutput extends ModifyIpamResourceC * // ResourceId: "STRING_VALUE", * // ResourceName: "STRING_VALUE", * // ResourceCidr: "STRING_VALUE", - * // ResourceType: "vpc" || "subnet" || "eip" || "public-ipv4-pool" || "ipv6-pool", + * // ResourceType: "vpc" || "subnet" || "eip" || "public-ipv4-pool" || "ipv6-pool" || "eni", * // ResourceTags: [ // IpamResourceTagList * // { // IpamResourceTag * // Key: "STRING_VALUE", diff --git a/clients/client-ec2/src/commands/ModifyNetworkInterfaceAttributeCommand.ts b/clients/client-ec2/src/commands/ModifyNetworkInterfaceAttributeCommand.ts index 7add82a504462..84feb5a4c6c28 100644 --- a/clients/client-ec2/src/commands/ModifyNetworkInterfaceAttributeCommand.ts +++ b/clients/client-ec2/src/commands/ModifyNetworkInterfaceAttributeCommand.ts @@ -72,6 +72,11 @@ export interface ModifyNetworkInterfaceAttributeCommandOutput extends __Metadata * }, * }, * EnablePrimaryIpv6: true || false, + * ConnectionTrackingSpecification: { // ConnectionTrackingSpecificationRequest + * TcpEstablishedTimeout: Number("int"), + * UdpStreamTimeout: Number("int"), + * UdpTimeout: Number("int"), + * }, * }; * const command = new ModifyNetworkInterfaceAttributeCommand(input); * const response = await client.send(command); diff --git a/clients/client-ec2/src/commands/MoveByoipCidrToIpamCommand.ts b/clients/client-ec2/src/commands/MoveByoipCidrToIpamCommand.ts index ccc869066fe1b..8b105a67330a7 100644 --- a/clients/client-ec2/src/commands/MoveByoipCidrToIpamCommand.ts +++ b/clients/client-ec2/src/commands/MoveByoipCidrToIpamCommand.ts @@ -57,6 +57,14 @@ export interface MoveByoipCidrToIpamCommandOutput extends MoveByoipCidrToIpamRes * // ByoipCidr: { // ByoipCidr * // Cidr: "STRING_VALUE", * // Description: "STRING_VALUE", + * // AsnAssociations: [ // AsnAssociationSet + * // { // AsnAssociation + * // Asn: "STRING_VALUE", + * // Cidr: "STRING_VALUE", + * // StatusMessage: "STRING_VALUE", + * // State: "disassociated" || "failed-disassociation" || "failed-association" || "pending-disassociation" || "pending-association" || "associated", + * // }, + * // ], * // StatusMessage: "STRING_VALUE", * // State: "advertised" || "deprovisioned" || "failed-deprovision" || "failed-provision" || "pending-deprovision" || "pending-provision" || "provisioned" || "provisioned-not-publicly-advertisable", * // }, diff --git a/clients/client-ec2/src/commands/ProvisionByoipCidrCommand.ts b/clients/client-ec2/src/commands/ProvisionByoipCidrCommand.ts index 1b07995ca2a41..bba2ae9178563 100644 --- a/clients/client-ec2/src/commands/ProvisionByoipCidrCommand.ts +++ b/clients/client-ec2/src/commands/ProvisionByoipCidrCommand.ts @@ -83,6 +83,14 @@ export interface ProvisionByoipCidrCommandOutput extends ProvisionByoipCidrResul * // ByoipCidr: { // ByoipCidr * // Cidr: "STRING_VALUE", * // Description: "STRING_VALUE", + * // AsnAssociations: [ // AsnAssociationSet + * // { // AsnAssociation + * // Asn: "STRING_VALUE", + * // Cidr: "STRING_VALUE", + * // StatusMessage: "STRING_VALUE", + * // State: "disassociated" || "failed-disassociation" || "failed-association" || "pending-disassociation" || "pending-association" || "associated", + * // }, + * // ], * // StatusMessage: "STRING_VALUE", * // State: "advertised" || "deprovisioned" || "failed-deprovision" || "failed-provision" || "pending-deprovision" || "pending-provision" || "provisioned" || "provisioned-not-publicly-advertisable", * // }, diff --git a/clients/client-ec2/src/commands/ProvisionIpamByoasnCommand.ts b/clients/client-ec2/src/commands/ProvisionIpamByoasnCommand.ts new file mode 100644 index 0000000000000..0989fbc257c26 --- /dev/null +++ b/clients/client-ec2/src/commands/ProvisionIpamByoasnCommand.ts @@ -0,0 +1,150 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { Command as $Command } from "@smithy/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, + SMITHY_CONTEXT_KEY, +} from "@smithy/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { ProvisionIpamByoasnRequest, ProvisionIpamByoasnResult } from "../models/models_6"; +import { de_ProvisionIpamByoasnCommand, se_ProvisionIpamByoasnCommand } from "../protocols/Aws_ec2"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link ProvisionIpamByoasnCommand}. + */ +export interface ProvisionIpamByoasnCommandInput extends ProvisionIpamByoasnRequest {} +/** + * @public + * + * The output of {@link ProvisionIpamByoasnCommand}. + */ +export interface ProvisionIpamByoasnCommandOutput extends ProvisionIpamByoasnResult, __MetadataBearer {} + +/** + * @public + *

Provisions your Autonomous System Number (ASN) for use in your Amazon Web Services account. This action requires authorization context for Amazon to bring the ASN to an Amazon Web Services account. For more information, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, ProvisionIpamByoasnCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, ProvisionIpamByoasnCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const input = { // ProvisionIpamByoasnRequest + * DryRun: true || false, + * IpamId: "STRING_VALUE", // required + * Asn: "STRING_VALUE", // required + * AsnAuthorizationContext: { // AsnAuthorizationContext + * Message: "STRING_VALUE", // required + * Signature: "STRING_VALUE", // required + * }, + * }; + * const command = new ProvisionIpamByoasnCommand(input); + * const response = await client.send(command); + * // { // ProvisionIpamByoasnResult + * // Byoasn: { // Byoasn + * // Asn: "STRING_VALUE", + * // IpamId: "STRING_VALUE", + * // StatusMessage: "STRING_VALUE", + * // State: "deprovisioned" || "failed-deprovision" || "failed-provision" || "pending-deprovision" || "pending-provision" || "provisioned", + * // }, + * // }; + * + * ``` + * + * @param ProvisionIpamByoasnCommandInput - {@link ProvisionIpamByoasnCommandInput} + * @returns {@link ProvisionIpamByoasnCommandOutput} + * @see {@link ProvisionIpamByoasnCommandInput} for command's `input` shape. + * @see {@link ProvisionIpamByoasnCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. + * + * @throws {@link EC2ServiceException} + *

Base exception class for all service exceptions from EC2 service.

+ * + */ +export class ProvisionIpamByoasnCommand extends $Command< + ProvisionIpamByoasnCommandInput, + ProvisionIpamByoasnCommandOutput, + EC2ClientResolvedConfig +> { + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: ProvisionIpamByoasnCommandInput) { + super(); + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EC2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, ProvisionIpamByoasnCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EC2Client"; + const commandName = "ProvisionIpamByoasnCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + [SMITHY_CONTEXT_KEY]: { + service: "AmazonEC2", + operation: "ProvisionIpamByoasn", + }, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: ProvisionIpamByoasnCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_ProvisionIpamByoasnCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_ProvisionIpamByoasnCommand(output, context); + } +} diff --git a/clients/client-ec2/src/commands/RejectTransitGatewayMulticastDomainAssociationsCommand.ts b/clients/client-ec2/src/commands/RejectTransitGatewayMulticastDomainAssociationsCommand.ts index a9ab1b1ccfa27..e0a4837372ed6 100644 --- a/clients/client-ec2/src/commands/RejectTransitGatewayMulticastDomainAssociationsCommand.ts +++ b/clients/client-ec2/src/commands/RejectTransitGatewayMulticastDomainAssociationsCommand.ts @@ -18,7 +18,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { RejectTransitGatewayMulticastDomainAssociationsRequest, RejectTransitGatewayMulticastDomainAssociationsResult, -} from "../models/models_6"; +} from "../models/models_7"; import { de_RejectTransitGatewayMulticastDomainAssociationsCommand, se_RejectTransitGatewayMulticastDomainAssociationsCommand, diff --git a/clients/client-ec2/src/commands/RejectTransitGatewayPeeringAttachmentCommand.ts b/clients/client-ec2/src/commands/RejectTransitGatewayPeeringAttachmentCommand.ts index d4b1cae77cad4..b05c41dadcdc2 100644 --- a/clients/client-ec2/src/commands/RejectTransitGatewayPeeringAttachmentCommand.ts +++ b/clients/client-ec2/src/commands/RejectTransitGatewayPeeringAttachmentCommand.ts @@ -18,7 +18,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { RejectTransitGatewayPeeringAttachmentRequest, RejectTransitGatewayPeeringAttachmentResult, -} from "../models/models_6"; +} from "../models/models_7"; import { de_RejectTransitGatewayPeeringAttachmentCommand, se_RejectTransitGatewayPeeringAttachmentCommand, diff --git a/clients/client-ec2/src/commands/RejectTransitGatewayVpcAttachmentCommand.ts b/clients/client-ec2/src/commands/RejectTransitGatewayVpcAttachmentCommand.ts index 674017be396eb..72c7e39d7aa2b 100644 --- a/clients/client-ec2/src/commands/RejectTransitGatewayVpcAttachmentCommand.ts +++ b/clients/client-ec2/src/commands/RejectTransitGatewayVpcAttachmentCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { RejectTransitGatewayVpcAttachmentRequest, RejectTransitGatewayVpcAttachmentResult } from "../models/models_6"; +import { RejectTransitGatewayVpcAttachmentRequest, RejectTransitGatewayVpcAttachmentResult } from "../models/models_7"; import { de_RejectTransitGatewayVpcAttachmentCommand, se_RejectTransitGatewayVpcAttachmentCommand, diff --git a/clients/client-ec2/src/commands/RejectVpcEndpointConnectionsCommand.ts b/clients/client-ec2/src/commands/RejectVpcEndpointConnectionsCommand.ts index a3792352d032e..cf22b291b69d6 100644 --- a/clients/client-ec2/src/commands/RejectVpcEndpointConnectionsCommand.ts +++ b/clients/client-ec2/src/commands/RejectVpcEndpointConnectionsCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { RejectVpcEndpointConnectionsRequest, RejectVpcEndpointConnectionsResult } from "../models/models_6"; +import { RejectVpcEndpointConnectionsRequest, RejectVpcEndpointConnectionsResult } from "../models/models_7"; import { de_RejectVpcEndpointConnectionsCommand, se_RejectVpcEndpointConnectionsCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/RejectVpcPeeringConnectionCommand.ts b/clients/client-ec2/src/commands/RejectVpcPeeringConnectionCommand.ts index edc43d2c0d97f..c0a221bb17287 100644 --- a/clients/client-ec2/src/commands/RejectVpcPeeringConnectionCommand.ts +++ b/clients/client-ec2/src/commands/RejectVpcPeeringConnectionCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { RejectVpcPeeringConnectionRequest, RejectVpcPeeringConnectionResult } from "../models/models_6"; +import { RejectVpcPeeringConnectionRequest, RejectVpcPeeringConnectionResult } from "../models/models_7"; import { de_RejectVpcPeeringConnectionCommand, se_RejectVpcPeeringConnectionCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/ReleaseAddressCommand.ts b/clients/client-ec2/src/commands/ReleaseAddressCommand.ts index 22425c3df91e9..67fbb02d68a04 100644 --- a/clients/client-ec2/src/commands/ReleaseAddressCommand.ts +++ b/clients/client-ec2/src/commands/ReleaseAddressCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ReleaseAddressRequest } from "../models/models_6"; +import { ReleaseAddressRequest } from "../models/models_7"; import { de_ReleaseAddressCommand, se_ReleaseAddressCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/ReleaseHostsCommand.ts b/clients/client-ec2/src/commands/ReleaseHostsCommand.ts index fd90e34c2a689..1c3b0dc309218 100644 --- a/clients/client-ec2/src/commands/ReleaseHostsCommand.ts +++ b/clients/client-ec2/src/commands/ReleaseHostsCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ReleaseHostsRequest, ReleaseHostsResult } from "../models/models_6"; +import { ReleaseHostsRequest, ReleaseHostsResult } from "../models/models_7"; import { de_ReleaseHostsCommand, se_ReleaseHostsCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/ReleaseIpamPoolAllocationCommand.ts b/clients/client-ec2/src/commands/ReleaseIpamPoolAllocationCommand.ts index 1c581159b1e7e..6f93317993a95 100644 --- a/clients/client-ec2/src/commands/ReleaseIpamPoolAllocationCommand.ts +++ b/clients/client-ec2/src/commands/ReleaseIpamPoolAllocationCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ReleaseIpamPoolAllocationRequest, ReleaseIpamPoolAllocationResult } from "../models/models_6"; +import { ReleaseIpamPoolAllocationRequest, ReleaseIpamPoolAllocationResult } from "../models/models_7"; import { de_ReleaseIpamPoolAllocationCommand, se_ReleaseIpamPoolAllocationCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/ReplaceIamInstanceProfileAssociationCommand.ts b/clients/client-ec2/src/commands/ReplaceIamInstanceProfileAssociationCommand.ts index 2cb1f2b05b137..4e69c9296efa7 100644 --- a/clients/client-ec2/src/commands/ReplaceIamInstanceProfileAssociationCommand.ts +++ b/clients/client-ec2/src/commands/ReplaceIamInstanceProfileAssociationCommand.ts @@ -18,7 +18,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { ReplaceIamInstanceProfileAssociationRequest, ReplaceIamInstanceProfileAssociationResult, -} from "../models/models_6"; +} from "../models/models_7"; import { de_ReplaceIamInstanceProfileAssociationCommand, se_ReplaceIamInstanceProfileAssociationCommand, diff --git a/clients/client-ec2/src/commands/ReplaceNetworkAclAssociationCommand.ts b/clients/client-ec2/src/commands/ReplaceNetworkAclAssociationCommand.ts index a82bc723aab3c..ef038e2268b5f 100644 --- a/clients/client-ec2/src/commands/ReplaceNetworkAclAssociationCommand.ts +++ b/clients/client-ec2/src/commands/ReplaceNetworkAclAssociationCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ReplaceNetworkAclAssociationRequest, ReplaceNetworkAclAssociationResult } from "../models/models_6"; +import { ReplaceNetworkAclAssociationRequest, ReplaceNetworkAclAssociationResult } from "../models/models_7"; import { de_ReplaceNetworkAclAssociationCommand, se_ReplaceNetworkAclAssociationCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/ReplaceNetworkAclEntryCommand.ts b/clients/client-ec2/src/commands/ReplaceNetworkAclEntryCommand.ts index fe31db022dfdb..c95fea2af1523 100644 --- a/clients/client-ec2/src/commands/ReplaceNetworkAclEntryCommand.ts +++ b/clients/client-ec2/src/commands/ReplaceNetworkAclEntryCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ReplaceNetworkAclEntryRequest } from "../models/models_6"; +import { ReplaceNetworkAclEntryRequest } from "../models/models_7"; import { de_ReplaceNetworkAclEntryCommand, se_ReplaceNetworkAclEntryCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/ReplaceRouteCommand.ts b/clients/client-ec2/src/commands/ReplaceRouteCommand.ts index 8cb60b20ad953..ebb40b7add729 100644 --- a/clients/client-ec2/src/commands/ReplaceRouteCommand.ts +++ b/clients/client-ec2/src/commands/ReplaceRouteCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ReplaceRouteRequest } from "../models/models_6"; +import { ReplaceRouteRequest } from "../models/models_7"; import { de_ReplaceRouteCommand, se_ReplaceRouteCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/ReplaceRouteTableAssociationCommand.ts b/clients/client-ec2/src/commands/ReplaceRouteTableAssociationCommand.ts index cdfe6fedd46a5..90e3a5deb5db1 100644 --- a/clients/client-ec2/src/commands/ReplaceRouteTableAssociationCommand.ts +++ b/clients/client-ec2/src/commands/ReplaceRouteTableAssociationCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ReplaceRouteTableAssociationRequest, ReplaceRouteTableAssociationResult } from "../models/models_6"; +import { ReplaceRouteTableAssociationRequest, ReplaceRouteTableAssociationResult } from "../models/models_7"; import { de_ReplaceRouteTableAssociationCommand, se_ReplaceRouteTableAssociationCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/ReplaceTransitGatewayRouteCommand.ts b/clients/client-ec2/src/commands/ReplaceTransitGatewayRouteCommand.ts index 6311ee3ac34d1..0b6c86a28bdb3 100644 --- a/clients/client-ec2/src/commands/ReplaceTransitGatewayRouteCommand.ts +++ b/clients/client-ec2/src/commands/ReplaceTransitGatewayRouteCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ReplaceTransitGatewayRouteRequest, ReplaceTransitGatewayRouteResult } from "../models/models_6"; +import { ReplaceTransitGatewayRouteRequest, ReplaceTransitGatewayRouteResult } from "../models/models_7"; import { de_ReplaceTransitGatewayRouteCommand, se_ReplaceTransitGatewayRouteCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/ReplaceVpnTunnelCommand.ts b/clients/client-ec2/src/commands/ReplaceVpnTunnelCommand.ts index 62ce61cb7cb9f..0ae9a3382b4f8 100644 --- a/clients/client-ec2/src/commands/ReplaceVpnTunnelCommand.ts +++ b/clients/client-ec2/src/commands/ReplaceVpnTunnelCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ReplaceVpnTunnelRequest, ReplaceVpnTunnelResult } from "../models/models_6"; +import { ReplaceVpnTunnelRequest, ReplaceVpnTunnelResult } from "../models/models_7"; import { de_ReplaceVpnTunnelCommand, se_ReplaceVpnTunnelCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/ReportInstanceStatusCommand.ts b/clients/client-ec2/src/commands/ReportInstanceStatusCommand.ts index 56ffdadf75dc2..4387aa790752e 100644 --- a/clients/client-ec2/src/commands/ReportInstanceStatusCommand.ts +++ b/clients/client-ec2/src/commands/ReportInstanceStatusCommand.ts @@ -15,7 +15,7 @@ import { } from "@smithy/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ReportInstanceStatusRequest } from "../models/models_6"; +import { ReportInstanceStatusRequest } from "../models/models_7"; import { de_ReportInstanceStatusCommand, se_ReportInstanceStatusCommand } from "../protocols/Aws_ec2"; /** diff --git a/clients/client-ec2/src/commands/RequestSpotFleetCommand.ts b/clients/client-ec2/src/commands/RequestSpotFleetCommand.ts index 840a9f9c21d2f..e065b25bba0e0 100644 --- a/clients/client-ec2/src/commands/RequestSpotFleetCommand.ts +++ b/clients/client-ec2/src/commands/RequestSpotFleetCommand.ts @@ -19,7 +19,7 @@ import { RequestSpotFleetRequest, RequestSpotFleetRequestFilterSensitiveLog, RequestSpotFleetResponse, -} from "../models/models_6"; +} from "../models/models_7"; import { de_RequestSpotFleetCommand, se_RequestSpotFleetCommand } from "../protocols/Aws_ec2"; /** @@ -177,6 +177,11 @@ export interface RequestSpotFleetCommandOutput extends RequestSpotFleetResponse, * EnaSrdUdpEnabled: true || false, * }, * }, + * ConnectionTrackingSpecification: { // ConnectionTrackingSpecificationRequest + * TcpEstablishedTimeout: Number("int"), + * UdpStreamTimeout: Number("int"), + * UdpTimeout: Number("int"), + * }, * }, * ], * Placement: { // SpotPlacement diff --git a/clients/client-ec2/src/commands/RequestSpotInstancesCommand.ts b/clients/client-ec2/src/commands/RequestSpotInstancesCommand.ts index 2bd827d902310..210ef491375db 100644 --- a/clients/client-ec2/src/commands/RequestSpotInstancesCommand.ts +++ b/clients/client-ec2/src/commands/RequestSpotInstancesCommand.ts @@ -151,6 +151,11 @@ export interface RequestSpotInstancesCommandOutput extends RequestSpotInstancesR * EnaSrdUdpEnabled: true || false, * }, * }, + * ConnectionTrackingSpecification: { // ConnectionTrackingSpecificationRequest + * TcpEstablishedTimeout: Number("int"), + * UdpStreamTimeout: Number("int"), + * UdpTimeout: Number("int"), + * }, * }, * ], * Placement: { // SpotPlacement @@ -278,6 +283,11 @@ export interface RequestSpotInstancesCommandOutput extends RequestSpotInstancesR * // EnaSrdUdpEnabled: true || false, * // }, * // }, + * // ConnectionTrackingSpecification: { // ConnectionTrackingSpecificationRequest + * // TcpEstablishedTimeout: Number("int"), + * // UdpStreamTimeout: Number("int"), + * // UdpTimeout: Number("int"), + * // }, * // }, * // ], * // Placement: { // SpotPlacement diff --git a/clients/client-ec2/src/commands/RunInstancesCommand.ts b/clients/client-ec2/src/commands/RunInstancesCommand.ts index 2499a3ff0247d..4ce5160c54a87 100644 --- a/clients/client-ec2/src/commands/RunInstancesCommand.ts +++ b/clients/client-ec2/src/commands/RunInstancesCommand.ts @@ -205,6 +205,11 @@ export interface RunInstancesCommandOutput extends Reservation, __MetadataBearer * EnaSrdUdpEnabled: true || false, * }, * }, + * ConnectionTrackingSpecification: { // ConnectionTrackingSpecificationRequest + * TcpEstablishedTimeout: Number("int"), + * UdpStreamTimeout: Number("int"), + * UdpTimeout: Number("int"), + * }, * }, * ], * PrivateIpAddress: "STRING_VALUE", @@ -447,6 +452,11 @@ export interface RunInstancesCommandOutput extends Reservation, __MetadataBearer * // Ipv6Prefix: "STRING_VALUE", * // }, * // ], + * // ConnectionTrackingConfiguration: { // ConnectionTrackingSpecificationResponse + * // TcpEstablishedTimeout: Number("int"), + * // UdpStreamTimeout: Number("int"), + * // UdpTimeout: Number("int"), + * // }, * // }, * // ], * // OutpostArn: "STRING_VALUE", diff --git a/clients/client-ec2/src/commands/WithdrawByoipCidrCommand.ts b/clients/client-ec2/src/commands/WithdrawByoipCidrCommand.ts index a22e07a860c36..4d41a7ad63f54 100644 --- a/clients/client-ec2/src/commands/WithdrawByoipCidrCommand.ts +++ b/clients/client-ec2/src/commands/WithdrawByoipCidrCommand.ts @@ -58,6 +58,14 @@ export interface WithdrawByoipCidrCommandOutput extends WithdrawByoipCidrResult, * // ByoipCidr: { // ByoipCidr * // Cidr: "STRING_VALUE", * // Description: "STRING_VALUE", + * // AsnAssociations: [ // AsnAssociationSet + * // { // AsnAssociation + * // Asn: "STRING_VALUE", + * // Cidr: "STRING_VALUE", + * // StatusMessage: "STRING_VALUE", + * // State: "disassociated" || "failed-disassociation" || "failed-association" || "pending-disassociation" || "pending-association" || "associated", + * // }, + * // ], * // StatusMessage: "STRING_VALUE", * // State: "advertised" || "deprovisioned" || "failed-deprovision" || "failed-provision" || "pending-deprovision" || "pending-provision" || "provisioned" || "provisioned-not-publicly-advertisable", * // }, diff --git a/clients/client-ec2/src/commands/index.ts b/clients/client-ec2/src/commands/index.ts index 306fb89e73df0..7edd514ff566c 100644 --- a/clients/client-ec2/src/commands/index.ts +++ b/clients/client-ec2/src/commands/index.ts @@ -20,6 +20,7 @@ export * from "./AssociateDhcpOptionsCommand"; export * from "./AssociateEnclaveCertificateIamRoleCommand"; export * from "./AssociateIamInstanceProfileCommand"; export * from "./AssociateInstanceEventWindowCommand"; +export * from "./AssociateIpamByoasnCommand"; export * from "./AssociateIpamResourceDiscoveryCommand"; export * from "./AssociateNatGatewayAddressCommand"; export * from "./AssociateRouteTableCommand"; @@ -210,6 +211,7 @@ export * from "./DeleteVpnConnectionCommand"; export * from "./DeleteVpnConnectionRouteCommand"; export * from "./DeleteVpnGatewayCommand"; export * from "./DeprovisionByoipCidrCommand"; +export * from "./DeprovisionIpamByoasnCommand"; export * from "./DeprovisionIpamPoolCidrCommand"; export * from "./DeprovisionPublicIpv4PoolCidrCommand"; export * from "./DeregisterImageCommand"; @@ -272,6 +274,7 @@ export * from "./DescribeInstanceTypeOfferingsCommand"; export * from "./DescribeInstanceTypesCommand"; export * from "./DescribeInstancesCommand"; export * from "./DescribeInternetGatewaysCommand"; +export * from "./DescribeIpamByoasnCommand"; export * from "./DescribeIpamPoolsCommand"; export * from "./DescribeIpamResourceDiscoveriesCommand"; export * from "./DescribeIpamResourceDiscoveryAssociationsCommand"; @@ -390,6 +393,7 @@ export * from "./DisassociateClientVpnTargetNetworkCommand"; export * from "./DisassociateEnclaveCertificateIamRoleCommand"; export * from "./DisassociateIamInstanceProfileCommand"; export * from "./DisassociateInstanceEventWindowCommand"; +export * from "./DisassociateIpamByoasnCommand"; export * from "./DisassociateIpamResourceDiscoveryCommand"; export * from "./DisassociateNatGatewayAddressCommand"; export * from "./DisassociateRouteTableCommand"; @@ -438,6 +442,7 @@ export * from "./GetInstanceTypesFromInstanceRequirementsCommand"; export * from "./GetInstanceUefiDataCommand"; export * from "./GetIpamAddressHistoryCommand"; export * from "./GetIpamDiscoveredAccountsCommand"; +export * from "./GetIpamDiscoveredPublicAddressesCommand"; export * from "./GetIpamDiscoveredResourceCidrsCommand"; export * from "./GetIpamPoolAllocationsCommand"; export * from "./GetIpamPoolCidrsCommand"; @@ -543,6 +548,7 @@ export * from "./MonitorInstancesCommand"; export * from "./MoveAddressToVpcCommand"; export * from "./MoveByoipCidrToIpamCommand"; export * from "./ProvisionByoipCidrCommand"; +export * from "./ProvisionIpamByoasnCommand"; export * from "./ProvisionIpamPoolCidrCommand"; export * from "./ProvisionPublicIpv4PoolCidrCommand"; export * from "./PurchaseCapacityBlockCommand"; diff --git a/clients/client-ec2/src/models/models_0.ts b/clients/client-ec2/src/models/models_0.ts index 3865e3e162955..57ab2d2c9cc50 100644 --- a/clients/client-ec2/src/models/models_0.ts +++ b/clients/client-ec2/src/models/models_0.ts @@ -2937,6 +2937,12 @@ export interface AdvertiseByoipCidrRequest { */ Cidr: string | undefined; + /** + * @public + *

The public 2-byte or 4-byte ASN that you want to advertise.

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

Checks whether you have the required permissions for the action, without actually making the request, @@ -2946,6 +2952,54 @@ export interface AdvertiseByoipCidrRequest { DryRun?: boolean; } +/** + * @public + * @enum + */ +export const AsnAssociationState = { + associated: "associated", + disassociated: "disassociated", + failed_association: "failed-association", + failed_disassociation: "failed-disassociation", + pending_association: "pending-association", + pending_disassociation: "pending-disassociation", +} as const; + +/** + * @public + */ +export type AsnAssociationState = (typeof AsnAssociationState)[keyof typeof AsnAssociationState]; + +/** + * @public + *

An Autonomous System Number (ASN) and BYOIP CIDR association.

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

The association's ASN.

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

The association's CIDR.

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

The association's status message.

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

The association's state.

+ */ + State?: AsnAssociationState; +} + /** * @public * @enum @@ -2984,6 +3038,12 @@ export interface ByoipCidr { */ Description?: string; + /** + * @public + *

The BYOIP CIDR associations with ASNs.

+ */ + AsnAssociations?: AsnAssociation[]; + /** * @public *

Upon success, contains the ID of the address pool. Otherwise, contains an error message.

@@ -3369,6 +3429,12 @@ export interface AllocateIpamPoolCidrRequest { */ PreviewNextCidr?: boolean; + /** + * @public + *

Include a particular CIDR range that can be returned by the pool. Allowed CIDRs are only allowed if using netmask length for allocation.

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

Exclude a particular CIDR range from being returned by the pool. Disallowed CIDRs are only allowed if using netmask length for allocation.

@@ -3384,6 +3450,7 @@ export const IpamPoolAllocationResourceType = { custom: "custom", ec2_public_ipv4_pool: "ec2-public-ipv4-pool", ipam_pool: "ipam-pool", + subnet: "subnet", vpc: "vpc", } as const; @@ -4425,6 +4492,42 @@ export interface AssociateInstanceEventWindowResult { InstanceEventWindow?: InstanceEventWindow; } +/** + * @public + */ +export interface AssociateIpamByoasnRequest { + /** + * @public + *

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.

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

A public 2-byte or 4-byte ASN.

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

The BYOIP CIDR you want to associate with an ASN.

+ */ + Cidr: string | undefined; +} + +/** + * @public + */ +export interface AssociateIpamByoasnResult { + /** + * @public + *

The ASN and BYOIP CIDR association.

+ */ + AsnAssociation?: AsnAssociation; +} + /** * @public */ @@ -4771,16 +4874,27 @@ export interface AssociateRouteTableResult { export interface AssociateSubnetCidrBlockRequest { /** * @public - *

The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix - * length.

+ *

The IPv6 CIDR block for your subnet.

*/ - Ipv6CidrBlock: string | undefined; + Ipv6CidrBlock?: string; /** * @public *

The ID of your subnet.

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

An IPv6 IPAM pool ID.

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

An IPv6 netmask length.

+ */ + Ipv6NetmaskLength?: number; } /** @@ -5124,11 +5238,7 @@ export type InterfaceProtocolType = (typeof InterfaceProtocolType)[keyof typeof /** * @public - * - *

Currently available in limited preview only. - * If you are interested in using this feature, contact your account manager.

- *
- *

Information about an association between a branch network interface with a trunk network interface.

+ *

Information about an association between a branch network interface with a trunk network interface.

*/ export interface TrunkInterfaceAssociation { /** @@ -5199,7 +5309,8 @@ export interface AssociateTrunkInterfaceResult { export interface AssociateVpcCidrBlockRequest { /** * @public - *

Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IPv6 addresses, or the size of the CIDR block.

+ *

Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You + * cannot specify the range of IPv6 addresses or the size of the CIDR block.

*/ AmazonProvidedIpv6CidrBlock?: boolean; @@ -9565,81 +9676,6 @@ export interface CreateCarrierGatewayRequest { ClientToken?: string; } -/** - * @public - * @enum - */ -export const CarrierGatewayState = { - available: "available", - deleted: "deleted", - deleting: "deleting", - pending: "pending", -} as const; - -/** - * @public - */ -export type CarrierGatewayState = (typeof CarrierGatewayState)[keyof typeof CarrierGatewayState]; - -/** - * @public - *

Describes a carrier gateway.

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

The ID of the carrier gateway.

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

The ID of the VPC associated with the carrier gateway.

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

The state of the carrier gateway.

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

The Amazon Web Services account ID of the owner of the carrier gateway.

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

The tags assigned to the carrier gateway.

- */ - Tags?: Tag[]; -} - -/** - * @public - */ -export interface CreateCarrierGatewayResult { - /** - * @public - *

Information about the carrier gateway.

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

Describes the Active Directory to be used for client authentication.

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

The ID of the Active Directory to be used for authentication.

- */ - DirectoryId?: string; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_1.ts b/clients/client-ec2/src/models/models_1.ts index 10ecbb5002e4b..1684c86706e01 100644 --- a/clients/client-ec2/src/models/models_1.ts +++ b/clients/client-ec2/src/models/models_1.ts @@ -16,9 +16,7 @@ import { AddPrefixListEntry, AddressFamily, AttachmentStatus, - DirectoryServiceAuthenticationRequest, InstanceEventWindow, - Ipv4PrefixSpecification, NatGatewayAddress, PortRange, Protocol, @@ -32,6 +30,81 @@ import { WeekDay, } from "./models_0"; +/** + * @public + * @enum + */ +export const CarrierGatewayState = { + available: "available", + deleted: "deleted", + deleting: "deleting", + pending: "pending", +} as const; + +/** + * @public + */ +export type CarrierGatewayState = (typeof CarrierGatewayState)[keyof typeof CarrierGatewayState]; + +/** + * @public + *

Describes a carrier gateway.

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

The ID of the carrier gateway.

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

The ID of the VPC associated with the carrier gateway.

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

The state of the carrier gateway.

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

The Amazon Web Services account ID of the owner of the carrier gateway.

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

The tags assigned to the carrier gateway.

+ */ + Tags?: Tag[]; +} + +/** + * @public + */ +export interface CreateCarrierGatewayResult { + /** + * @public + *

Information about the carrier gateway.

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

Describes the Active Directory to be used for client authentication.

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

The ID of the Active Directory to be used for authentication.

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

The IAM SAML identity provider used for federated authentication.

@@ -4890,6 +4963,20 @@ export interface CreateInternetGatewayResult { InternetGateway?: InternetGateway; } +/** + * @public + * @enum + */ +export const IpamTier = { + advanced: "advanced", + free: "free", +} as const; + +/** + * @public + */ +export type IpamTier = (typeof IpamTier)[keyof typeof IpamTier]; + /** * @public */ @@ -4928,6 +5015,12 @@ export interface CreateIpamRequest { *

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

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

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.

+ */ + Tier?: IpamTier; } /** @@ -5058,6 +5151,18 @@ export interface Ipam { *

The IPAM's resource discovery association count.

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

The state message.

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

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.

+ */ + Tier?: IpamTier; } /** @@ -5116,6 +5221,49 @@ export const IpamPoolPublicIpSource = { */ export type IpamPoolPublicIpSource = (typeof IpamPoolPublicIpSource)[keyof typeof IpamPoolPublicIpSource]; +/** + * @public + * @enum + */ +export const IpamPoolSourceResourceType = { + vpc: "vpc", +} as const; + +/** + * @public + */ +export type IpamPoolSourceResourceType = (typeof IpamPoolSourceResourceType)[keyof typeof IpamPoolSourceResourceType]; + +/** + * @public + *

The resource used to provision CIDRs to a resource planning pool.

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

The source resource ID.

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

The source resource type.

+ */ + ResourceType?: IpamPoolSourceResourceType; + + /** + * @public + *

The source resource Region.

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

The source resource owner.

+ */ + ResourceOwner?: string; +} + /** * @public */ @@ -5230,6 +5378,12 @@ export interface CreateIpamPoolRequest { * By default, you can add only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool if PublicIpSource is amazon. For information on increasing the default limit, see Quotas for your IPAM in the Amazon VPC IPAM User Guide.

*/ PublicIpSource?: IpamPoolPublicIpSource; + + /** + * @public + *

The resource used to provision CIDRs to a resource planning pool.

+ */ + SourceResource?: IpamPoolSourceResourceRequest; } /** @@ -5265,6 +5419,36 @@ export const IpamScopeType = { */ export type IpamScopeType = (typeof IpamScopeType)[keyof typeof IpamScopeType]; +/** + * @public + *

The resource used to provision CIDRs to a resource planning pool.

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

The source resource ID.

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

The source resource type.

+ */ + ResourceType?: IpamPoolSourceResourceType; + + /** + * @public + *

The source resource Region.

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

The source resource owner.

+ */ + ResourceOwner?: string; +} + /** * @public * @enum @@ -5363,7 +5547,7 @@ export interface IpamPool { /** * @public - *

A message related to the failed creation of an IPAM pool.

+ *

The state message.

*/ StateMessage?: string; @@ -5442,6 +5626,12 @@ export interface IpamPool { * By default, you can add only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool. For information on increasing the default limit, see Quotas for your IPAM in the Amazon VPC IPAM User Guide.

*/ PublicIpSource?: IpamPoolPublicIpSource; + + /** + * @public + *

The resource used to provision CIDRs to a resource planning pool.

+ */ + SourceResource?: IpamPoolSourceResource; } /** @@ -6565,6 +6755,37 @@ export interface LaunchTemplatesMonitoringRequest { Enabled?: boolean; } +/** + * @public + *

A security group connection tracking specification request that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

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

Timeout (in seconds) for idle TCP + * connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 + * days). Default: 432000 seconds. Recommended: Less than 432000 seconds.

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

Timeout (in seconds) for idle UDP + * flows classified as streams which have seen more than one request-response + * transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 + * seconds.

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

Timeout (in seconds) for idle UDP flows that + * have seen traffic only in a single direction or a single request-response + * transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.

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

Configures ENA Express for UDP network traffic from your launch template.

@@ -6808,6 +7029,12 @@ export interface LaunchTemplateInstanceNetworkInterfaceSpecificationRequest { *

Configure ENA Express settings for your launch template.

*/ EnaSrdSpecification?: EnaSrdSpecificationRequest; + + /** + * @public + *

A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

+ */ + ConnectionTrackingSpecification?: ConnectionTrackingSpecificationRequest; } /** @@ -7943,6 +8170,37 @@ export interface LaunchTemplatesMonitoring { Enabled?: boolean; } +/** + * @public + *

A security group connection tracking specification that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

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

Timeout (in seconds) for idle TCP + * connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 + * days). Default: 432000 seconds. Recommended: Less than 432000 seconds.

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

Timeout (in seconds) for idle UDP flows that + * have seen traffic only in a single direction or a single request-response + * transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.

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

Timeout (in seconds) for idle UDP + * flows classified as streams which have seen more than one request-response + * transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 + * seconds.

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

ENA Express is compatible with both TCP and UDP transport protocols. When it's enabled, TCP traffic @@ -8169,6 +8427,12 @@ export interface LaunchTemplateInstanceNetworkInterfaceSpecification { *

Contains the ENA Express settings for instances launched from your launch template.

*/ EnaSrdSpecification?: LaunchTemplateEnaSrdSpecification; + + /** + * @public + *

A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

+ */ + ConnectionTrackingSpecification?: ConnectionTrackingSpecification; } /** @@ -10421,6 +10685,12 @@ export interface CreateNetworkInterfaceRequest { * address.

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

A connection tracking specification for the network interface.

+ */ + ConnectionTrackingSpecification?: ConnectionTrackingSpecificationRequest; } /** @@ -10577,6 +10847,37 @@ export interface NetworkInterfaceAttachment { EnaSrdSpecification?: AttachmentEnaSrdSpecification; } +/** + * @public + *

A security group connection tracking configuration that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

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

Timeout (in seconds) for idle TCP + * connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 + * days). Default: 432000 seconds. Recommended: Less than 432000 seconds.

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

Timeout (in seconds) for idle UDP + * flows classified as streams which have seen more than one request-response + * transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 + * seconds.

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

Timeout (in seconds) for idle UDP flows that + * have seen traffic only in a single direction or a single request-response + * transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.

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

Describes a security group.

@@ -10642,389 +10943,6 @@ export interface NetworkInterfaceIpv6Address { IsPrimaryIpv6?: boolean; } -/** - * @public - *

Describes the IPv6 prefix.

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

The IPv6 prefix.

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

Describes the private IPv4 address of a network interface.

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

The association information for an Elastic IP address (IPv4) associated with the network interface.

- */ - Association?: NetworkInterfaceAssociation; - - /** - * @public - *

Indicates whether this IPv4 address is the primary private IPv4 address of the network interface.

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

The private DNS name.

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

The private IPv4 address.

- */ - PrivateIpAddress?: string; -} - -/** - * @public - * @enum - */ -export const NetworkInterfaceStatus = { - associated: "associated", - attaching: "attaching", - available: "available", - detaching: "detaching", - in_use: "in-use", -} as const; - -/** - * @public - */ -export type NetworkInterfaceStatus = (typeof NetworkInterfaceStatus)[keyof typeof NetworkInterfaceStatus]; - -/** - * @public - *

Describes a network interface.

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

The association information for an Elastic IP address (IPv4) associated with the network interface.

- */ - Association?: NetworkInterfaceAssociation; - - /** - * @public - *

The network interface attachment.

- */ - Attachment?: NetworkInterfaceAttachment; - - /** - * @public - *

The Availability Zone.

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

A description.

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

Any security groups for the network interface.

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

The type of network interface.

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

The IPv6 addresses associated with the network interface.

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

The MAC address.

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

The ID of the network interface.

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

The Amazon Resource Name (ARN) of the Outpost.

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

The Amazon Web Services account ID of the owner of the network interface.

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

The private DNS name.

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

The IPv4 address of the network interface within the subnet.

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

The private IPv4 addresses associated with the network interface.

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

The IPv4 prefixes that are assigned to the network interface.

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

The IPv6 prefixes that are assigned to the network interface.

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

The alias or Amazon Web Services account ID of the principal or service that created the network interface.

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

Indicates whether the network interface is being managed by Amazon Web Services.

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

Indicates whether source/destination checking is enabled.

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

The status of the network interface.

- */ - Status?: NetworkInterfaceStatus; - - /** - * @public - *

The ID of the subnet.

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

Any tags assigned to the network interface.

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

The ID of the VPC.

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

Indicates whether a network interface with an IPv6 address is unreachable from the - * public internet. If the value is true, inbound traffic from the internet - * is dropped and you cannot assign an elastic IP address to the network interface. The - * network interface is reachable from peered VPCs and resources connected through a - * transit gateway, including on-premises networks.

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

Indicates whether this is an IPv6 only network interface.

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

The IPv6 globally unique address associated with the network interface.

- */ - Ipv6Address?: string; -} - -/** - * @public - */ -export interface CreateNetworkInterfaceResult { - /** - * @public - *

Information about the network interface.

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

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

- */ - ClientToken?: string; -} - -/** - * @public - * @enum - */ -export const InterfacePermissionType = { - EIP_ASSOCIATE: "EIP-ASSOCIATE", - INSTANCE_ATTACH: "INSTANCE-ATTACH", -} as const; - -/** - * @public - */ -export type InterfacePermissionType = (typeof InterfacePermissionType)[keyof typeof InterfacePermissionType]; - -/** - * @public - *

Contains the parameters for CreateNetworkInterfacePermission.

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

The ID of the network interface.

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

The Amazon Web Services account ID.

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

The Amazon Web Service. Currently not supported.

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

The type of permission to grant.

- */ - Permission: InterfacePermissionType | undefined; - - /** - * @public - *

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.

- */ - DryRun?: boolean; -} - -/** - * @public - * @enum - */ -export const NetworkInterfacePermissionStateCode = { - granted: "granted", - pending: "pending", - revoked: "revoked", - revoking: "revoking", -} as const; - -/** - * @public - */ -export type NetworkInterfacePermissionStateCode = - (typeof NetworkInterfacePermissionStateCode)[keyof typeof NetworkInterfacePermissionStateCode]; - -/** - * @public - *

Describes the state of a network interface permission.

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

The state of the permission.

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

A status message, if applicable.

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

Describes a permission for a network interface.

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

The ID of the network interface permission.

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

The ID of the network interface.

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

The Amazon Web Services account ID.

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

The Amazon Web Service.

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

The type of permission.

- */ - Permission?: InterfacePermissionType; - - /** - * @public - *

Information about the state of the permission.

- */ - PermissionState?: NetworkInterfacePermissionState; -} - -/** - * @public - *

Contains the output of CreateNetworkInterfacePermission.

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

Information about the permission for the network interface.

- */ - InterfacePermission?: NetworkInterfacePermission; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_2.ts b/clients/client-ec2/src/models/models_2.ts index 367ca4ac8d101..2c43fdabf1784 100644 --- a/clients/client-ec2/src/models/models_2.ts +++ b/clients/client-ec2/src/models/models_2.ts @@ -3,12 +3,12 @@ import { SENSITIVE_STRING } from "@smithy/smithy-client"; import { ApplianceModeSupportValue, - CarrierGateway, CurrencyCodeValues, DeviceTrustProviderType, DnsSupportValue, DynamicRoutingValue, InstanceEventWindowState, + Ipv4PrefixSpecification, Ipv6SupportValue, ReservedInstancesListing, RouteTableAssociationState, @@ -30,12 +30,15 @@ import { VpcPeeringConnection, } from "./models_0"; import { + CarrierGateway, ClientVpnEndpointStatus, ClientVpnRouteStatus, CoipCidr, CoipPool, + ConnectionTrackingConfiguration, Ec2InstanceConnectEndpoint, GatewayType, + GroupIdentifier, Ipam, IpamPool, IpamResourceDiscovery, @@ -46,12 +49,405 @@ import { LocalGatewayRouteTableVirtualInterfaceGroupAssociation, LocalGatewayRouteTableVpcAssociation, ManagedPrefixList, + NetworkInterfaceAssociation, + NetworkInterfaceAttachment, + NetworkInterfaceIpv6Address, + NetworkInterfaceType, Subnet, Tenancy, VolumeType, Vpc, } from "./models_1"; +/** + * @public + *

Describes the IPv6 prefix.

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

The IPv6 prefix.

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

Describes the private IPv4 address of a network interface.

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

The association information for an Elastic IP address (IPv4) associated with the network interface.

+ */ + Association?: NetworkInterfaceAssociation; + + /** + * @public + *

Indicates whether this IPv4 address is the primary private IPv4 address of the network interface.

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

The private DNS name.

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

The private IPv4 address.

+ */ + PrivateIpAddress?: string; +} + +/** + * @public + * @enum + */ +export const NetworkInterfaceStatus = { + associated: "associated", + attaching: "attaching", + available: "available", + detaching: "detaching", + in_use: "in-use", +} as const; + +/** + * @public + */ +export type NetworkInterfaceStatus = (typeof NetworkInterfaceStatus)[keyof typeof NetworkInterfaceStatus]; + +/** + * @public + *

Describes a network interface.

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

The association information for an Elastic IP address (IPv4) associated with the network interface.

+ */ + Association?: NetworkInterfaceAssociation; + + /** + * @public + *

The network interface attachment.

+ */ + Attachment?: NetworkInterfaceAttachment; + + /** + * @public + *

The Availability Zone.

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

A security group connection tracking configuration that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

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

A description.

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

Any security groups for the network interface.

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

The type of network interface.

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

The IPv6 addresses associated with the network interface.

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

The MAC address.

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

The ID of the network interface.

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

The Amazon Resource Name (ARN) of the Outpost.

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

The Amazon Web Services account ID of the owner of the network interface.

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

The private DNS name.

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

The IPv4 address of the network interface within the subnet.

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

The private IPv4 addresses associated with the network interface.

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

The IPv4 prefixes that are assigned to the network interface.

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

The IPv6 prefixes that are assigned to the network interface.

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

The alias or Amazon Web Services account ID of the principal or service that created the network interface.

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

Indicates whether the network interface is being managed by Amazon Web Services.

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

Indicates whether source/destination checking is enabled.

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

The status of the network interface.

+ */ + Status?: NetworkInterfaceStatus; + + /** + * @public + *

The ID of the subnet.

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

Any tags assigned to the network interface.

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

The ID of the VPC.

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

Indicates whether a network interface with an IPv6 address is unreachable from the + * public internet. If the value is true, inbound traffic from the internet + * is dropped and you cannot assign an elastic IP address to the network interface. The + * network interface is reachable from peered VPCs and resources connected through a + * transit gateway, including on-premises networks.

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

Indicates whether this is an IPv6 only network interface.

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

The IPv6 globally unique address associated with the network interface.

+ */ + Ipv6Address?: string; +} + +/** + * @public + */ +export interface CreateNetworkInterfaceResult { + /** + * @public + *

Information about the network interface.

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

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

+ */ + ClientToken?: string; +} + +/** + * @public + * @enum + */ +export const InterfacePermissionType = { + EIP_ASSOCIATE: "EIP-ASSOCIATE", + INSTANCE_ATTACH: "INSTANCE-ATTACH", +} as const; + +/** + * @public + */ +export type InterfacePermissionType = (typeof InterfacePermissionType)[keyof typeof InterfacePermissionType]; + +/** + * @public + *

Contains the parameters for CreateNetworkInterfacePermission.

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

The ID of the network interface.

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

The Amazon Web Services account ID.

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

The Amazon Web Service. Currently not supported.

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

The type of permission to grant.

+ */ + Permission: InterfacePermissionType | undefined; + + /** + * @public + *

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.

+ */ + DryRun?: boolean; +} + +/** + * @public + * @enum + */ +export const NetworkInterfacePermissionStateCode = { + granted: "granted", + pending: "pending", + revoked: "revoked", + revoking: "revoking", +} as const; + +/** + * @public + */ +export type NetworkInterfacePermissionStateCode = + (typeof NetworkInterfacePermissionStateCode)[keyof typeof NetworkInterfacePermissionStateCode]; + +/** + * @public + *

Describes the state of a network interface permission.

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

The state of the permission.

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

A status message, if applicable.

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

Describes a permission for a network interface.

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

The ID of the network interface permission.

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

The ID of the network interface.

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

The Amazon Web Services account ID.

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

The Amazon Web Service.

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

The type of permission.

+ */ + Permission?: InterfacePermissionType; + + /** + * @public + *

Information about the state of the permission.

+ */ + PermissionState?: NetworkInterfacePermissionState; +} + +/** + * @public + *

Contains the output of CreateNetworkInterfacePermission.

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

Information about the permission for the network interface.

+ */ + InterfacePermission?: NetworkInterfacePermission; +} + /** * @public * @enum @@ -1670,9 +2066,8 @@ export interface CreateSubnetRequest { /** * @public - *

The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a - * /64 prefix length.

- *

This parameter is required for an IPv6 only subnet.

+ *

The IPv6 network range for the subnet, in CIDR notation. This parameter is required + * for an IPv6 only subnet.

*/ Ipv6CidrBlock?: string; @@ -1702,6 +2097,30 @@ export interface CreateSubnetRequest { *

Indicates whether to create an IPv6 only subnet.

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

An IPv4 IPAM pool ID for the subnet.

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

An IPv4 netmask length for the subnet.

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

An IPv6 IPAM pool ID for the subnet.

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

An IPv6 netmask length for the subnet.

+ */ + Ipv6NetmaskLength?: number; } /** @@ -8122,6 +8541,16 @@ export interface DeleteIpamPoolRequest { *

The ID of the pool to delete.

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

Enables you to quickly delete an IPAM pool and all resources within that pool, including + * provisioned CIDRs, allocations, and other pools.

+ * + *

You can only use this option to delete pools in the private scope or pools in the public scope with a source resource. A source resource is a resource used to provision CIDRs to a resource planning pool.

+ *
+ */ + Cascade?: boolean; } /** @@ -8611,187 +9040,6 @@ export interface DeleteNatGatewayRequest { NatGatewayId: string | undefined; } -/** - * @public - */ -export interface DeleteNatGatewayResult { - /** - * @public - *

The ID of the NAT gateway.

- */ - NatGatewayId?: string; -} - -/** - * @public - */ -export interface DeleteNetworkAclRequest { - /** - * @public - *

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.

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

The ID of the network ACL.

- */ - NetworkAclId: string | undefined; -} - -/** - * @public - */ -export interface DeleteNetworkAclEntryRequest { - /** - * @public - *

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.

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

Indicates whether the rule is an egress rule.

- */ - Egress: boolean | undefined; - - /** - * @public - *

The ID of the network ACL.

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

The rule number of the entry to delete.

- */ - RuleNumber: number | undefined; -} - -/** - * @public - */ -export interface DeleteNetworkInsightsAccessScopeRequest { - /** - * @public - *

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.

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

The ID of the Network Access Scope.

- */ - NetworkInsightsAccessScopeId: string | undefined; -} - -/** - * @public - */ -export interface DeleteNetworkInsightsAccessScopeResult { - /** - * @public - *

The ID of the Network Access Scope.

- */ - NetworkInsightsAccessScopeId?: string; -} - -/** - * @public - */ -export interface DeleteNetworkInsightsAccessScopeAnalysisRequest { - /** - * @public - *

The ID of the Network Access Scope analysis.

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

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.

- */ - DryRun?: boolean; -} - -/** - * @public - */ -export interface DeleteNetworkInsightsAccessScopeAnalysisResult { - /** - * @public - *

The ID of the Network Access Scope analysis.

- */ - NetworkInsightsAccessScopeAnalysisId?: string; -} - -/** - * @public - */ -export interface DeleteNetworkInsightsAnalysisRequest { - /** - * @public - *

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.

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

The ID of the network insights analysis.

- */ - NetworkInsightsAnalysisId: string | undefined; -} - -/** - * @public - */ -export interface DeleteNetworkInsightsAnalysisResult { - /** - * @public - *

The ID of the network insights analysis.

- */ - NetworkInsightsAnalysisId?: string; -} - -/** - * @public - */ -export interface DeleteNetworkInsightsPathRequest { - /** - * @public - *

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.

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

The ID of the path.

- */ - NetworkInsightsPathId: string | undefined; -} - -/** - * @public - */ -export interface DeleteNetworkInsightsPathResult { - /** - * @public - *

The ID of the path.

- */ - NetworkInsightsPathId?: string; -} - /** * @internal */ diff --git a/clients/client-ec2/src/models/models_3.ts b/clients/client-ec2/src/models/models_3.ts index 064dcd64641c8..be786ae79b1df 100644 --- a/clients/client-ec2/src/models/models_3.ts +++ b/clients/client-ec2/src/models/models_3.ts @@ -13,7 +13,6 @@ import { AllocationState, AllowsMultipleInstanceTypes, AssociationStatus, - AttachmentStatus, AutoPlacement, BundleTask, BundleTaskFilterSensitiveLog, @@ -21,7 +20,6 @@ import { CapacityReservation, CapacityReservationFleetState, CapacityReservationTenancy, - CarrierGateway, ClientVpnAuthorizationRuleStatus, CurrencyCodeValues, FleetCapacityReservation, @@ -41,6 +39,7 @@ import { import { AttributeValue, BlockDeviceMapping, + CarrierGateway, ClientVpnAuthenticationType, ClientVpnEndpointStatus, ClientVpnRouteStatus, @@ -50,7 +49,6 @@ import { DestinationFileFormat, DhcpOptions, DiskImageFormat, - Ec2InstanceConnectEndpoint, EgressOnlyInternetGateway, ExportTask, FleetCapacityReservationUsageStrategy, @@ -88,6 +86,187 @@ import { VerifiedAccessGroup, } from "./models_2"; +/** + * @public + */ +export interface DeleteNatGatewayResult { + /** + * @public + *

The ID of the NAT gateway.

+ */ + NatGatewayId?: string; +} + +/** + * @public + */ +export interface DeleteNetworkAclRequest { + /** + * @public + *

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.

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

The ID of the network ACL.

+ */ + NetworkAclId: string | undefined; +} + +/** + * @public + */ +export interface DeleteNetworkAclEntryRequest { + /** + * @public + *

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.

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

Indicates whether the rule is an egress rule.

+ */ + Egress: boolean | undefined; + + /** + * @public + *

The ID of the network ACL.

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

The rule number of the entry to delete.

+ */ + RuleNumber: number | undefined; +} + +/** + * @public + */ +export interface DeleteNetworkInsightsAccessScopeRequest { + /** + * @public + *

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.

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

The ID of the Network Access Scope.

+ */ + NetworkInsightsAccessScopeId: string | undefined; +} + +/** + * @public + */ +export interface DeleteNetworkInsightsAccessScopeResult { + /** + * @public + *

The ID of the Network Access Scope.

+ */ + NetworkInsightsAccessScopeId?: string; +} + +/** + * @public + */ +export interface DeleteNetworkInsightsAccessScopeAnalysisRequest { + /** + * @public + *

The ID of the Network Access Scope analysis.

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

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.

+ */ + DryRun?: boolean; +} + +/** + * @public + */ +export interface DeleteNetworkInsightsAccessScopeAnalysisResult { + /** + * @public + *

The ID of the Network Access Scope analysis.

+ */ + NetworkInsightsAccessScopeAnalysisId?: string; +} + +/** + * @public + */ +export interface DeleteNetworkInsightsAnalysisRequest { + /** + * @public + *

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.

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

The ID of the network insights analysis.

+ */ + NetworkInsightsAnalysisId: string | undefined; +} + +/** + * @public + */ +export interface DeleteNetworkInsightsAnalysisResult { + /** + * @public + *

The ID of the network insights analysis.

+ */ + NetworkInsightsAnalysisId?: string; +} + +/** + * @public + */ +export interface DeleteNetworkInsightsPathRequest { + /** + * @public + *

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.

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

The ID of the path.

+ */ + NetworkInsightsPathId: string | undefined; +} + +/** + * @public + */ +export interface DeleteNetworkInsightsPathResult { + /** + * @public + *

The ID of the path.

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

Contains the parameters for DeleteNetworkInterface.

@@ -1356,6 +1535,90 @@ export interface DeprovisionByoipCidrResult { ByoipCidr?: ByoipCidr; } +/** + * @public + */ +export interface DeprovisionIpamByoasnRequest { + /** + * @public + *

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.

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

The IPAM ID.

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

An ASN.

+ */ + Asn: string | undefined; +} + +/** + * @public + * @enum + */ +export const AsnState = { + deprovisioned: "deprovisioned", + failed_deprovision: "failed-deprovision", + failed_provision: "failed-provision", + pending_deprovision: "pending-deprovision", + pending_provision: "pending-provision", + provisioned: "provisioned", +} as const; + +/** + * @public + */ +export type AsnState = (typeof AsnState)[keyof typeof AsnState]; + +/** + * @public + *

The Autonomous System Number (ASN) and BYOIP CIDR association.

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

A public 2-byte or 4-byte ASN.

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

An IPAM ID.

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

The status message.

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

The provisioning state of the BYOASN.

+ */ + State?: AsnState; +} + +/** + * @public + */ +export interface DeprovisionIpamByoasnResult { + /** + * @public + *

An ASN and BYOIP CIDR association.

+ */ + Byoasn?: Byoasn; +} + /** * @public */ @@ -9096,580 +9359,32 @@ export interface DescribeImportSnapshotTasksRequest { } /** - * @public - *

Details about the import snapshot task.

+ * @internal */ -export interface SnapshotTaskDetail { - /** - * @public - *

The description of the snapshot.

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

The size of the disk in the snapshot, in GiB.

- */ - DiskImageSize?: number; +export const DeleteVerifiedAccessTrustProviderResultFilterSensitiveLog = ( + obj: DeleteVerifiedAccessTrustProviderResult +): any => ({ + ...obj, + ...(obj.VerifiedAccessTrustProvider && { + VerifiedAccessTrustProvider: VerifiedAccessTrustProviderFilterSensitiveLog(obj.VerifiedAccessTrustProvider), + }), +}); - /** - * @public - *

Indicates whether the snapshot is encrypted.

- */ - Encrypted?: boolean; +/** + * @internal + */ +export const DescribeBundleTasksResultFilterSensitiveLog = (obj: DescribeBundleTasksResult): any => ({ + ...obj, + ...(obj.BundleTasks && { BundleTasks: obj.BundleTasks.map((item) => BundleTaskFilterSensitiveLog(item)) }), +}); - /** - * @public - *

The format of the disk image from which the snapshot is created.

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

The identifier for the KMS key that was used to create the encrypted snapshot.

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

The percentage of completion for the import snapshot task.

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

The snapshot ID of the disk being imported.

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

A brief status for the import snapshot task.

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

A detailed status message for the import snapshot task.

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

The URL of the disk image from which the snapshot is created.

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

The Amazon S3 bucket for the disk image.

- */ - UserBucket?: UserBucketDetails; -} - -/** - * @public - *

Describes an import snapshot task.

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

A description of the import snapshot task.

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

The ID of the import snapshot task.

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

Describes an import snapshot task.

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

The tags for the import snapshot task.

- */ - Tags?: Tag[]; -} - -/** - * @public - */ -export interface DescribeImportSnapshotTasksResult { - /** - * @public - *

A list of zero or more import snapshot tasks that are currently active or were completed or canceled in the - * previous 7 days.

- */ - ImportSnapshotTasks?: ImportSnapshotTask[]; - - /** - * @public - *

The token to use to get the next page of results. This value is null when there are no more results - * to return.

- */ - NextToken?: string; -} - -/** - * @public - * @enum - */ -export const InstanceAttributeName = { - blockDeviceMapping: "blockDeviceMapping", - disableApiStop: "disableApiStop", - disableApiTermination: "disableApiTermination", - ebsOptimized: "ebsOptimized", - enaSupport: "enaSupport", - enclaveOptions: "enclaveOptions", - groupSet: "groupSet", - instanceInitiatedShutdownBehavior: "instanceInitiatedShutdownBehavior", - instanceType: "instanceType", - kernel: "kernel", - productCodes: "productCodes", - ramdisk: "ramdisk", - rootDeviceName: "rootDeviceName", - sourceDestCheck: "sourceDestCheck", - sriovNetSupport: "sriovNetSupport", - userData: "userData", -} as const; - -/** - * @public - */ -export type InstanceAttributeName = (typeof InstanceAttributeName)[keyof typeof InstanceAttributeName]; - -/** - * @public - */ -export interface DescribeInstanceAttributeRequest { - /** - * @public - *

The instance attribute.

- *

Note: The enaSupport attribute is not supported at this time.

- */ - Attribute: InstanceAttributeName | undefined; - - /** - * @public - *

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.

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

The ID of the instance.

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

Describes a parameter used to set up an EBS volume in a block device mapping.

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

The time stamp when the attachment initiated.

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

Indicates whether the volume is deleted on instance termination.

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

The attachment state.

- */ - Status?: AttachmentStatus; - - /** - * @public - *

The ID of the EBS volume.

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

Describes a block device mapping.

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

The device name (for example, /dev/sdh or xvdh).

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

Parameters used to automatically set up EBS volumes when the instance is - * launched.

- */ - Ebs?: EbsInstanceBlockDevice; -} - -/** - * @public - *

Describes a value for a resource attribute that is a Boolean value.

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

The attribute value. The valid values are true or false.

- */ - Value?: boolean; -} - -/** - * @public - *

Indicates whether the instance is enabled for Amazon Web Services Nitro - * Enclaves.

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

If this parameter is set to true, the instance is enabled for Amazon Web Services Nitro Enclaves; otherwise, it is not enabled for Amazon Web Services Nitro - * Enclaves.

- */ - Enabled?: boolean; -} - -/** - * @public - *

Describes an instance attribute.

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

The security groups associated with the instance.

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

The block device mapping of the instance.

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

If the value is true, you can't terminate the instance through the Amazon - * EC2 console, CLI, or API; otherwise, you can.

- */ - DisableApiTermination?: AttributeBooleanValue; - - /** - * @public - *

Indicates whether enhanced networking with ENA is enabled.

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

To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to - * true; otherwise, set it to false.

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

Indicates whether the instance is optimized for Amazon EBS I/O.

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

The ID of the instance.

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

Indicates whether an instance stops or terminates when you initiate shutdown from the - * instance (using the operating system command for system shutdown).

- */ - InstanceInitiatedShutdownBehavior?: AttributeValue; - - /** - * @public - *

The instance type.

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

The kernel ID.

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

A list of product codes.

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

The RAM disk ID.

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

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

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

Enable or disable source/destination checks, which ensure that the instance is either - * the source or the destination of any traffic that it receives. If the value is - * true, source/destination checks are enabled; otherwise, they are - * disabled. The default value is true. You must disable source/destination - * checks if the instance runs services such as network address translation, routing, or - * firewalls.

- */ - SourceDestCheck?: AttributeBooleanValue; - - /** - * @public - *

Indicates whether enhanced networking with the Intel 82599 Virtual Function interface - * is enabled.

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

The user data.

- */ - UserData?: AttributeValue; - - /** - * @public - *

To enable the instance for Amazon Web Services Stop Protection, set this parameter to - * true; otherwise, set it to false.

- */ - DisableApiStop?: AttributeBooleanValue; -} - -/** - * @public - */ -export interface DescribeInstanceConnectEndpointsRequest { - /** - * @public - *

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.

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

The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

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

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

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

One or more filters.

- *
    - *
  • - *

    - * instance-connect-endpoint-id - The ID of the EC2 Instance Connect Endpoint.

    - *
  • - *
  • - *

    - * state - The state of the EC2 Instance Connect Endpoint (create-in-progress | create-complete | create-failed | - * delete-in-progress | delete-complete | delete-failed).

    - *
  • - *
  • - *

    - * subnet-id - The ID of the subnet in which the EC2 Instance - * Connect Endpoint was created.

    - *
  • - *
  • - *

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

    - *
  • - *
  • - *

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

    - *
  • - *
  • - *

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

    - *
  • - *
  • - *

    - * vpc-id - The ID of the VPC in which the EC2 Instance Connect - * Endpoint was created.

    - *
  • - *
- */ - Filters?: Filter[]; - - /** - * @public - *

One or more EC2 Instance Connect Endpoint IDs.

- */ - InstanceConnectEndpointIds?: string[]; -} - -/** - * @public - */ -export interface DescribeInstanceConnectEndpointsResult { - /** - * @public - *

Information about the EC2 Instance Connect Endpoints.

- */ - InstanceConnectEndpoints?: Ec2InstanceConnectEndpoint[]; - - /** - * @public - *

The token to include in another request to get the next page of items. This value is null when there - * are no more items to return.

- */ - NextToken?: string; -} - -/** - * @public - */ -export interface DescribeInstanceCreditSpecificationsRequest { - /** - * @public - *

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.

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

The filters.

- *
    - *
  • - *

    - * instance-id - The ID of the instance.

    - *
  • - *
- */ - Filters?: Filter[]; - - /** - * @public - *

The instance IDs.

- *

Default: Describes all your instances.

- *

Constraints: Maximum 1000 explicitly specified instance IDs.

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

The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

- *

You cannot specify this parameter and the instance IDs - * parameter in the same call.

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

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

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

Describes the credit option for CPU usage of a burstable performance instance.

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

The ID of the instance.

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

The credit option for CPU usage of the instance.

- *

Valid values: standard | unlimited - *

- */ - CpuCredits?: string; -} - -/** - * @public - */ -export interface DescribeInstanceCreditSpecificationsResult { - /** - * @public - *

Information about the credit option for CPU usage of an instance.

- */ - InstanceCreditSpecifications?: InstanceCreditSpecification[]; - - /** - * @public - *

The token to include in another request to get the next page of items. This value is null when there - * are no more items to return.

- */ - NextToken?: string; -} - -/** - * @internal - */ -export const DeleteVerifiedAccessTrustProviderResultFilterSensitiveLog = ( - obj: DeleteVerifiedAccessTrustProviderResult -): any => ({ - ...obj, - ...(obj.VerifiedAccessTrustProvider && { - VerifiedAccessTrustProvider: VerifiedAccessTrustProviderFilterSensitiveLog(obj.VerifiedAccessTrustProvider), - }), -}); - -/** - * @internal - */ -export const DescribeBundleTasksResultFilterSensitiveLog = (obj: DescribeBundleTasksResult): any => ({ - ...obj, - ...(obj.BundleTasks && { BundleTasks: obj.BundleTasks.map((item) => BundleTaskFilterSensitiveLog(item)) }), -}); - -/** - * @internal - */ -export const DiskImageDescriptionFilterSensitiveLog = (obj: DiskImageDescription): any => ({ - ...obj, - ...(obj.ImportManifestUrl && { ImportManifestUrl: SENSITIVE_STRING }), -}); +/** + * @internal + */ +export const DiskImageDescriptionFilterSensitiveLog = (obj: DiskImageDescription): any => ({ + ...obj, + ...(obj.ImportManifestUrl && { ImportManifestUrl: SENSITIVE_STRING }), +}); /** * @internal @@ -9738,29 +9453,3 @@ export const ImportImageTaskFilterSensitiveLog = (obj: ImportImageTask): any => export const DescribeImportImageTasksResultFilterSensitiveLog = (obj: DescribeImportImageTasksResult): any => ({ ...obj, }); - -/** - * @internal - */ -export const SnapshotTaskDetailFilterSensitiveLog = (obj: SnapshotTaskDetail): any => ({ - ...obj, - ...(obj.Url && { Url: SENSITIVE_STRING }), -}); - -/** - * @internal - */ -export const ImportSnapshotTaskFilterSensitiveLog = (obj: ImportSnapshotTask): any => ({ - ...obj, - ...(obj.SnapshotTaskDetail && { SnapshotTaskDetail: SnapshotTaskDetailFilterSensitiveLog(obj.SnapshotTaskDetail) }), -}); - -/** - * @internal - */ -export const DescribeImportSnapshotTasksResultFilterSensitiveLog = (obj: DescribeImportSnapshotTasksResult): any => ({ - ...obj, - ...(obj.ImportSnapshotTasks && { - ImportSnapshotTasks: obj.ImportSnapshotTasks.map((item) => ImportSnapshotTaskFilterSensitiveLog(item)), - }), -}); diff --git a/clients/client-ec2/src/models/models_4.ts b/clients/client-ec2/src/models/models_4.ts index e18eef3b4a20d..564a16f447d87 100644 --- a/clients/client-ec2/src/models/models_4.ts +++ b/clients/client-ec2/src/models/models_4.ts @@ -22,9 +22,6 @@ import { SecurityGroupRule, Tag, TagSpecification, - TransitGatewayAssociationState, - TransitGatewayAttachmentResourceType, - TransitGatewayAttachmentState, UserIdGroupPair, } from "./models_0"; import { @@ -33,6 +30,8 @@ import { BlockDeviceMapping, CapacityReservationPreference, CapacityReservationTargetResponse, + ConnectionTrackingSpecificationRequest, + Ec2InstanceConnectEndpoint, EnaSrdSpecificationRequest, FleetLaunchTemplateSpecification, FleetType, @@ -60,10 +59,7 @@ import { NetworkAcl, NetworkInsightsAccessScope, NetworkInsightsPath, - NetworkInterface, NetworkInterfaceAttachment, - NetworkInterfacePermission, - NetworkInterfaceStatus, Placement, PlatformValues, PrivateIpAddressSpecification, @@ -74,6 +70,9 @@ import { Tenancy, } from "./models_1"; import { + NetworkInterface, + NetworkInterfacePermission, + NetworkInterfaceStatus, PlacementGroup, ReplaceRootVolumeTask, RouteTable, @@ -82,58 +81,183 @@ import { SpotDatafeedSubscription, SpotInstanceStateFault, StorageTier, - TrafficMirrorFilter, - TrafficMirrorSession, - TrafficMirrorTarget, - TransitGatewayConnect, - TransitGatewayConnectPeer, } from "./models_2"; import { ArchitectureValues, - AttributeBooleanValue, BootModeValues, + Byoasn, DeviceType, - EnclaveOptions, EventInformation, Filter, HypervisorType, IdFormat, - InstanceBlockDeviceMapping, InstanceTagNotificationAttribute, PermissionGroup, ProductCode, + UserBucketDetails, VirtualizationType, } from "./models_3"; /** * @public + *

Details about the import snapshot task.

*/ -export interface DescribeInstanceEventNotificationAttributesRequest { +export interface SnapshotTaskDetail { /** * @public - *

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.

+ *

The description of the snapshot.

*/ - DryRun?: boolean; + Description?: string; + + /** + * @public + *

The size of the disk in the snapshot, in GiB.

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

Indicates whether the snapshot is encrypted.

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

The format of the disk image from which the snapshot is created.

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

The identifier for the KMS key that was used to create the encrypted snapshot.

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

The percentage of completion for the import snapshot task.

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

The snapshot ID of the disk being imported.

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

A brief status for the import snapshot task.

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

A detailed status message for the import snapshot task.

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

The URL of the disk image from which the snapshot is created.

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

The Amazon S3 bucket for the disk image.

+ */ + UserBucket?: UserBucketDetails; } /** * @public + *

Describes an import snapshot task.

*/ -export interface DescribeInstanceEventNotificationAttributesResult { +export interface ImportSnapshotTask { /** * @public - *

Information about the registered tag keys.

+ *

A description of the import snapshot task.

*/ - InstanceTagAttribute?: InstanceTagNotificationAttribute; + Description?: string; + + /** + * @public + *

The ID of the import snapshot task.

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

Describes an import snapshot task.

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

The tags for the import snapshot task.

+ */ + Tags?: Tag[]; } /** * @public - * Describe instance event windows by InstanceEventWindow. */ -export interface DescribeInstanceEventWindowsRequest { +export interface DescribeImportSnapshotTasksResult { + /** + * @public + *

A list of zero or more import snapshot tasks that are currently active or were completed or canceled in the + * previous 7 days.

+ */ + ImportSnapshotTasks?: ImportSnapshotTask[]; + + /** + * @public + *

The token to use to get the next page of results. This value is null when there are no more results + * to return.

+ */ + NextToken?: string; +} + +/** + * @public + * @enum + */ +export const InstanceAttributeName = { + blockDeviceMapping: "blockDeviceMapping", + disableApiStop: "disableApiStop", + disableApiTermination: "disableApiTermination", + ebsOptimized: "ebsOptimized", + enaSupport: "enaSupport", + enclaveOptions: "enclaveOptions", + groupSet: "groupSet", + instanceInitiatedShutdownBehavior: "instanceInitiatedShutdownBehavior", + instanceType: "instanceType", + kernel: "kernel", + productCodes: "productCodes", + ramdisk: "ramdisk", + rootDeviceName: "rootDeviceName", + sourceDestCheck: "sourceDestCheck", + sriovNetSupport: "sriovNetSupport", + userData: "userData", +} as const; + +/** + * @public + */ +export type InstanceAttributeName = (typeof InstanceAttributeName)[keyof typeof InstanceAttributeName]; + +/** + * @public + */ +export interface DescribeInstanceAttributeRequest { + /** + * @public + *

The instance attribute.

+ *

Note: The enaSupport attribute is not supported at this time.

+ */ + Attribute: InstanceAttributeName | undefined; + /** * @public *

Checks whether you have the required permissions for the action, without actually making the request, @@ -144,416 +268,833 @@ export interface DescribeInstanceEventWindowsRequest { /** * @public - *

The IDs of the event windows.

+ *

The ID of the instance.

*/ - InstanceEventWindowIds?: string[]; + InstanceId: string | undefined; +} +/** + * @public + *

Describes a parameter used to set up an EBS volume in a block device mapping.

+ */ +export interface EbsInstanceBlockDevice { /** * @public - *

One or more filters.

- *
    - *
  • - *

    - * dedicated-host-id - The event windows associated with the specified - * Dedicated Host ID.

    - *
  • - *
  • - *

    - * event-window-name - The event windows associated with the specified - * names.

    - *
  • - *
  • - *

    - * instance-id - The event windows associated with the specified instance - * ID.

    - *
  • - *
  • - *

    - * instance-tag - The event windows associated with the specified tag and - * value.

    - *
  • - *
  • - *

    - * instance-tag-key - The event windows associated with the specified tag - * key, regardless of the value.

    - *
  • - *
  • - *

    - * instance-tag-value - The event windows associated with the specified tag - * value, regardless of the key.

    - *
  • - *
  • - *

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

    - *
  • - *
  • - *

    - * tag-key - The key of a tag assigned to the event window. Use this filter - * to find all event windows that have a tag with a specific key, regardless of the tag - * value.

    - *
  • - *
  • - *

    - * tag-value - The value of a tag assigned to the event window. Use this - * filter to find all event windows that have a tag with a specific value, regardless of - * the tag key.

    - *
  • - *
+ *

The time stamp when the attachment initiated.

*/ - Filters?: Filter[]; + AttachTime?: Date; /** * @public - *

The maximum number of results to return in a single call. To retrieve the remaining - * results, make another call with the returned NextToken value. This value can - * be between 20 and 500. You cannot specify this parameter and the event window IDs parameter - * in the same call.

+ *

Indicates whether the volume is deleted on instance termination.

*/ - MaxResults?: number; + DeleteOnTermination?: boolean; /** * @public - *

The token to request the next page of results.

+ *

The attachment state.

*/ - NextToken?: string; + Status?: AttachmentStatus; + + /** + * @public + *

The ID of the EBS volume.

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

Describes a block device mapping.

*/ -export interface DescribeInstanceEventWindowsResult { +export interface InstanceBlockDeviceMapping { /** * @public - *

Information about the event windows.

+ *

The device name (for example, /dev/sdh or xvdh).

*/ - InstanceEventWindows?: InstanceEventWindow[]; + DeviceName?: string; /** * @public - *

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

+ *

Parameters used to automatically set up EBS volumes when the instance is + * launched.

*/ - NextToken?: string; + Ebs?: EbsInstanceBlockDevice; } /** * @public + *

Describes a value for a resource attribute that is a Boolean value.

*/ -export interface DescribeInstancesRequest { +export interface AttributeBooleanValue { /** * @public - *

The filters.

- *
    - *
  • - *

    - * affinity - The affinity setting for an instance running on a - * Dedicated Host (default | host).

    - *
  • - *
  • - *

    - * architecture - The instance architecture (i386 | - * x86_64 | arm64).

    - *
  • - *
  • - *

    - * availability-zone - The Availability Zone of the instance.

    - *
  • - *
  • - *

    - * block-device-mapping.attach-time - The attach time for an EBS - * volume mapped to the instance, for example, - * 2022-09-15T17:15:20.000Z.

    - *
  • - *
  • - *

    - * block-device-mapping.delete-on-termination - A Boolean that - * indicates whether the EBS volume is deleted on instance termination.

    - *
  • - *
  • - *

    - * block-device-mapping.device-name - The device name specified in - * the block device mapping (for example, /dev/sdh or - * xvdh).

    - *
  • - *
  • - *

    - * block-device-mapping.status - The status for the EBS volume - * (attaching | attached | detaching | - * detached).

    - *
  • - *
  • - *

    - * block-device-mapping.volume-id - The volume ID of the EBS - * volume.

    - *
  • - *
  • - *

    - * boot-mode - The boot mode that was specified by the AMI - * (legacy-bios | uefi | - * uefi-preferred).

    - *
  • - *
  • - *

    - * capacity-reservation-id - The ID of the Capacity Reservation into which the - * instance was launched.

    - *
  • - *
  • - *

    - * capacity-reservation-specification.capacity-reservation-preference - * - The instance's Capacity Reservation preference (open | none).

    - *
  • - *
  • - *

    - * capacity-reservation-specification.capacity-reservation-target.capacity-reservation-id - * - The ID of the targeted Capacity Reservation.

    - *
  • - *
  • - *

    - * capacity-reservation-specification.capacity-reservation-target.capacity-reservation-resource-group-arn - * - The ARN of the targeted Capacity Reservation group.

    - *
  • - *
  • - *

    - * client-token - The idempotency token you provided when you - * launched the instance.

    - *
  • - *
  • - *

    - * current-instance-boot-mode - The boot mode that is used to launch - * the instance at launch or start (legacy-bios | - * uefi).

    - *
  • - *
  • - *

    - * dns-name - The public DNS name of the instance.

    - *
  • - *
  • - *

    - * ebs-optimized - A Boolean that indicates whether the instance is - * optimized for Amazon EBS I/O.

    - *
  • - *
  • - *

    - * ena-support - A Boolean that indicates whether the instance is - * enabled for enhanced networking with ENA.

    - *
  • - *
  • - *

    - * enclave-options.enabled - A Boolean that indicates whether the - * instance is enabled for Amazon Web Services Nitro Enclaves.

    - *
  • + *

    The attribute value. The valid values are true or false.

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

    Indicates whether the instance is enabled for Amazon Web Services Nitro + * Enclaves.

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

    If this parameter is set to true, the instance is enabled for Amazon Web Services Nitro Enclaves; otherwise, it is not enabled for Amazon Web Services Nitro + * Enclaves.

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

    Describes an instance attribute.

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

    The security groups associated with the instance.

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

    The block device mapping of the instance.

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

    If the value is true, you can't terminate the instance through the Amazon + * EC2 console, CLI, or API; otherwise, you can.

    + */ + DisableApiTermination?: AttributeBooleanValue; + + /** + * @public + *

    Indicates whether enhanced networking with ENA is enabled.

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

    To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to + * true; otherwise, set it to false.

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

    Indicates whether the instance is optimized for Amazon EBS I/O.

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

    The ID of the instance.

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

    Indicates whether an instance stops or terminates when you initiate shutdown from the + * instance (using the operating system command for system shutdown).

    + */ + InstanceInitiatedShutdownBehavior?: AttributeValue; + + /** + * @public + *

    The instance type.

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

    The kernel ID.

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

    A list of product codes.

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

    The RAM disk ID.

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

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

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

    Enable or disable source/destination checks, which ensure that the instance is either + * the source or the destination of any traffic that it receives. If the value is + * true, source/destination checks are enabled; otherwise, they are + * disabled. The default value is true. You must disable source/destination + * checks if the instance runs services such as network address translation, routing, or + * firewalls.

    + */ + SourceDestCheck?: AttributeBooleanValue; + + /** + * @public + *

    Indicates whether enhanced networking with the Intel 82599 Virtual Function interface + * is enabled.

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

    The user data.

    + */ + UserData?: AttributeValue; + + /** + * @public + *

    To enable the instance for Amazon Web Services Stop Protection, set this parameter to + * true; otherwise, set it to false.

    + */ + DisableApiStop?: AttributeBooleanValue; +} + +/** + * @public + */ +export interface DescribeInstanceConnectEndpointsRequest { + /** + * @public + *

    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.

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

    The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

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

    The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

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

    One or more filters.

    + *
      *
    • *

      - * hibernation-options.configured - A Boolean that indicates whether - * the instance is enabled for hibernation. A value of true means that - * the instance is enabled for hibernation.

      + * instance-connect-endpoint-id - The ID of the EC2 Instance Connect Endpoint.

      *
    • *
    • *

      - * host-id - The ID of the Dedicated Host on which the instance is - * running, if applicable.

      + * state - The state of the EC2 Instance Connect Endpoint (create-in-progress | create-complete | create-failed | + * delete-in-progress | delete-complete | delete-failed).

      *
    • *
    • *

      - * hypervisor - The hypervisor type of the instance - * (ovm | xen). The value xen is used - * for both Xen and Nitro hypervisors.

      + * subnet-id - The ID of the subnet in which the EC2 Instance + * Connect Endpoint was created.

      *
    • *
    • *

      - * iam-instance-profile.arn - The instance profile associated with - * the instance. Specified as an ARN.

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

      *
    • *
    • *

      - * iam-instance-profile.id - The instance profile associated with - * the instance. Specified as an ID.

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

      *
    • *
    • *

      - * iam-instance-profile.name - The instance profile associated with - * the instance. Specified as an name.

      + * tag-value - The value of a tag assigned to the resource. Use this filter to find all resources + * that have a tag with a specific value, regardless of tag key.

      *
    • *
    • *

      - * image-id - The ID of the image used to launch the - * instance.

      + * vpc-id - The ID of the VPC in which the EC2 Instance Connect + * Endpoint was created.

      *
    • + *
    + */ + Filters?: Filter[]; + + /** + * @public + *

    One or more EC2 Instance Connect Endpoint IDs.

    + */ + InstanceConnectEndpointIds?: string[]; +} + +/** + * @public + */ +export interface DescribeInstanceConnectEndpointsResult { + /** + * @public + *

    Information about the EC2 Instance Connect Endpoints.

    + */ + InstanceConnectEndpoints?: Ec2InstanceConnectEndpoint[]; + + /** + * @public + *

    The token to include in another request to get the next page of items. This value is null when there + * are no more items to return.

    + */ + NextToken?: string; +} + +/** + * @public + */ +export interface DescribeInstanceCreditSpecificationsRequest { + /** + * @public + *

    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.

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

    The filters.

    + *
      *
    • *

      * instance-id - The ID of the instance.

      *
    • + *
    + */ + Filters?: Filter[]; + + /** + * @public + *

    The instance IDs.

    + *

    Default: Describes all your instances.

    + *

    Constraints: Maximum 1000 explicitly specified instance IDs.

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

    The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

    + *

    You cannot specify this parameter and the instance IDs + * parameter in the same call.

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

    The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

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

    Describes the credit option for CPU usage of a burstable performance instance.

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

    The ID of the instance.

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

    The credit option for CPU usage of the instance.

    + *

    Valid values: standard | unlimited + *

    + */ + CpuCredits?: string; +} + +/** + * @public + */ +export interface DescribeInstanceCreditSpecificationsResult { + /** + * @public + *

    Information about the credit option for CPU usage of an instance.

    + */ + InstanceCreditSpecifications?: InstanceCreditSpecification[]; + + /** + * @public + *

    The token to include in another request to get the next page of items. This value is null when there + * are no more items to return.

    + */ + NextToken?: string; +} + +/** + * @public + */ +export interface DescribeInstanceEventNotificationAttributesRequest { + /** + * @public + *

    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.

    + */ + DryRun?: boolean; +} + +/** + * @public + */ +export interface DescribeInstanceEventNotificationAttributesResult { + /** + * @public + *

    Information about the registered tag keys.

    + */ + InstanceTagAttribute?: InstanceTagNotificationAttribute; +} + +/** + * @public + * Describe instance event windows by InstanceEventWindow. + */ +export interface DescribeInstanceEventWindowsRequest { + /** + * @public + *

    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.

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

    The IDs of the event windows.

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

    One or more filters.

    + *
      *
    • *

      - * instance-lifecycle - Indicates whether this is a Spot Instance, a Scheduled Instance, or - * a Capacity Block (spot | scheduled | capacity-block).

      - *
    • - *
    • - *

      - * instance-state-code - The state of the instance, as a 16-bit - * unsigned integer. The high byte is used for internal purposes and should be - * ignored. The low byte is set based on the state represented. The valid values - * are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 - * (stopping), and 80 (stopped).

      - *
    • - *
    • - *

      - * instance-state-name - The state of the instance - * (pending | running | shutting-down | - * terminated | stopping | - * stopped).

      - *
    • - *
    • - *

      - * instance-type - The type of instance (for example, - * t2.micro).

      - *
    • - *
    • - *

      - * instance.group-id - The ID of the security group for the - * instance.

      - *
    • - *
    • - *

      - * instance.group-name - The name of the security group for the - * instance.

      - *
    • - *
    • - *

      - * ip-address - The public IPv4 address of the instance.

      - *
    • - *
    • - *

      - * ipv6-address - The IPv6 address of the instance.

      - *
    • - *
    • - *

      - * kernel-id - The kernel ID.

      + * dedicated-host-id - The event windows associated with the specified + * Dedicated Host ID.

      *
    • *
    • *

      - * key-name - The name of the key pair used when the instance was - * launched.

      + * event-window-name - The event windows associated with the specified + * names.

      *
    • *
    • *

      - * launch-index - When launching multiple instances, this is the - * index for the instance in the launch group (for example, 0, 1, 2, and so on). - *

      + * instance-id - The event windows associated with the specified instance + * ID.

      *
    • *
    • *

      - * launch-time - The time when the instance was launched, in the ISO - * 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, - * 2021-09-29T11:04:43.305Z. You can use a wildcard - * (*), for example, 2021-09-29T*, which matches an - * entire day.

      + * instance-tag - The event windows associated with the specified tag and + * value.

      *
    • *
    • *

      - * maintenance-options.auto-recovery - The current automatic - * recovery behavior of the instance (disabled | default).

      + * instance-tag-key - The event windows associated with the specified tag + * key, regardless of the value.

      *
    • *
    • *

      - * metadata-options.http-endpoint - The status of access to the HTTP - * metadata endpoint on your instance (enabled | - * disabled)

      + * instance-tag-value - The event windows associated with the specified tag + * value, regardless of the key.

      *
    • *
    • *

      - * metadata-options.http-protocol-ipv4 - Indicates whether the IPv4 - * endpoint is enabled (disabled | enabled).

      + * tag: - The key/value combination of a tag assigned to the + * event window. Use the tag key in the filter name and the tag value as the filter + * value. For example, to find all resources that have a tag with the key + * Owner and the value CMX, specify tag:Owner + * for the filter name and CMX for the filter value.

      *
    • *
    • *

      - * metadata-options.http-protocol-ipv6 - Indicates whether the IPv6 - * endpoint is enabled (disabled | enabled).

      + * tag-key - The key of a tag assigned to the event window. Use this filter + * to find all event windows that have a tag with a specific key, regardless of the tag + * value.

      *
    • *
    • *

      - * metadata-options.http-put-response-hop-limit - The HTTP metadata - * request put response hop limit (integer, possible values 1 to - * 64)

      + * tag-value - The value of a tag assigned to the event window. Use this + * filter to find all event windows that have a tag with a specific value, regardless of + * the tag key.

      *
    • + *
    + */ + Filters?: Filter[]; + + /** + * @public + *

    The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value. This value can + * be between 20 and 500. You cannot specify this parameter and the event window IDs parameter + * in the same call.

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

    The token to request the next page of results.

    + */ + NextToken?: string; +} + +/** + * @public + */ +export interface DescribeInstanceEventWindowsResult { + /** + * @public + *

    Information about the event windows.

    + */ + InstanceEventWindows?: InstanceEventWindow[]; + + /** + * @public + *

    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

    + */ + NextToken?: string; +} + +/** + * @public + */ +export interface DescribeInstancesRequest { + /** + * @public + *

    The filters.

    + *
      *
    • *

      - * metadata-options.http-tokens - The metadata request authorization - * state (optional | required)

      + * affinity - The affinity setting for an instance running on a + * Dedicated Host (default | host).

      *
    • *
    • *

      - * metadata-options.instance-metadata-tags - The status of access to - * instance tags from the instance metadata (enabled | - * disabled)

      + * architecture - The instance architecture (i386 | + * x86_64 | arm64).

      *
    • *
    • *

      - * metadata-options.state - The state of the metadata option changes - * (pending | applied).

      + * availability-zone - The Availability Zone of the instance.

      *
    • *
    • *

      - * monitoring-state - Indicates whether detailed monitoring is - * enabled (disabled | enabled).

      + * block-device-mapping.attach-time - The attach time for an EBS + * volume mapped to the instance, for example, + * 2022-09-15T17:15:20.000Z.

      *
    • *
    • *

      - * network-interface.addresses.association.allocation-id - The allocation ID.

      + * block-device-mapping.delete-on-termination - A Boolean that + * indicates whether the EBS volume is deleted on instance termination.

      *
    • *
    • *

      - * network-interface.addresses.association.association-id - The association ID.

      + * block-device-mapping.device-name - The device name specified in + * the block device mapping (for example, /dev/sdh or + * xvdh).

      *
    • *
    • *

      - * network-interface.addresses.association.carrier-ip - The carrier IP address.

      + * block-device-mapping.status - The status for the EBS volume + * (attaching | attached | detaching | + * detached).

      *
    • *
    • *

      - * network-interface.addresses.association.customer-owned-ip - The customer-owned IP address.

      + * block-device-mapping.volume-id - The volume ID of the EBS + * volume.

      *
    • *
    • *

      - * network-interface.addresses.association.ip-owner-id - The owner - * ID of the private IPv4 address associated with the network interface.

      + * boot-mode - The boot mode that was specified by the AMI + * (legacy-bios | uefi | + * uefi-preferred).

      *
    • *
    • *

      - * network-interface.addresses.association.public-dns-name - The public DNS name.

      + * capacity-reservation-id - The ID of the Capacity Reservation into which the + * instance was launched.

      *
    • *
    • *

      - * network-interface.addresses.association.public-ip - The ID of the - * association of an Elastic IP address (IPv4) with a network interface.

      + * capacity-reservation-specification.capacity-reservation-preference + * - The instance's Capacity Reservation preference (open | none).

      *
    • *
    • *

      - * network-interface.addresses.primary - Specifies whether the IPv4 - * address of the network interface is the primary private IPv4 address.

      + * capacity-reservation-specification.capacity-reservation-target.capacity-reservation-id + * - The ID of the targeted Capacity Reservation.

      *
    • *
    • *

      - * network-interface.addresses.private-dns-name - The private DNS name.

      + * capacity-reservation-specification.capacity-reservation-target.capacity-reservation-resource-group-arn + * - The ARN of the targeted Capacity Reservation group.

      *
    • *
    • *

      - * network-interface.addresses.private-ip-address - The private IPv4 - * address associated with the network interface.

      + * client-token - The idempotency token you provided when you + * launched the instance.

      *
    • *
    • *

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

      + * current-instance-boot-mode - The boot mode that is used to launch + * the instance at launch or start (legacy-bios | + * uefi).

      *
    • *
    • *

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

      + * dns-name - The public DNS name of the instance.

      + *
    • + *
    • + *

      + * ebs-optimized - A Boolean that indicates whether the instance is + * optimized for Amazon EBS I/O.

      + *
    • + *
    • + *

      + * ena-support - A Boolean that indicates whether the instance is + * enabled for enhanced networking with ENA.

      + *
    • + *
    • + *

      + * enclave-options.enabled - A Boolean that indicates whether the + * instance is enabled for Amazon Web Services Nitro Enclaves.

      + *
    • + *
    • + *

      + * hibernation-options.configured - A Boolean that indicates whether + * the instance is enabled for hibernation. A value of true means that + * the instance is enabled for hibernation.

      + *
    • + *
    • + *

      + * host-id - The ID of the Dedicated Host on which the instance is + * running, if applicable.

      + *
    • + *
    • + *

      + * hypervisor - The hypervisor type of the instance + * (ovm | xen). The value xen is used + * for both Xen and Nitro hypervisors.

      + *
    • + *
    • + *

      + * iam-instance-profile.arn - The instance profile associated with + * the instance. Specified as an ARN.

      + *
    • + *
    • + *

      + * iam-instance-profile.id - The instance profile associated with + * the instance. Specified as an ID.

      + *
    • + *
    • + *

      + * iam-instance-profile.name - The instance profile associated with + * the instance. Specified as an name.

      + *
    • + *
    • + *

      + * image-id - The ID of the image used to launch the + * instance.

      + *
    • + *
    • + *

      + * instance-id - The ID of the instance.

      + *
    • + *
    • + *

      + * instance-lifecycle - Indicates whether this is a Spot Instance, a Scheduled Instance, or + * a Capacity Block (spot | scheduled | capacity-block).

      + *
    • + *
    • + *

      + * instance-state-code - The state of the instance, as a 16-bit + * unsigned integer. The high byte is used for internal purposes and should be + * ignored. The low byte is set based on the state represented. The valid values + * are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 + * (stopping), and 80 (stopped).

      + *
    • + *
    • + *

      + * instance-state-name - The state of the instance + * (pending | running | shutting-down | + * terminated | stopping | + * stopped).

      + *
    • + *
    • + *

      + * instance-type - The type of instance (for example, + * t2.micro).

      + *
    • + *
    • + *

      + * instance.group-id - The ID of the security group for the + * instance.

      + *
    • + *
    • + *

      + * instance.group-name - The name of the security group for the + * instance.

      + *
    • + *
    • + *

      + * ip-address - The public IPv4 address of the instance.

      + *
    • + *
    • + *

      + * ipv6-address - The IPv6 address of the instance.

      + *
    • + *
    • + *

      + * kernel-id - The kernel ID.

      + *
    • + *
    • + *

      + * key-name - The name of the key pair used when the instance was + * launched.

      + *
    • + *
    • + *

      + * launch-index - When launching multiple instances, this is the + * index for the instance in the launch group (for example, 0, 1, 2, and so on). + *

      + *
    • + *
    • + *

      + * launch-time - The time when the instance was launched, in the ISO + * 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, + * 2021-09-29T11:04:43.305Z. You can use a wildcard + * (*), for example, 2021-09-29T*, which matches an + * entire day.

      + *
    • + *
    • + *

      + * maintenance-options.auto-recovery - The current automatic + * recovery behavior of the instance (disabled | default).

      + *
    • + *
    • + *

      + * metadata-options.http-endpoint - The status of access to the HTTP + * metadata endpoint on your instance (enabled | + * disabled)

      + *
    • + *
    • + *

      + * metadata-options.http-protocol-ipv4 - Indicates whether the IPv4 + * endpoint is enabled (disabled | enabled).

      + *
    • + *
    • + *

      + * metadata-options.http-protocol-ipv6 - Indicates whether the IPv6 + * endpoint is enabled (disabled | enabled).

      + *
    • + *
    • + *

      + * metadata-options.http-put-response-hop-limit - The HTTP metadata + * request put response hop limit (integer, possible values 1 to + * 64)

      + *
    • + *
    • + *

      + * metadata-options.http-tokens - The metadata request authorization + * state (optional | required)

      + *
    • + *
    • + *

      + * metadata-options.instance-metadata-tags - The status of access to + * instance tags from the instance metadata (enabled | + * disabled)

      + *
    • + *
    • + *

      + * metadata-options.state - The state of the metadata option changes + * (pending | applied).

      + *
    • + *
    • + *

      + * monitoring-state - Indicates whether detailed monitoring is + * enabled (disabled | enabled).

      + *
    • + *
    • + *

      + * network-interface.addresses.association.allocation-id - The allocation ID.

      + *
    • + *
    • + *

      + * network-interface.addresses.association.association-id - The association ID.

      + *
    • + *
    • + *

      + * network-interface.addresses.association.carrier-ip - The carrier IP address.

      + *
    • + *
    • + *

      + * network-interface.addresses.association.customer-owned-ip - The customer-owned IP address.

      + *
    • + *
    • + *

      + * network-interface.addresses.association.ip-owner-id - The owner + * ID of the private IPv4 address associated with the network interface.

      + *
    • + *
    • + *

      + * network-interface.addresses.association.public-dns-name - The public DNS name.

      + *
    • + *
    • + *

      + * network-interface.addresses.association.public-ip - The ID of the + * association of an Elastic IP address (IPv4) with a network interface.

      + *
    • + *
    • + *

      + * network-interface.addresses.primary - Specifies whether the IPv4 + * address of the network interface is the primary private IPv4 address.

      + *
    • + *
    • + *

      + * network-interface.addresses.private-dns-name - The private DNS name.

      + *
    • + *
    • + *

      + * network-interface.addresses.private-ip-address - The private IPv4 + * address associated with the network interface.

      + *
    • + *
    • + *

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

      + *
    • + *
    • + *

      + * network-interface.association.association-id - The association ID + * returned when the network interface was associated with an IPv4 address.

      *
    • *
    • *

      @@ -882,4029 +1423,3192 @@ export interface DescribeInstancesRequest { * subnet-id - The ID of the subnet for the instance.

      *
    • *
    • - *

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

      - *
    • - *
    • - *

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

      - *
    • - *
    • - *

      - * tenancy - The tenancy of an instance (dedicated | - * default | host).

      - *
    • - *
    • - *

      - * tpm-support - Indicates if the instance is configured for - * NitroTPM support (v2.0).

      - *
    • - *
    • - *

      - * usage-operation - The usage operation value for the instance - * (RunInstances | RunInstances:00g0 | - * RunInstances:0010 | RunInstances:1010 | - * RunInstances:1014 | RunInstances:1110 | - * RunInstances:0014 | RunInstances:0210 | - * RunInstances:0110 | RunInstances:0100 | - * RunInstances:0004 | RunInstances:0200 | - * RunInstances:000g | RunInstances:0g00 | - * RunInstances:0002 | RunInstances:0800 | - * RunInstances:0102 | RunInstances:0006 | - * RunInstances:0202).

      - *
    • - *
    • - *

      - * usage-operation-update-time - The time that the usage operation - * was last updated, for example, 2022-09-15T17:15:20.000Z.

      - *
    • - *
    • - *

      - * virtualization-type - The virtualization type of the instance - * (paravirtual | hvm).

      - *
    • - *
    • - *

      - * vpc-id - The ID of the VPC that the instance is running in.

      - *
    • - *
    - */ - Filters?: Filter[]; - - /** - * @public - *

    The instance IDs.

    - *

    Default: Describes all your instances.

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

    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.

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

    The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

    - *

    You cannot specify this parameter and the instance IDs parameter in the same request.

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

    The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

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

    Describes the instance's Capacity Reservation targeting preferences. The action returns the - * capacityReservationPreference response element if the instance is - * configured to run in On-Demand capacity, or if it is configured in run in any - * open Capacity Reservation that has matching attributes (instance type, platform, - * Availability Zone). The action returns the capacityReservationTarget - * response element if the instance explicily targets a specific Capacity Reservation or Capacity Reservation group.

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

    Describes the instance's Capacity Reservation preferences. Possible preferences include:

    - *
      - *
    • - *

      - * open - The instance can run in any open Capacity Reservation that - * has matching attributes (instance type, platform, Availability Zone).

      - *
    • - *
    • - *

      - * none - The instance avoids running in a Capacity Reservation even if one is - * available. The instance runs in On-Demand capacity.

      - *
    • - *
    - */ - CapacityReservationPreference?: CapacityReservationPreference; - - /** - * @public - *

    Information about the targeted Capacity Reservation or Capacity Reservation group.

    - */ - CapacityReservationTarget?: CapacityReservationTargetResponse; -} - -/** - * @public - *

    The CPU options for the instance.

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

    The number of CPU cores for the instance.

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

    The number of threads per CPU core.

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

    Indicates whether the instance is enabled for AMD SEV-SNP. For more information, see - * AMD SEV-SNP.

    - */ - AmdSevSnp?: AmdSevSnpSpecification; -} - -/** - * @public - * @enum - */ -export const InstanceBootModeValues = { - legacy_bios: "legacy-bios", - uefi: "uefi", -} as const; - -/** - * @public - */ -export type InstanceBootModeValues = (typeof InstanceBootModeValues)[keyof typeof InstanceBootModeValues]; - -/** - * @public - *

    Describes the association between an instance and an Elastic Graphics accelerator.

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

    The ID of the Elastic Graphics accelerator.

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

    The ID of the association.

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

    The state of the association between the instance and the - * Elastic Graphics accelerator.

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

    The time the Elastic Graphics accelerator was associated with the instance.

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

    - * Describes the association between an instance and an elastic inference accelerator. - *

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

    - * The Amazon Resource Name (ARN) of the elastic inference accelerator. - *

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

    - * The ID of the association. - *

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

    - * The state of the elastic inference accelerator. - *

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

    - * The time at which the elastic inference accelerator is associated with an instance. - *

    - */ - ElasticInferenceAcceleratorAssociationTime?: Date; -} - -/** - * @public - *

    Indicates whether your instance is configured for hibernation. This parameter is valid - * only if the instance meets the hibernation - * prerequisites. For more information, see Hibernate your instance in the - * Amazon EC2 User Guide.

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

    If true, your instance is enabled for hibernation; otherwise, it is not - * enabled for hibernation.

    - */ - Configured?: boolean; -} - -/** - * @public - * @enum - */ -export const InstanceLifecycleType = { - capacity_block: "capacity-block", - scheduled: "scheduled", - spot: "spot", -} as const; - -/** - * @public - */ -export type InstanceLifecycleType = (typeof InstanceLifecycleType)[keyof typeof InstanceLifecycleType]; - -/** - * @public - *

    Describes a license configuration.

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

    The Amazon Resource Name (ARN) of the license configuration.

    - */ - LicenseConfigurationArn?: string; -} - -/** - * @public - * @enum - */ -export const InstanceAutoRecoveryState = { - default: "default", - disabled: "disabled", -} as const; - -/** - * @public - */ -export type InstanceAutoRecoveryState = (typeof InstanceAutoRecoveryState)[keyof typeof InstanceAutoRecoveryState]; - -/** - * @public - *

    The maintenance options for the instance.

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

    Provides information on the current automatic recovery behavior of your - * instance.

    - */ - AutoRecovery?: InstanceAutoRecoveryState; -} - -/** - * @public - * @enum - */ -export const InstanceMetadataEndpointState = { - disabled: "disabled", - enabled: "enabled", -} as const; - -/** - * @public - */ -export type InstanceMetadataEndpointState = - (typeof InstanceMetadataEndpointState)[keyof typeof InstanceMetadataEndpointState]; - -/** - * @public - * @enum - */ -export const InstanceMetadataProtocolState = { - disabled: "disabled", - enabled: "enabled", -} as const; - -/** - * @public - */ -export type InstanceMetadataProtocolState = - (typeof InstanceMetadataProtocolState)[keyof typeof InstanceMetadataProtocolState]; - -/** - * @public - * @enum - */ -export const HttpTokensState = { - optional: "optional", - required: "required", -} as const; - -/** - * @public - */ -export type HttpTokensState = (typeof HttpTokensState)[keyof typeof HttpTokensState]; - -/** - * @public - * @enum - */ -export const InstanceMetadataTagsState = { - disabled: "disabled", - enabled: "enabled", -} as const; - -/** - * @public - */ -export type InstanceMetadataTagsState = (typeof InstanceMetadataTagsState)[keyof typeof InstanceMetadataTagsState]; - -/** - * @public - * @enum - */ -export const InstanceMetadataOptionsState = { - applied: "applied", - pending: "pending", -} as const; - -/** - * @public - */ -export type InstanceMetadataOptionsState = - (typeof InstanceMetadataOptionsState)[keyof typeof InstanceMetadataOptionsState]; - -/** - * @public - *

    The metadata options for the instance.

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

    The state of the metadata option changes.

    - *

    - * pending - The metadata options are being updated and the instance is not - * ready to process metadata traffic with the new selection.

    - *

    - * applied - The metadata options have been successfully applied on the - * instance.

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

    IMDSv2 uses token-backed sessions. Indicates whether the use of HTTP tokens is - * optional (in other words, indicates whether the use of IMDSv2 is - * optional) or required (in other words, indicates whether - * the use of IMDSv2 is required).

    - *
      - *
    • - *

      - * optional - When IMDSv2 is optional, you can choose to retrieve instance metadata with or without - * a session token in your request. If you retrieve the IAM role credentials - * without a token, the IMDSv1 role credentials are returned. If you retrieve the IAM role credentials - * using a valid session token, the IMDSv2 role credentials are returned.

      - *
    • - *
    • - *

      - * required - When IMDSv2 is required, you must send a session token - * with any instance metadata retrieval requests. In this state, retrieving the IAM role - * credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.

      - *
    • - *
    - *

    Default: optional - *

    - */ - HttpTokens?: HttpTokensState; - - /** - * @public - *

    The desired HTTP PUT response hop limit for instance metadata requests. The larger the - * number, the further instance metadata requests can travel.

    - *

    Default: 1

    - *

    Possible values: Integers from 1 to 64

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

    Indicates whether the HTTP metadata endpoint on your instances is enabled or - * disabled.

    - *

    If the value is disabled, you cannot access your instance - * metadata.

    - */ - HttpEndpoint?: InstanceMetadataEndpointState; - - /** - * @public - *

    Indicates whether the IPv6 endpoint for the instance metadata service is enabled or - * disabled.

    - */ - HttpProtocolIpv6?: InstanceMetadataProtocolState; - - /** - * @public - *

    Indicates whether access to instance tags from the instance metadata is enabled or - * disabled. For more information, see Work with - * instance tags using the instance metadata.

    - */ - InstanceMetadataTags?: InstanceMetadataTagsState; -} - -/** - * @public - * @enum - */ -export const MonitoringState = { - disabled: "disabled", - disabling: "disabling", - enabled: "enabled", - pending: "pending", -} as const; - -/** - * @public - */ -export type MonitoringState = (typeof MonitoringState)[keyof typeof MonitoringState]; - -/** - * @public - *

    Describes the monitoring of an instance.

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

    Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is - * enabled.

    - */ - State?: MonitoringState; -} - -/** - * @public - *

    Describes association information for an Elastic IP address (IPv4).

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

    The carrier IP address associated with the network interface.

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

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

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

    The ID of the owner of the Elastic IP address.

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

    The public DNS name.

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

    The public IP address or Elastic IP address bound to the network interface.

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

    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.

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

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

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

    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. - * With ENA Express, you can communicate between two EC2 instances in the same subnet within the same - * account, or in different accounts. Both sending and receiving instances must have ENA Express enabled.

    - *

    To improve the reliability of network packet delivery, ENA Express reorders network packets on the - * receiving end by default. However, some UDP-based applications are designed to handle network packets - * that are out of order to reduce the overhead for packet delivery at the network layer. When ENA Express - * is enabled, you can specify whether UDP network traffic uses it.

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

    Indicates whether ENA Express is enabled for the network interface.

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

    Configures ENA Express for UDP network traffic.

    - */ - EnaSrdUdpSpecification?: InstanceAttachmentEnaSrdUdpSpecification; -} - -/** - * @public - *

    Describes a network interface attachment.

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

    The time stamp when the attachment initiated.

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

    The ID of the network interface attachment.

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

    Indicates whether the network interface is deleted when the instance is terminated.

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

    The index of the device on the instance for the network interface attachment.

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

    The attachment state.

    - */ - Status?: AttachmentStatus; - - /** - * @public - *

    The index of the network card.

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

    Contains the ENA Express settings for the network interface that's attached - * to the instance.

    - */ - EnaSrdSpecification?: InstanceAttachmentEnaSrdSpecification; -} - -/** - * @public - *

    Information about an IPv4 prefix.

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

    One or more IPv4 prefixes assigned to the network interface.

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

    Information about an IPv6 prefix.

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

    One or more IPv6 prefixes assigned to the network interface.

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

    Describes a private IPv4 address.

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

    The association information for an Elastic IP address for the network interface.

    - */ - Association?: InstanceNetworkInterfaceAssociation; - - /** - * @public - *

    Indicates whether this IPv4 address is the primary private IP address of the network interface.

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

    The private IPv4 DNS name.

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

    The private IPv4 address of the network interface.

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

    Describes a network interface.

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

    The association information for an Elastic IPv4 associated with the network - * interface.

    - */ - Association?: InstanceNetworkInterfaceAssociation; - - /** - * @public - *

    The network interface attachment.

    - */ - Attachment?: InstanceNetworkInterfaceAttachment; - - /** - * @public - *

    The description.

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

    The security groups.

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

    The IPv6 addresses associated with the network interface.

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

    The MAC address.

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

    The ID of the network interface.

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

    The ID of the Amazon Web Services account that created the network interface.

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

    The private DNS name.

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

    The IPv4 address of the network interface within the subnet.

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

    The private IPv4 addresses associated with the network interface.

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

    Indicates whether source/destination checking is enabled.

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

    The status of the network interface.

    - */ - Status?: NetworkInterfaceStatus; - - /** - * @public - *

    The ID of the subnet.

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

    The ID of the VPC.

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

    The type of network interface.

    - *

    Valid values: interface | efa | trunk - *

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

    The IPv4 delegated prefixes that are assigned to the network interface.

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

    The IPv6 delegated prefixes that are assigned to the network interface.

    - */ - Ipv6Prefixes?: InstanceIpv6Prefix[]; -} - -/** - * @public - *

    Describes the options for instance hostnames.

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

    The type of hostname to assign to an instance.

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

    Indicates whether to respond to DNS queries for instance hostnames with DNS A - * records.

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

    Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA - * records.

    - */ - EnableResourceNameDnsAAAARecord?: boolean; -} - -/** - * @public - * @enum - */ -export const InstanceStateName = { - pending: "pending", - running: "running", - shutting_down: "shutting-down", - stopped: "stopped", - stopping: "stopping", - terminated: "terminated", -} as const; - -/** - * @public - */ -export type InstanceStateName = (typeof InstanceStateName)[keyof typeof InstanceStateName]; - -/** - * @public - *

    Describes the current state of an instance.

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

    The state of the instance as a 16-bit unsigned integer.

    - *

    The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal values - * between 256 and 65,535. These numerical values are used for internal purposes and should - * be ignored.

    - *

    The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal values - * between 0 and 255.

    - *

    The valid values for instance-state-code will all be in the range of the low byte and - * they are:

    - *
      + *

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

      + * *
    • *

      - * 0 : pending - *

      + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

      *
    • *
    • *

      - * 16 : running - *

      + * tenancy - The tenancy of an instance (dedicated | + * default | host).

      *
    • *
    • *

      - * 32 : shutting-down - *

      + * tpm-support - Indicates if the instance is configured for + * NitroTPM support (v2.0).

      *
    • *
    • *

      - * 48 : terminated - *

      + * usage-operation - The usage operation value for the instance + * (RunInstances | RunInstances:00g0 | + * RunInstances:0010 | RunInstances:1010 | + * RunInstances:1014 | RunInstances:1110 | + * RunInstances:0014 | RunInstances:0210 | + * RunInstances:0110 | RunInstances:0100 | + * RunInstances:0004 | RunInstances:0200 | + * RunInstances:000g | RunInstances:0g00 | + * RunInstances:0002 | RunInstances:0800 | + * RunInstances:0102 | RunInstances:0006 | + * RunInstances:0202).

      *
    • *
    • *

      - * 64 : stopping - *

      + * usage-operation-update-time - The time that the usage operation + * was last updated, for example, 2022-09-15T17:15:20.000Z.

      *
    • *
    • *

      - * 80 : stopped - *

      + * virtualization-type - The virtualization type of the instance + * (paravirtual | hvm).

      + *
    • + *
    • + *

      + * vpc-id - The ID of the VPC that the instance is running in.

      *
    • *
    - *

    You can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in - * decimal.

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

    The current state of the instance.

    - */ - Name?: InstanceStateName; -} - -/** - * @public - *

    Describes an instance.

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

    The AMI launch index, which can be used to find this instance in the launch - * group.

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

    The ID of the AMI used to launch the instance.

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

    The ID of the instance.

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

    The instance type.

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

    The kernel associated with this instance, if applicable.

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

    The name of the key pair, if this instance was launched with an associated key - * pair.

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

    The time the instance was launched.

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

    The monitoring for the instance.

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

    The location where the instance launched, if applicable.

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

    The value is Windows for Windows instances; otherwise blank.

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

    [IPv4 only] The private DNS hostname name assigned to the instance. This DNS hostname - * can only be used inside the Amazon EC2 network. This name is not available until the - * instance enters the running state.

    - *

    The Amazon-provided DNS server resolves Amazon-provided private DNS - * hostnames if you've enabled DNS resolution and DNS hostnames in your VPC. If you are not - * using the Amazon-provided DNS server in your VPC, your custom domain name servers must - * resolve the hostname as appropriate.

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

    The private IPv4 address assigned to the instance.

    */ - PrivateIpAddress?: string; + Filters?: Filter[]; /** * @public - *

    The product codes attached to this instance, if applicable.

    + *

    The instance IDs.

    + *

    Default: Describes all your instances.

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

    [IPv4 only] The public DNS name assigned to the instance. This name is not available - * until the instance enters the running state. This name is only - * available if you've enabled DNS hostnames for your VPC.

    + *

    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.

    */ - PublicDnsName?: string; + DryRun?: boolean; /** * @public - *

    The public IPv4 address, or the Carrier IP address assigned to the instance, if - * applicable.

    - *

    A Carrier IP address only applies to an instance launched in a subnet associated with - * a Wavelength Zone.

    + *

    The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

    + *

    You cannot specify this parameter and the instance IDs parameter in the same request.

    */ - PublicIpAddress?: string; + MaxResults?: number; /** * @public - *

    The RAM disk associated with this instance, if applicable.

    + *

    The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

    */ - RamdiskId?: string; + NextToken?: string; +} +/** + * @public + *

    Describes the instance's Capacity Reservation targeting preferences. The action returns the + * capacityReservationPreference response element if the instance is + * configured to run in On-Demand capacity, or if it is configured in run in any + * open Capacity Reservation that has matching attributes (instance type, platform, + * Availability Zone). The action returns the capacityReservationTarget + * response element if the instance explicily targets a specific Capacity Reservation or Capacity Reservation group.

    + */ +export interface CapacityReservationSpecificationResponse { /** * @public - *

    The current state of the instance.

    + *

    Describes the instance's Capacity Reservation preferences. Possible preferences include:

    + *
      + *
    • + *

      + * open - The instance can run in any open Capacity Reservation that + * has matching attributes (instance type, platform, Availability Zone).

      + *
    • + *
    • + *

      + * none - The instance avoids running in a Capacity Reservation even if one is + * available. The instance runs in On-Demand capacity.

      + *
    • + *
    */ - State?: InstanceState; + CapacityReservationPreference?: CapacityReservationPreference; /** * @public - *

    The reason for the most recent state transition. This might be an empty string.

    + *

    Information about the targeted Capacity Reservation or Capacity Reservation group.

    */ - StateTransitionReason?: string; + CapacityReservationTarget?: CapacityReservationTargetResponse; +} +/** + * @public + *

    The CPU options for the instance.

    + */ +export interface CpuOptions { /** * @public - *

    The ID of the subnet in which the instance is running.

    + *

    The number of CPU cores for the instance.

    */ - SubnetId?: string; + CoreCount?: number; /** * @public - *

    The ID of the VPC in which the instance is running.

    + *

    The number of threads per CPU core.

    */ - VpcId?: string; + ThreadsPerCore?: number; /** * @public - *

    The architecture of the image.

    + *

    Indicates whether the instance is enabled for AMD SEV-SNP. For more information, see + * AMD SEV-SNP.

    */ - Architecture?: ArchitectureValues; + AmdSevSnp?: AmdSevSnpSpecification; +} - /** - * @public - *

    Any block device mapping entries for the instance.

    - */ - BlockDeviceMappings?: InstanceBlockDeviceMapping[]; +/** + * @public + * @enum + */ +export const InstanceBootModeValues = { + legacy_bios: "legacy-bios", + uefi: "uefi", +} as const; - /** - * @public - *

    The idempotency token you provided when you launched the instance, if - * applicable.

    - */ - ClientToken?: string; +/** + * @public + */ +export type InstanceBootModeValues = (typeof InstanceBootModeValues)[keyof typeof InstanceBootModeValues]; +/** + * @public + *

    Describes the association between an instance and an Elastic Graphics accelerator.

    + */ +export interface ElasticGpuAssociation { /** * @public - *

    Indicates whether the instance is optimized for Amazon EBS I/O. This optimization - * provides dedicated throughput to Amazon EBS and an optimized configuration stack to - * provide optimal I/O performance. This optimization isn't available with all instance - * types. Additional usage charges apply when using an EBS Optimized instance.

    + *

    The ID of the Elastic Graphics accelerator.

    */ - EbsOptimized?: boolean; + ElasticGpuId?: string; /** * @public - *

    Specifies whether enhanced networking with ENA is enabled.

    + *

    The ID of the association.

    */ - EnaSupport?: boolean; + ElasticGpuAssociationId?: string; /** * @public - *

    The hypervisor type of the instance. The value xen is used for both Xen - * and Nitro hypervisors.

    + *

    The state of the association between the instance and the + * Elastic Graphics accelerator.

    */ - Hypervisor?: HypervisorType; + ElasticGpuAssociationState?: string; /** * @public - *

    The IAM instance profile associated with the instance, if - * applicable.

    + *

    The time the Elastic Graphics accelerator was associated with the instance.

    */ - IamInstanceProfile?: IamInstanceProfile; + ElasticGpuAssociationTime?: string; +} +/** + * @public + *

    + * Describes the association between an instance and an elastic inference accelerator. + *

    + */ +export interface ElasticInferenceAcceleratorAssociation { /** * @public - *

    Indicates whether this is a Spot Instance or a Scheduled Instance.

    + *

    + * The Amazon Resource Name (ARN) of the elastic inference accelerator. + *

    */ - InstanceLifecycle?: InstanceLifecycleType; + ElasticInferenceAcceleratorArn?: string; /** * @public - *

    The Elastic GPU associated with the instance.

    + *

    + * The ID of the association. + *

    */ - ElasticGpuAssociations?: ElasticGpuAssociation[]; + ElasticInferenceAcceleratorAssociationId?: string; /** * @public - *

    The elastic inference accelerator associated with the instance.

    + *

    + * The state of the elastic inference accelerator. + *

    */ - ElasticInferenceAcceleratorAssociations?: ElasticInferenceAcceleratorAssociation[]; + ElasticInferenceAcceleratorAssociationState?: string; /** * @public - *

    The network interfaces for the instance.

    + *

    + * The time at which the elastic inference accelerator is associated with an instance. + *

    */ - NetworkInterfaces?: InstanceNetworkInterface[]; + ElasticInferenceAcceleratorAssociationTime?: Date; +} +/** + * @public + *

    Indicates whether your instance is configured for hibernation. This parameter is valid + * only if the instance meets the hibernation + * prerequisites. For more information, see Hibernate your instance in the + * Amazon EC2 User Guide.

    + */ +export interface HibernationOptions { /** * @public - *

    The Amazon Resource Name (ARN) of the Outpost.

    + *

    If true, your instance is enabled for hibernation; otherwise, it is not + * enabled for hibernation.

    */ - OutpostArn?: string; + Configured?: boolean; +} + +/** + * @public + * @enum + */ +export const InstanceLifecycleType = { + capacity_block: "capacity-block", + scheduled: "scheduled", + spot: "spot", +} as const; +/** + * @public + */ +export type InstanceLifecycleType = (typeof InstanceLifecycleType)[keyof typeof InstanceLifecycleType]; + +/** + * @public + *

    Describes a license configuration.

    + */ +export interface LicenseConfiguration { /** * @public - *

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

    + *

    The Amazon Resource Name (ARN) of the license configuration.

    */ - RootDeviceName?: string; + LicenseConfigurationArn?: string; +} +/** + * @public + * @enum + */ +export const InstanceAutoRecoveryState = { + default: "default", + disabled: "disabled", +} as const; + +/** + * @public + */ +export type InstanceAutoRecoveryState = (typeof InstanceAutoRecoveryState)[keyof typeof InstanceAutoRecoveryState]; + +/** + * @public + *

    The maintenance options for the instance.

    + */ +export interface InstanceMaintenanceOptions { /** * @public - *

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

    + *

    Provides information on the current automatic recovery behavior of your + * instance.

    */ - RootDeviceType?: DeviceType; + AutoRecovery?: InstanceAutoRecoveryState; +} + +/** + * @public + * @enum + */ +export const InstanceMetadataEndpointState = { + disabled: "disabled", + enabled: "enabled", +} as const; + +/** + * @public + */ +export type InstanceMetadataEndpointState = + (typeof InstanceMetadataEndpointState)[keyof typeof InstanceMetadataEndpointState]; + +/** + * @public + * @enum + */ +export const InstanceMetadataProtocolState = { + disabled: "disabled", + enabled: "enabled", +} as const; + +/** + * @public + */ +export type InstanceMetadataProtocolState = + (typeof InstanceMetadataProtocolState)[keyof typeof InstanceMetadataProtocolState]; + +/** + * @public + * @enum + */ +export const HttpTokensState = { + optional: "optional", + required: "required", +} as const; + +/** + * @public + */ +export type HttpTokensState = (typeof HttpTokensState)[keyof typeof HttpTokensState]; + +/** + * @public + * @enum + */ +export const InstanceMetadataTagsState = { + disabled: "disabled", + enabled: "enabled", +} as const; + +/** + * @public + */ +export type InstanceMetadataTagsState = (typeof InstanceMetadataTagsState)[keyof typeof InstanceMetadataTagsState]; + +/** + * @public + * @enum + */ +export const InstanceMetadataOptionsState = { + applied: "applied", + pending: "pending", +} as const; + +/** + * @public + */ +export type InstanceMetadataOptionsState = + (typeof InstanceMetadataOptionsState)[keyof typeof InstanceMetadataOptionsState]; +/** + * @public + *

    The metadata options for the instance.

    + */ +export interface InstanceMetadataOptionsResponse { /** * @public - *

    The security groups for the instance.

    + *

    The state of the metadata option changes.

    + *

    + * pending - The metadata options are being updated and the instance is not + * ready to process metadata traffic with the new selection.

    + *

    + * applied - The metadata options have been successfully applied on the + * instance.

    */ - SecurityGroups?: GroupIdentifier[]; + State?: InstanceMetadataOptionsState; /** * @public - *

    Indicates whether source/destination checking is enabled.

    + *

    IMDSv2 uses token-backed sessions. Indicates whether the use of HTTP tokens is + * optional (in other words, indicates whether the use of IMDSv2 is + * optional) or required (in other words, indicates whether + * the use of IMDSv2 is required).

    + *
      + *
    • + *

      + * optional - When IMDSv2 is optional, you can choose to retrieve instance metadata with or without + * a session token in your request. If you retrieve the IAM role credentials + * without a token, the IMDSv1 role credentials are returned. If you retrieve the IAM role credentials + * using a valid session token, the IMDSv2 role credentials are returned.

      + *
    • + *
    • + *

      + * required - When IMDSv2 is required, you must send a session token + * with any instance metadata retrieval requests. In this state, retrieving the IAM role + * credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.

      + *
    • + *
    + *

    Default: optional + *

    */ - SourceDestCheck?: boolean; + HttpTokens?: HttpTokensState; /** * @public - *

    If the request is a Spot Instance request, the ID of the request.

    + *

    The desired HTTP PUT response hop limit for instance metadata requests. The larger the + * number, the further instance metadata requests can travel.

    + *

    Default: 1

    + *

    Possible values: Integers from 1 to 64

    */ - SpotInstanceRequestId?: string; + HttpPutResponseHopLimit?: number; /** * @public - *

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

    + *

    Indicates whether the HTTP metadata endpoint on your instances is enabled or + * disabled.

    + *

    If the value is disabled, you cannot access your instance + * metadata.

    */ - SriovNetSupport?: string; + HttpEndpoint?: InstanceMetadataEndpointState; /** * @public - *

    The reason for the most recent state transition.

    + *

    Indicates whether the IPv6 endpoint for the instance metadata service is enabled or + * disabled.

    */ - StateReason?: StateReason; + HttpProtocolIpv6?: InstanceMetadataProtocolState; /** * @public - *

    Any tags assigned to the instance.

    + *

    Indicates whether access to instance tags from the instance metadata is enabled or + * disabled. For more information, see Work with + * instance tags using the instance metadata.

    */ - Tags?: Tag[]; + InstanceMetadataTags?: InstanceMetadataTagsState; +} + +/** + * @public + * @enum + */ +export const MonitoringState = { + disabled: "disabled", + disabling: "disabling", + enabled: "enabled", + pending: "pending", +} as const; - /** - * @public - *

    The virtualization type of the instance.

    - */ - VirtualizationType?: VirtualizationType; +/** + * @public + */ +export type MonitoringState = (typeof MonitoringState)[keyof typeof MonitoringState]; +/** + * @public + *

    Describes the monitoring of an instance.

    + */ +export interface Monitoring { /** * @public - *

    The CPU options for the instance.

    + *

    Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is + * enabled.

    */ - CpuOptions?: CpuOptions; + State?: MonitoringState; +} +/** + * @public + *

    Describes association information for an Elastic IP address (IPv4).

    + */ +export interface InstanceNetworkInterfaceAssociation { /** * @public - *

    The ID of the Capacity Reservation.

    + *

    The carrier IP address associated with the network interface.

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

    Information about the Capacity Reservation targeting option.

    + *

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

    */ - CapacityReservationSpecification?: CapacityReservationSpecificationResponse; + CustomerOwnedIp?: string; /** * @public - *

    Indicates whether the instance is enabled for hibernation.

    + *

    The ID of the owner of the Elastic IP address.

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

    The license configurations for the instance.

    + *

    The public DNS name.

    */ - Licenses?: LicenseConfiguration[]; + PublicDnsName?: string; /** * @public - *

    The metadata options for the instance.

    + *

    The public IP address or Elastic IP address bound to the network interface.

    */ - MetadataOptions?: InstanceMetadataOptionsResponse; + PublicIp?: string; +} +/** + * @public + *

    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.

    + */ +export interface InstanceAttachmentEnaSrdUdpSpecification { /** * @public - *

    Indicates whether the instance is enabled for Amazon Web Services Nitro - * Enclaves.

    + *

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

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

    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. + * With ENA Express, you can communicate between two EC2 instances in the same subnet within the same + * account, or in different accounts. Both sending and receiving instances must have ENA Express enabled.

    + *

    To improve the reliability of network packet delivery, ENA Express reorders network packets on the + * receiving end by default. However, some UDP-based applications are designed to handle network packets + * that are out of order to reduce the overhead for packet delivery at the network layer. When ENA Express + * is enabled, you can specify whether UDP network traffic uses it.

    + */ +export interface InstanceAttachmentEnaSrdSpecification { /** * @public - *

    The boot mode that was specified by the AMI. If the value is uefi-preferred, - * the AMI supports both UEFI and Legacy BIOS. The currentInstanceBootMode parameter - * is the boot mode that is used to boot the instance at launch or start.

    - * - *

    The operating system contained in the AMI must be configured to support the specified boot mode.

    - *
    - *

    For more information, see Boot modes in the - * Amazon EC2 User Guide.

    + *

    Indicates whether ENA Express is enabled for the network interface.

    */ - BootMode?: BootModeValues; + EnaSrdEnabled?: boolean; /** * @public - *

    The platform details value for the instance. For more information, see AMI - * billing information fields in the - * Amazon EC2 User Guide.

    + *

    Configures ENA Express for UDP network traffic.

    */ - PlatformDetails?: string; + EnaSrdUdpSpecification?: InstanceAttachmentEnaSrdUdpSpecification; +} +/** + * @public + *

    Describes a network interface attachment.

    + */ +export interface InstanceNetworkInterfaceAttachment { /** * @public - *

    The usage operation value for the instance. For more information, see AMI - * billing information fields in the - * Amazon EC2 User Guide.

    + *

    The time stamp when the attachment initiated.

    */ - UsageOperation?: string; + AttachTime?: Date; /** * @public - *

    The time that the usage operation was last updated.

    + *

    The ID of the network interface attachment.

    */ - UsageOperationUpdateTime?: Date; + AttachmentId?: string; /** * @public - *

    The options for the instance hostname.

    + *

    Indicates whether the network interface is deleted when the instance is terminated.

    */ - PrivateDnsNameOptions?: PrivateDnsNameOptionsResponse; + DeleteOnTermination?: boolean; /** * @public - *

    The IPv6 address assigned to the instance.

    + *

    The index of the device on the instance for the network interface attachment.

    */ - Ipv6Address?: string; + DeviceIndex?: number; /** * @public - *

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

    + *

    The attachment state.

    */ - TpmSupport?: string; + Status?: AttachmentStatus; /** * @public - *

    Provides information on the recovery and maintenance options of your instance.

    + *

    The index of the network card.

    */ - MaintenanceOptions?: InstanceMaintenanceOptions; + NetworkCardIndex?: number; /** * @public - *

    The boot mode that is used to boot the instance at launch or start. For more information, see Boot modes in the - * Amazon EC2 User Guide.

    + *

    Contains the ENA Express settings for the network interface that's attached + * to the instance.

    */ - CurrentInstanceBootMode?: InstanceBootModeValues; + EnaSrdSpecification?: InstanceAttachmentEnaSrdSpecification; } /** * @public - *

    Describes a launch request for one or more instances, and includes owner, requester, - * and security group information that applies to all instances in the launch - * request.

    + *

    A security group connection tracking specification response that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

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

    Not supported.

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

    The instances.

    - */ - Instances?: Instance[]; - +export interface ConnectionTrackingSpecificationResponse { /** * @public - *

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

    + *

    Timeout (in seconds) for idle TCP + * connections in an established state. Min: 60 seconds. Max: 432000 seconds (5 + * days). Default: 432000 seconds. Recommended: Less than 432000 seconds.

    */ - OwnerId?: string; + TcpEstablishedTimeout?: number; /** * @public - *

    The ID of the requester that launched the instances on your behalf (for example, - * Amazon Web Services Management Console or Auto Scaling).

    + *

    Timeout (in seconds) for idle UDP + * flows classified as streams which have seen more than one request-response + * transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180 + * seconds.

    */ - RequesterId?: string; + UdpStreamTimeout?: number; /** * @public - *

    The ID of the reservation.

    + *

    Timeout (in seconds) for idle UDP flows that + * have seen traffic only in a single direction or a single request-response + * transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.

    */ - ReservationId?: string; + UdpTimeout?: number; } /** * @public + *

    Information about an IPv4 prefix.

    */ -export interface DescribeInstancesResult { +export interface InstanceIpv4Prefix { /** * @public - *

    Information about the reservations.

    + *

    One or more IPv4 prefixes assigned to the network interface.

    */ - Reservations?: Reservation[]; + Ipv4Prefix?: string; +} +/** + * @public + *

    Information about an IPv6 prefix.

    + */ +export interface InstanceIpv6Prefix { /** * @public - *

    The token to include in another request to get the next page of items. This value is null when there - * are no more items to return.

    + *

    One or more IPv6 prefixes assigned to the network interface.

    */ - NextToken?: string; + Ipv6Prefix?: string; } /** * @public + *

    Describes a private IPv4 address.

    */ -export interface DescribeInstanceStatusRequest { +export interface InstancePrivateIpAddress { /** * @public - *

    The filters.

    - *
      - *
    • - *

      - * availability-zone - The Availability Zone of the instance.

      - *
    • - *
    • - *

      - * event.code - The code for the scheduled event - * (instance-reboot | system-reboot | - * system-maintenance | instance-retirement | - * instance-stop).

      - *
    • - *
    • - *

      - * event.description - A description of the event.

      - *
    • - *
    • - *

      - * event.instance-event-id - The ID of the event whose date and time - * you are modifying.

      - *
    • - *
    • - *

      - * event.not-after - The latest end time for the scheduled event - * (for example, 2014-09-15T17:15:20.000Z).

      - *
    • - *
    • - *

      - * event.not-before - The earliest start time for the scheduled - * event (for example, 2014-09-15T17:15:20.000Z).

      - *
    • - *
    • - *

      - * event.not-before-deadline - The deadline for starting the event - * (for example, 2014-09-15T17:15:20.000Z).

      - *
    • - *
    • - *

      - * instance-state-code - The code for the instance state, as a - * 16-bit unsigned integer. The high byte is used for internal purposes and should - * be ignored. The low byte is set based on the state represented. The valid values - * are 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 - * (stopping), and 80 (stopped).

      - *
    • - *
    • - *

      - * instance-state-name - The state of the instance - * (pending | running | shutting-down | - * terminated | stopping | - * stopped).

      - *
    • - *
    • - *

      - * instance-status.reachability - Filters on instance status where - * the name is reachability (passed | failed - * | initializing | insufficient-data).

      - *
    • - *
    • - *

      - * instance-status.status - The status of the instance - * (ok | impaired | initializing | - * insufficient-data | not-applicable).

      - *
    • - *
    • - *

      - * system-status.reachability - Filters on system status where the - * name is reachability (passed | failed | - * initializing | insufficient-data).

      - *
    • - *
    • - *

      - * system-status.status - The system status of the instance - * (ok | impaired | initializing | - * insufficient-data | not-applicable).

      - *
    • - *
    + *

    The association information for an Elastic IP address for the network interface.

    + */ + Association?: InstanceNetworkInterfaceAssociation; + + /** + * @public + *

    Indicates whether this IPv4 address is the primary private IP address of the network interface.

    */ - Filters?: Filter[]; + Primary?: boolean; /** * @public - *

    The instance IDs.

    - *

    Default: Describes all your instances.

    - *

    Constraints: Maximum 100 explicitly specified instance IDs.

    + *

    The private IPv4 DNS name.

    */ - InstanceIds?: string[]; + PrivateDnsName?: string; /** * @public - *

    The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

    - *

    You cannot specify this parameter and the instance IDs parameter in the same request.

    + *

    The private IPv4 address of the network interface.

    */ - MaxResults?: number; + PrivateIpAddress?: string; +} +/** + * @public + *

    Describes a network interface.

    + */ +export interface InstanceNetworkInterface { /** * @public - *

    The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

    + *

    The association information for an Elastic IPv4 associated with the network + * interface.

    */ - NextToken?: string; + Association?: InstanceNetworkInterfaceAssociation; /** * @public - *

    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.

    + *

    The network interface attachment.

    */ - DryRun?: boolean; + Attachment?: InstanceNetworkInterfaceAttachment; /** * @public - *

    When true, includes the health status for all instances. When - * false, includes the health status for running instances only.

    - *

    Default: false - *

    + *

    The description.

    */ - IncludeAllInstances?: boolean; -} + Description?: string; -/** - * @public - * @enum - */ -export const EventCode = { - instance_reboot: "instance-reboot", - instance_retirement: "instance-retirement", - instance_stop: "instance-stop", - system_maintenance: "system-maintenance", - system_reboot: "system-reboot", -} as const; + /** + * @public + *

    The security groups.

    + */ + Groups?: GroupIdentifier[]; -/** - * @public - */ -export type EventCode = (typeof EventCode)[keyof typeof EventCode]; + /** + * @public + *

    The IPv6 addresses associated with the network interface.

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

    Describes a scheduled event for an instance.

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

    The ID of the event.

    + *

    The MAC address.

    */ - InstanceEventId?: string; + MacAddress?: string; /** * @public - *

    The event code.

    + *

    The ID of the network interface.

    */ - Code?: EventCode; + NetworkInterfaceId?: string; /** * @public - *

    A description of the event.

    - *

    After a scheduled event is completed, it can still be described for up to a week. If - * the event has been completed, this description starts with the following text: - * [Completed].

    + *

    The ID of the Amazon Web Services account that created the network interface.

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

    The latest scheduled end time for the event.

    + *

    The private DNS name.

    */ - NotAfter?: Date; + PrivateDnsName?: string; /** * @public - *

    The earliest scheduled start time for the event.

    + *

    The IPv4 address of the network interface within the subnet.

    */ - NotBefore?: Date; + PrivateIpAddress?: string; /** * @public - *

    The deadline for starting the event.

    + *

    The private IPv4 addresses associated with the network interface.

    */ - NotBeforeDeadline?: Date; -} + PrivateIpAddresses?: InstancePrivateIpAddress[]; -/** - * @public - * @enum - */ -export const StatusName = { - reachability: "reachability", -} as const; + /** + * @public + *

    Indicates whether source/destination checking is enabled.

    + */ + SourceDestCheck?: boolean; -/** - * @public - */ -export type StatusName = (typeof StatusName)[keyof typeof StatusName]; + /** + * @public + *

    The status of the network interface.

    + */ + Status?: NetworkInterfaceStatus; -/** - * @public - * @enum - */ -export const StatusType = { - failed: "failed", - initializing: "initializing", - insufficient_data: "insufficient-data", - passed: "passed", -} as const; + /** + * @public + *

    The ID of the subnet.

    + */ + SubnetId?: string; -/** - * @public - */ -export type StatusType = (typeof StatusType)[keyof typeof StatusType]; + /** + * @public + *

    The ID of the VPC.

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

    The type of network interface.

    + *

    Valid values: interface | efa | trunk + *

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

    The IPv4 delegated prefixes that are assigned to the network interface.

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

    The IPv6 delegated prefixes that are assigned to the network interface.

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

    A security group connection tracking configuration that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

    + */ + ConnectionTrackingConfiguration?: ConnectionTrackingSpecificationResponse; +} /** * @public - *

    Describes the instance status.

    + *

    Describes the options for instance hostnames.

    */ -export interface InstanceStatusDetails { +export interface PrivateDnsNameOptionsResponse { /** * @public - *

    The time when a status check failed. For an instance that was launched and impaired, - * this is the time when the instance was launched.

    + *

    The type of hostname to assign to an instance.

    */ - ImpairedSince?: Date; + HostnameType?: HostnameType; /** * @public - *

    The type of instance status.

    + *

    Indicates whether to respond to DNS queries for instance hostnames with DNS A + * records.

    */ - Name?: StatusName; + EnableResourceNameDnsARecord?: boolean; /** * @public - *

    The status.

    + *

    Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA + * records.

    */ - Status?: StatusType; + EnableResourceNameDnsAAAARecord?: boolean; } /** * @public * @enum */ -export const SummaryStatus = { - impaired: "impaired", - initializing: "initializing", - insufficient_data: "insufficient-data", - not_applicable: "not-applicable", - ok: "ok", +export const InstanceStateName = { + pending: "pending", + running: "running", + shutting_down: "shutting-down", + stopped: "stopped", + stopping: "stopping", + terminated: "terminated", } as const; -/** - * @public - */ -export type SummaryStatus = (typeof SummaryStatus)[keyof typeof SummaryStatus]; +/** + * @public + */ +export type InstanceStateName = (typeof InstanceStateName)[keyof typeof InstanceStateName]; + +/** + * @public + *

    Describes the current state of an instance.

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

    The state of the instance as a 16-bit unsigned integer.

    + *

    The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal values + * between 256 and 65,535. These numerical values are used for internal purposes and should + * be ignored.

    + *

    The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal values + * between 0 and 255.

    + *

    The valid values for instance-state-code will all be in the range of the low byte and + * they are:

    + *
      + *
    • + *

      + * 0 : pending + *

      + *
    • + *
    • + *

      + * 16 : running + *

      + *
    • + *
    • + *

      + * 32 : shutting-down + *

      + *
    • + *
    • + *

      + * 48 : terminated + *

      + *
    • + *
    • + *

      + * 64 : stopping + *

      + *
    • + *
    • + *

      + * 80 : stopped + *

      + *
    • + *
    + *

    You can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in + * decimal.

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

    The current state of the instance.

    + */ + Name?: InstanceStateName; +} /** * @public - *

    Describes the status of an instance.

    + *

    Describes an instance.

    */ -export interface InstanceStatusSummary { +export interface Instance { /** * @public - *

    The system instance health or application instance health.

    + *

    The AMI launch index, which can be used to find this instance in the launch + * group.

    */ - Details?: InstanceStatusDetails[]; + AmiLaunchIndex?: number; /** * @public - *

    The status.

    + *

    The ID of the AMI used to launch the instance.

    */ - Status?: SummaryStatus; -} + ImageId?: string; -/** - * @public - *

    Describes the status of an instance.

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

    The Availability Zone of the instance.

    + *

    The ID of the instance.

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

    The Amazon Resource Name (ARN) of the Outpost.

    + *

    The instance type.

    */ - OutpostArn?: string; + InstanceType?: _InstanceType; /** * @public - *

    Any scheduled events associated with the instance.

    + *

    The kernel associated with this instance, if applicable.

    */ - Events?: InstanceStatusEvent[]; + KernelId?: string; /** * @public - *

    The ID of the instance.

    + *

    The name of the key pair, if this instance was launched with an associated key + * pair.

    */ - InstanceId?: string; + KeyName?: string; /** * @public - *

    The intended state of the instance. DescribeInstanceStatus requires - * that an instance be in the running state.

    + *

    The time the instance was launched.

    */ - InstanceState?: InstanceState; + LaunchTime?: Date; /** * @public - *

    Reports impaired functionality that stems from issues internal to the instance, such - * as impaired reachability.

    + *

    The monitoring for the instance.

    */ - InstanceStatus?: InstanceStatusSummary; + Monitoring?: Monitoring; /** * @public - *

    Reports impaired functionality that stems from issues related to the systems that - * support an instance, such as hardware failures and network connectivity problems.

    + *

    The location where the instance launched, if applicable.

    */ - SystemStatus?: InstanceStatusSummary; -} + Placement?: Placement; -/** - * @public - */ -export interface DescribeInstanceStatusResult { /** * @public - *

    Information about the status of the instances.

    + *

    The platform. This value is windows for Windows instances; otherwise, it is empty.

    */ - InstanceStatuses?: InstanceStatus[]; + Platform?: PlatformValues; /** * @public - *

    The token to include in another request to get the next page of items. This value is null when there - * are no more items to return.

    + *

    [IPv4 only] The private DNS hostname name assigned to the instance. This DNS hostname + * can only be used inside the Amazon EC2 network. This name is not available until the + * instance enters the running state.

    + *

    The Amazon-provided DNS server resolves Amazon-provided private DNS + * hostnames if you've enabled DNS resolution and DNS hostnames in your VPC. If you are not + * using the Amazon-provided DNS server in your VPC, your custom domain name servers must + * resolve the hostname as appropriate.

    */ - NextToken?: string; -} + PrivateDnsName?: string; -/** - * @public - */ -export interface DescribeInstanceTopologyRequest { /** * @public - *

    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.

    + *

    The private IPv4 address assigned to the instance.

    */ - DryRun?: boolean; + PrivateIpAddress?: string; /** * @public - *

    The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

    + *

    The product codes attached to this instance, if applicable.

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

    The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

    - *

    You can't specify this parameter and the instance IDs parameter in the same request.

    - *

    Default: 20 - *

    + *

    [IPv4 only] The public DNS name assigned to the instance. This name is not available + * until the instance enters the running state. This name is only + * available if you've enabled DNS hostnames for your VPC.

    */ - MaxResults?: number; + PublicDnsName?: string; /** * @public - *

    The instance IDs.

    - *

    Default: Describes all your instances.

    - *

    Constraints: Maximum 100 explicitly specified instance IDs.

    + *

    The public IPv4 address, or the Carrier IP address assigned to the instance, if + * applicable.

    + *

    A Carrier IP address only applies to an instance launched in a subnet associated with + * a Wavelength Zone.

    */ - InstanceIds?: string[]; + PublicIpAddress?: string; /** * @public - *

    The name of the placement group that each instance is in.

    - *

    Constraints: Maximum 100 explicitly specified placement group names.

    + *

    The RAM disk associated with this instance, if applicable.

    */ - GroupNames?: string[]; + RamdiskId?: string; /** * @public - *

    The filters.

    - *
      - *
    • - *

      - * availability-zone - The name of the Availability Zone (for - * example, us-west-2a) or Local Zone (for example, - * us-west-2-lax-1b) that the instance is in.

      - *
    • - *
    • - *

      - * instance-type - The instance type (for example, - * p4d.24xlarge) or instance family (for example, - * p4d*). You can use the * wildcard to match zero or - * more characters, or the ? wildcard to match zero or one - * character.

      - *
    • - *
    • - *

      - * zone-id - The ID of the Availability Zone (for example, - * usw2-az2) or Local Zone (for example, - * usw2-lax1-az1) that the instance is in.

      - *
    • - *
    + *

    The current state of the instance.

    */ - Filters?: Filter[]; -} + State?: InstanceState; -/** - * @public - *

    Information about the instance topology.

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

    The instance ID.

    + *

    The reason for the most recent state transition. This might be an empty string.

    */ - InstanceId?: string; + StateTransitionReason?: string; /** * @public - *

    The instance type.

    + *

    The ID of the subnet in which the instance is running.

    */ - InstanceType?: string; + SubnetId?: string; /** * @public - *

    The name of the placement group that the instance is in.

    + *

    The ID of the VPC in which the instance is running.

    */ - GroupName?: string; + VpcId?: string; /** * @public - *

    The network nodes. The nodes are hashed based on your account. Instances from - * different accounts running under the same droplet will return a different hashed list of - * strings.

    + *

    The architecture of the image.

    */ - NetworkNodes?: string[]; + Architecture?: ArchitectureValues; /** * @public - *

    The name of the Availability Zone or Local Zone that the instance is in.

    + *

    Any block device mapping entries for the instance.

    */ - AvailabilityZone?: string; + BlockDeviceMappings?: InstanceBlockDeviceMapping[]; /** * @public - *

    The ID of the Availability Zone or Local Zone that the instance is in.

    + *

    The idempotency token you provided when you launched the instance, if + * applicable.

    */ - ZoneId?: string; -} + ClientToken?: string; -/** - * @public - */ -export interface DescribeInstanceTopologyResult { /** * @public - *

    Information about the topology of each instance.

    + *

    Indicates whether the instance is optimized for Amazon EBS I/O. This optimization + * provides dedicated throughput to Amazon EBS and an optimized configuration stack to + * provide optimal I/O performance. This optimization isn't available with all instance + * types. Additional usage charges apply when using an EBS Optimized instance.

    */ - Instances?: InstanceTopology[]; + EbsOptimized?: boolean; /** * @public - *

    The token to include in another request to get the next page of items. This value is null when there - * are no more items to return.

    + *

    Specifies whether enhanced networking with ENA is enabled.

    */ - NextToken?: string; -} + EnaSupport?: boolean; -/** - * @public - * @enum - */ -export const LocationType = { - availability_zone: "availability-zone", - availability_zone_id: "availability-zone-id", - outpost: "outpost", - region: "region", -} as const; + /** + * @public + *

    The hypervisor type of the instance. The value xen is used for both Xen + * and Nitro hypervisors.

    + */ + Hypervisor?: HypervisorType; -/** - * @public - */ -export type LocationType = (typeof LocationType)[keyof typeof LocationType]; + /** + * @public + *

    The IAM instance profile associated with the instance, if + * applicable.

    + */ + IamInstanceProfile?: IamInstanceProfile; -/** - * @public - */ -export interface DescribeInstanceTypeOfferingsRequest { /** * @public - *

    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.

    + *

    Indicates whether this is a Spot Instance or a Scheduled Instance.

    */ - DryRun?: boolean; + InstanceLifecycle?: InstanceLifecycleType; /** * @public - *

    The location type.

    + *

    The Elastic GPU associated with the instance.

    */ - LocationType?: LocationType; + ElasticGpuAssociations?: ElasticGpuAssociation[]; /** * @public - *

    One or more filters. Filter names and values are case-sensitive.

    - *
      - *
    • - *

      - * location - This depends on the location type. For example, if the location type is - * region (default), the location is the Region code (for example, us-east-2.)

      - *
    • - *
    • - *

      - * instance-type - The instance type. For example, - * c5.2xlarge.

      - *
    • - *
    + *

    The elastic inference accelerator associated with the instance.

    + */ + ElasticInferenceAcceleratorAssociations?: ElasticInferenceAcceleratorAssociation[]; + + /** + * @public + *

    The network interfaces for the instance.

    */ - Filters?: Filter[]; + NetworkInterfaces?: InstanceNetworkInterface[]; /** * @public - *

    The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

    + *

    The Amazon Resource Name (ARN) of the Outpost.

    */ - MaxResults?: number; + OutpostArn?: string; /** * @public - *

    The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

    + *

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

    */ - NextToken?: string; -} + RootDeviceName?: string; -/** - * @public - *

    The instance types offered.

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

    The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

    + *

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

    */ - InstanceType?: _InstanceType; + RootDeviceType?: DeviceType; /** * @public - *

    The location type.

    + *

    The security groups for the instance.

    */ - LocationType?: LocationType; + SecurityGroups?: GroupIdentifier[]; /** * @public - *

    The identifier for the location. This depends on the location type. For example, if the location type is - * region, the location is the Region code (for example, us-east-2.)

    + *

    Indicates whether source/destination checking is enabled.

    */ - Location?: string; -} + SourceDestCheck?: boolean; -/** - * @public - */ -export interface DescribeInstanceTypeOfferingsResult { /** * @public - *

    The instance types offered.

    + *

    If the request is a Spot Instance request, the ID of the request.

    */ - InstanceTypeOfferings?: InstanceTypeOffering[]; + SpotInstanceRequestId?: string; /** * @public - *

    The token to include in another request to get the next page of items. This value is null when there - * are no more items to return.

    + *

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

    */ - NextToken?: string; -} + SriovNetSupport?: string; -/** - * @public - */ -export interface DescribeInstanceTypesRequest { /** * @public - *

    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.

    + *

    The reason for the most recent state transition.

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

    The instance types. For more information, see Instance types in the Amazon EC2 User Guide.

    + *

    Any tags assigned to the instance.

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

    One or more filters. Filter names and values are case-sensitive.

    - *
      - *
    • - *

      - * auto-recovery-supported - Indicates whether Amazon CloudWatch action based recovery is supported (true | false).

      - *
    • - *
    • - *

      - * bare-metal - Indicates whether it is a bare metal instance type (true | false).

      - *
    • - *
    • - *

      - * burstable-performance-supported - Indicates whether the instance type is a - * burstable performance T instance type (true | false).

      - *
    • - *
    • - *

      - * current-generation - Indicates whether this instance type is the latest - * generation instance type of an instance family (true | false).

      - *
    • - *
    • - *

      - * ebs-info.ebs-optimized-info.baseline-bandwidth-in-mbps - The baseline - * bandwidth performance for an EBS-optimized instance type, in Mbps.

      - *
    • - *
    • - *

      - * ebs-info.ebs-optimized-info.baseline-iops - The baseline input/output storage - * operations per second for an EBS-optimized instance type.

      - *
    • - *
    • - *

      - * ebs-info.ebs-optimized-info.baseline-throughput-in-mbps - The baseline - * throughput performance for an EBS-optimized instance type, in MB/s.

      - *
    • - *
    • - *

      - * ebs-info.ebs-optimized-info.maximum-bandwidth-in-mbps - The maximum bandwidth - * performance for an EBS-optimized instance type, in Mbps.

      - *
    • - *
    • - *

      - * ebs-info.ebs-optimized-info.maximum-iops - The maximum input/output storage - * operations per second for an EBS-optimized instance type.

      - *
    • - *
    • - *

      - * ebs-info.ebs-optimized-info.maximum-throughput-in-mbps - The maximum - * throughput performance for an EBS-optimized instance type, in MB/s.

      - *
    • - *
    • - *

      - * ebs-info.ebs-optimized-support - Indicates whether the instance type is - * EBS-optimized (supported | unsupported | - * default).

      - *
    • - *
    • - *

      - * ebs-info.encryption-support - Indicates whether EBS encryption is supported - * (supported | unsupported).

      - *
    • - *
    • - *

      - * ebs-info.nvme-support - Indicates whether non-volatile memory express (NVMe) - * is supported for EBS volumes (required | supported | unsupported).

      - *
    • - *
    • - *

      - * free-tier-eligible - Indicates whether the instance type is eligible to use - * in the free tier (true | false).

      - *
    • - *
    • - *

      - * hibernation-supported - Indicates whether On-Demand hibernation is supported (true | false).

      - *
    • - *
    • - *

      - * hypervisor - The hypervisor (nitro | xen).

      - *
    • - *
    • - *

      - * instance-storage-info.disk.count - The number of local disks.

      - *
    • - *
    • - *

      - * instance-storage-info.disk.size-in-gb - The storage size of each instance storage disk, in - * GB.

      - *
    • - *
    • - *

      - * instance-storage-info.disk.type - The storage technology for the local - * instance storage disks (hdd | ssd).

      - *
    • - *
    • - *

      - * instance-storage-info.encryption-support - Indicates whether data is encrypted at rest - * (required | supported | unsupported).

      - *
    • - *
    • - *

      - * instance-storage-info.nvme-support - Indicates whether non-volatile memory - * express (NVMe) is supported for instance store (required | supported | - * unsupported).

      - *
    • - *
    • - *

      - * instance-storage-info.total-size-in-gb - The total amount of storage available from all local - * instance storage, in GB.

      - *
    • - *
    • - *

      - * instance-storage-supported - Indicates whether the instance type has local - * instance storage (true | false).

      - *
    • - *
    • - *

      - * instance-type - The instance type (for example c5.2xlarge or - * c5*).

      - *
    • - *
    • - *

      - * memory-info.size-in-mib - The memory size.

      - *
    • - *
    • - *

      - * network-info.efa-info.maximum-efa-interfaces - The maximum number of Elastic - * Fabric Adapters (EFAs) per instance.

      - *
    • - *
    • - *

      - * network-info.efa-supported - Indicates whether the instance type supports - * Elastic Fabric Adapter (EFA) (true | false).

      - *
    • - *
    • - *

      - * network-info.ena-support - Indicates whether Elastic Network Adapter (ENA) is - * supported or required (required | supported | - * unsupported).

      - *
    • - *
    • - *

      - * network-info.encryption-in-transit-supported - Indicates whether the instance type - * automatically encrypts in-transit traffic between instances (true | false).

      - *
    • - *
    • - *

      - * network-info.ipv4-addresses-per-interface - The maximum number of private IPv4 addresses per - * network interface.

      - *
    • - *
    • - *

      - * network-info.ipv6-addresses-per-interface - The maximum number of private IPv6 addresses per - * network interface.

      - *
    • - *
    • - *

      - * network-info.ipv6-supported - Indicates whether the instance type supports IPv6 (true | false).

      - *
    • - *
    • - *

      - * network-info.maximum-network-cards - The maximum number of network cards per - * instance.

      - *
    • - *
    • - *

      - * network-info.maximum-network-interfaces - The maximum number of network interfaces per instance.

      - *
    • - *
    • - *

      - * network-info.network-performance - The network performance (for example, "25 - * Gigabit").

      - *
    • - *
    • - *

      - * nitro-enclaves-support - Indicates whether Nitro Enclaves is supported (supported | - * unsupported).

      - *
    • - *
    • - *

      - * nitro-tpm-support - Indicates whether NitroTPM is supported (supported | - * unsupported).

      - *
    • + *

      The virtualization type of the instance.

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

      The CPU options for the instance.

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

      The ID of the Capacity Reservation.

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

      Information about the Capacity Reservation targeting option.

      + */ + CapacityReservationSpecification?: CapacityReservationSpecificationResponse; + + /** + * @public + *

      Indicates whether the instance is enabled for hibernation.

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

      The license configurations for the instance.

      + */ + Licenses?: LicenseConfiguration[]; + + /** + * @public + *

      The metadata options for the instance.

      + */ + MetadataOptions?: InstanceMetadataOptionsResponse; + + /** + * @public + *

      Indicates whether the instance is enabled for Amazon Web Services Nitro + * Enclaves.

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

      The boot mode that was specified by the AMI. If the value is uefi-preferred, + * the AMI supports both UEFI and Legacy BIOS. The currentInstanceBootMode parameter + * is the boot mode that is used to boot the instance at launch or start.

      + * + *

      The operating system contained in the AMI must be configured to support the specified boot mode.

      + *
      + *

      For more information, see Boot modes in the + * Amazon EC2 User Guide.

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

      The platform details value for the instance. For more information, see AMI + * billing information fields in the + * Amazon EC2 User Guide.

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

      The usage operation value for the instance. For more information, see AMI + * billing information fields in the + * Amazon EC2 User Guide.

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

      The time that the usage operation was last updated.

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

      The options for the instance hostname.

      + */ + PrivateDnsNameOptions?: PrivateDnsNameOptionsResponse; + + /** + * @public + *

      The IPv6 address assigned to the instance.

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

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

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

      Provides information on the recovery and maintenance options of your instance.

      + */ + MaintenanceOptions?: InstanceMaintenanceOptions; + + /** + * @public + *

      The boot mode that is used to boot the instance at launch or start. For more information, see Boot modes in the + * Amazon EC2 User Guide.

      + */ + CurrentInstanceBootMode?: InstanceBootModeValues; +} + +/** + * @public + *

      Describes a launch request for one or more instances, and includes owner, requester, + * and security group information that applies to all instances in the launch + * request.

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

      Not supported.

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

      The instances.

      + */ + Instances?: Instance[]; + + /** + * @public + *

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

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

      The ID of the requester that launched the instances on your behalf (for example, + * Amazon Web Services Management Console or Auto Scaling).

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

      The ID of the reservation.

      + */ + ReservationId?: string; +} + +/** + * @public + */ +export interface DescribeInstancesResult { + /** + * @public + *

      Information about the reservations.

      + */ + Reservations?: Reservation[]; + + /** + * @public + *

      The token to include in another request to get the next page of items. This value is null when there + * are no more items to return.

      + */ + NextToken?: string; +} + +/** + * @public + */ +export interface DescribeInstanceStatusRequest { + /** + * @public + *

      The filters.

      + *
        *
      • *

        - * nitro-tpm-info.supported-versions - The supported NitroTPM version (2.0).

        + * availability-zone - The Availability Zone of the instance.

        *
      • *
      • *

        - * processor-info.supported-architecture - The CPU architecture - * (arm64 | i386 | x86_64).

        + * event.code - The code for the scheduled event + * (instance-reboot | system-reboot | + * system-maintenance | instance-retirement | + * instance-stop).

        *
      • *
      • *

        - * processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in GHz.

        + * event.description - A description of the event.

        *
      • *
      • *

        - * processor-info.supported-features - The supported CPU features (amd-sev-snp).

        + * event.instance-event-id - The ID of the event whose date and time + * you are modifying.

        *
      • *
      • *

        - * supported-boot-mode - The boot mode (legacy-bios | - * uefi).

        + * event.not-after - The latest end time for the scheduled event + * (for example, 2014-09-15T17:15:20.000Z).

        *
      • *
      • *

        - * supported-root-device-type - The root device type (ebs | - * instance-store).

        + * event.not-before - The earliest start time for the scheduled + * event (for example, 2014-09-15T17:15:20.000Z).

        *
      • *
      • *

        - * supported-usage-class - The usage class (on-demand | - * spot).

        + * event.not-before-deadline - The deadline for starting the event + * (for example, 2014-09-15T17:15:20.000Z).

        *
      • *
      • *

        - * supported-virtualization-type - The virtualization type (hvm | - * paravirtual).

        + * instance-state-code - The code for the instance state, as a + * 16-bit unsigned integer. The high byte is used for internal purposes and should + * be ignored. The low byte is set based on the state represented. The valid values + * are 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 + * (stopping), and 80 (stopped).

        *
      • *
      • *

        - * vcpu-info.default-cores - The default number of cores for the instance type.

        + * instance-state-name - The state of the instance + * (pending | running | shutting-down | + * terminated | stopping | + * stopped).

        *
      • *
      • *

        - * vcpu-info.default-threads-per-core - The default number of threads per core for the instance - * type.

        + * instance-status.reachability - Filters on instance status where + * the name is reachability (passed | failed + * | initializing | insufficient-data).

        *
      • *
      • *

        - * vcpu-info.default-vcpus - The default number of vCPUs for the instance type.

        + * instance-status.status - The status of the instance + * (ok | impaired | initializing | + * insufficient-data | not-applicable).

        *
      • *
      • *

        - * vcpu-info.valid-cores - The number of cores that can be configured for the instance type.

        + * system-status.reachability - Filters on system status where the + * name is reachability (passed | failed | + * initializing | insufficient-data).

        *
      • *
      • *

        - * vcpu-info.valid-threads-per-core - The number of threads per core that can be configured for the instance type. - * For example, "1" or "1,2".

        + * system-status.status - The system status of the instance + * (ok | impaired | initializing | + * insufficient-data | not-applicable).

        *
      • *
      */ - Filters?: Filter[]; - - /** - * @public - *

      The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

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

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

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

      Describes the optimized EBS performance for supported instance types.

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

      The baseline bandwidth performance for an EBS-optimized instance type, in Mbps.

      - */ - BaselineBandwidthInMbps?: number; + Filters?: Filter[]; /** * @public - *

      The baseline throughput performance for an EBS-optimized instance type, in MB/s.

      + *

      The instance IDs.

      + *

      Default: Describes all your instances.

      + *

      Constraints: Maximum 100 explicitly specified instance IDs.

      */ - BaselineThroughputInMBps?: number; + InstanceIds?: string[]; /** * @public - *

      The baseline input/output storage operations per seconds for an EBS-optimized instance type.

      + *

      The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

      + *

      You cannot specify this parameter and the instance IDs parameter in the same request.

      */ - BaselineIops?: number; + MaxResults?: number; /** * @public - *

      The maximum bandwidth performance for an EBS-optimized instance type, in Mbps.

      + *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      */ - MaximumBandwidthInMbps?: number; + NextToken?: string; /** * @public - *

      The maximum throughput performance for an EBS-optimized instance type, in MB/s.

      + *

      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.

      */ - MaximumThroughputInMBps?: number; + DryRun?: boolean; /** * @public - *

      The maximum input/output storage operations per second for an EBS-optimized instance type.

      + *

      When true, includes the health status for all instances. When + * false, includes the health status for running instances only.

      + *

      Default: false + *

      */ - MaximumIops?: number; + IncludeAllInstances?: boolean; } /** * @public * @enum */ -export const EbsOptimizedSupport = { - default: "default", - supported: "supported", - unsupported: "unsupported", -} as const; - -/** - * @public - */ -export type EbsOptimizedSupport = (typeof EbsOptimizedSupport)[keyof typeof EbsOptimizedSupport]; - -/** - * @public - * @enum - */ -export const EbsEncryptionSupport = { - supported: "supported", - unsupported: "unsupported", +export const EventCode = { + instance_reboot: "instance-reboot", + instance_retirement: "instance-retirement", + instance_stop: "instance-stop", + system_maintenance: "system-maintenance", + system_reboot: "system-reboot", } as const; /** * @public */ -export type EbsEncryptionSupport = (typeof EbsEncryptionSupport)[keyof typeof EbsEncryptionSupport]; +export type EventCode = (typeof EventCode)[keyof typeof EventCode]; /** * @public - * @enum + *

      Describes a scheduled event for an instance.

      */ -export const EbsNvmeSupport = { - REQUIRED: "required", - SUPPORTED: "supported", - UNSUPPORTED: "unsupported", -} as const; +export interface InstanceStatusEvent { + /** + * @public + *

      The ID of the event.

      + */ + InstanceEventId?: string; -/** - * @public - */ -export type EbsNvmeSupport = (typeof EbsNvmeSupport)[keyof typeof EbsNvmeSupport]; + /** + * @public + *

      The event code.

      + */ + Code?: EventCode; -/** - * @public - *

      Describes the Amazon EBS features supported by the instance type.

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

      Indicates whether the instance type is Amazon EBS-optimized. For more information, see Amazon EBS-optimized - * instances in Amazon EC2 User Guide.

      + *

      A description of the event.

      + *

      After a scheduled event is completed, it can still be described for up to a week. If + * the event has been completed, this description starts with the following text: + * [Completed].

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

      Indicates whether Amazon EBS encryption is supported.

      + *

      The latest scheduled end time for the event.

      */ - EncryptionSupport?: EbsEncryptionSupport; + NotAfter?: Date; /** * @public - *

      Describes the optimized EBS performance for the instance type.

      + *

      The earliest scheduled start time for the event.

      */ - EbsOptimizedInfo?: EbsOptimizedInfo; + NotBefore?: Date; /** * @public - *

      Indicates whether non-volatile memory express (NVMe) is supported.

      + *

      The deadline for starting the event.

      */ - NvmeSupport?: EbsNvmeSupport; + NotBeforeDeadline?: Date; } /** * @public - *

      Describes the memory for the FPGA accelerator for the instance type.

      + * @enum */ -export interface FpgaDeviceMemoryInfo { - /** - * @public - *

      The size of the memory available to the FPGA accelerator, in MiB.

      - */ - SizeInMiB?: number; -} +export const StatusName = { + reachability: "reachability", +} as const; /** * @public - *

      Describes the FPGA accelerator for the instance type.

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

      The name of the FPGA accelerator.

      - */ - Name?: string; +export type StatusName = (typeof StatusName)[keyof typeof StatusName]; + +/** + * @public + * @enum + */ +export const StatusType = { + failed: "failed", + initializing: "initializing", + insufficient_data: "insufficient-data", + passed: "passed", +} as const; +/** + * @public + */ +export type StatusType = (typeof StatusType)[keyof typeof StatusType]; + +/** + * @public + *

      Describes the instance status.

      + */ +export interface InstanceStatusDetails { /** * @public - *

      The manufacturer of the FPGA accelerator.

      + *

      The time when a status check failed. For an instance that was launched and impaired, + * this is the time when the instance was launched.

      */ - Manufacturer?: string; + ImpairedSince?: Date; /** * @public - *

      The count of FPGA accelerators for the instance type.

      + *

      The type of instance status.

      */ - Count?: number; + Name?: StatusName; /** * @public - *

      Describes the memory for the FPGA accelerator for the instance type.

      + *

      The status.

      */ - MemoryInfo?: FpgaDeviceMemoryInfo; + Status?: StatusType; } /** * @public - *

      Describes the FPGAs for the instance type.

      + * @enum */ -export interface FpgaInfo { - /** - * @public - *

      Describes the FPGAs for the instance type.

      - */ - Fpgas?: FpgaDeviceInfo[]; - - /** - * @public - *

      The total memory of all FPGA accelerators for the instance type.

      - */ - TotalFpgaMemoryInMiB?: number; -} +export const SummaryStatus = { + impaired: "impaired", + initializing: "initializing", + insufficient_data: "insufficient-data", + not_applicable: "not-applicable", + ok: "ok", +} as const; /** * @public - *

      Describes the memory available to the GPU accelerator.

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

      The size of the memory available to the GPU accelerator, in MiB.

      - */ - SizeInMiB?: number; -} +export type SummaryStatus = (typeof SummaryStatus)[keyof typeof SummaryStatus]; /** * @public - *

      Describes the GPU accelerators for the instance type.

      + *

      Describes the status of an instance.

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

      The name of the GPU accelerator.

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

      The manufacturer of the GPU accelerator.

      - */ - Manufacturer?: string; - +export interface InstanceStatusSummary { /** * @public - *

      The number of GPUs for the instance type.

      + *

      The system instance health or application instance health.

      */ - Count?: number; + Details?: InstanceStatusDetails[]; /** * @public - *

      Describes the memory available to the GPU accelerator.

      + *

      The status.

      */ - MemoryInfo?: GpuDeviceMemoryInfo; + Status?: SummaryStatus; } /** * @public - *

      Describes the GPU accelerators for the instance type.

      + *

      Describes the status of an instance.

      */ -export interface GpuInfo { +export interface InstanceStatus { /** * @public - *

      Describes the GPU accelerators for the instance type.

      + *

      The Availability Zone of the instance.

      */ - Gpus?: GpuDeviceInfo[]; + AvailabilityZone?: string; /** * @public - *

      The total size of the memory for the GPU accelerators for the instance type, in MiB.

      + *

      The Amazon Resource Name (ARN) of the Outpost.

      */ - TotalGpuMemoryInMiB?: number; -} - -/** - * @public - * @enum - */ -export const InstanceTypeHypervisor = { - NITRO: "nitro", - XEN: "xen", -} as const; - -/** - * @public - */ -export type InstanceTypeHypervisor = (typeof InstanceTypeHypervisor)[keyof typeof InstanceTypeHypervisor]; + OutpostArn?: string; -/** - * @public - *

      Describes the memory available to the inference accelerator.

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

      The size of the memory available to the inference accelerator, in MiB.

      + *

      Any scheduled events associated with the instance.

      */ - SizeInMiB?: number; -} + Events?: InstanceStatusEvent[]; -/** - * @public - *

      Describes the Inference accelerators for the instance type.

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

      The number of Inference accelerators for the instance type.

      + *

      The ID of the instance.

      */ - Count?: number; + InstanceId?: string; /** * @public - *

      The name of the Inference accelerator.

      + *

      The intended state of the instance. DescribeInstanceStatus requires + * that an instance be in the running state.

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

      The manufacturer of the Inference accelerator.

      + *

      Reports impaired functionality that stems from issues internal to the instance, such + * as impaired reachability.

      */ - Manufacturer?: string; + InstanceStatus?: InstanceStatusSummary; /** * @public - *

      Describes the memory available to the inference accelerator.

      + *

      Reports impaired functionality that stems from issues related to the systems that + * support an instance, such as hardware failures and network connectivity problems.

      */ - MemoryInfo?: InferenceDeviceMemoryInfo; + SystemStatus?: InstanceStatusSummary; } /** * @public - *

      Describes the Inference accelerators for the instance type.

      */ -export interface InferenceAcceleratorInfo { +export interface DescribeInstanceStatusResult { /** * @public - *

      Describes the Inference accelerators for the instance type.

      + *

      Information about the status of the instances.

      */ - Accelerators?: InferenceDeviceInfo[]; + InstanceStatuses?: InstanceStatus[]; /** * @public - *

      The total size of the memory for the inference accelerators for the instance type, in MiB.

      + *

      The token to include in another request to get the next page of items. This value is null when there + * are no more items to return.

      */ - TotalInferenceMemoryInMiB?: number; + NextToken?: string; } -/** - * @public - * @enum - */ -export const DiskType = { - hdd: "hdd", - ssd: "ssd", -} as const; - /** * @public */ -export type DiskType = (typeof DiskType)[keyof typeof DiskType]; +export interface DescribeInstanceTopologyRequest { + /** + * @public + *

      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.

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

      Describes a disk.

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

      The size of the disk in GB.

      + *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      */ - SizeInGB?: number; + NextToken?: string; /** * @public - *

      The number of disks with this configuration.

      + *

      The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

      + *

      You can't specify this parameter and the instance IDs parameter in the same request.

      + *

      Default: 20 + *

      */ - Count?: number; + MaxResults?: number; /** * @public - *

      The type of disk.

      + *

      The instance IDs.

      + *

      Default: Describes all your instances.

      + *

      Constraints: Maximum 100 explicitly specified instance IDs.

      */ - Type?: DiskType; -} + InstanceIds?: string[]; -/** - * @public - * @enum - */ -export const InstanceStorageEncryptionSupport = { - required: "required", - unsupported: "unsupported", -} as const; + /** + * @public + *

      The name of the placement group that each instance is in.

      + *

      Constraints: Maximum 100 explicitly specified placement group names.

      + */ + GroupNames?: string[]; -/** - * @public - */ -export type InstanceStorageEncryptionSupport = - (typeof InstanceStorageEncryptionSupport)[keyof typeof InstanceStorageEncryptionSupport]; + /** + * @public + *

      The filters.

      + *
        + *
      • + *

        + * availability-zone - The name of the Availability Zone (for + * example, us-west-2a) or Local Zone (for example, + * us-west-2-lax-1b) that the instance is in.

        + *
      • + *
      • + *

        + * instance-type - The instance type (for example, + * p4d.24xlarge) or instance family (for example, + * p4d*). You can use the * wildcard to match zero or + * more characters, or the ? wildcard to match zero or one + * character.

        + *
      • + *
      • + *

        + * zone-id - The ID of the Availability Zone (for example, + * usw2-az2) or Local Zone (for example, + * usw2-lax1-az1) that the instance is in.

        + *
      • + *
      + */ + Filters?: Filter[]; +} /** * @public - * @enum + *

      Information about the instance topology.

      */ -export const EphemeralNvmeSupport = { - REQUIRED: "required", - SUPPORTED: "supported", - UNSUPPORTED: "unsupported", -} as const; +export interface InstanceTopology { + /** + * @public + *

      The instance ID.

      + */ + InstanceId?: string; -/** - * @public - */ -export type EphemeralNvmeSupport = (typeof EphemeralNvmeSupport)[keyof typeof EphemeralNvmeSupport]; + /** + * @public + *

      The instance type.

      + */ + InstanceType?: string; -/** - * @public - *

      Describes the instance store features that are supported by the instance type.

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

      The total size of the disks, in GB.

      + *

      The name of the placement group that the instance is in.

      */ - TotalSizeInGB?: number; + GroupName?: string; /** * @public - *

      Describes the disks that are available for the instance type.

      + *

      The network nodes. The nodes are hashed based on your account. Instances from + * different accounts running under the same droplet will return a different hashed list of + * strings.

      */ - Disks?: DiskInfo[]; + NetworkNodes?: string[]; /** * @public - *

      Indicates whether non-volatile memory express (NVMe) is supported.

      + *

      The name of the Availability Zone or Local Zone that the instance is in.

      */ - NvmeSupport?: EphemeralNvmeSupport; + AvailabilityZone?: string; /** * @public - *

      Indicates whether data is encrypted at rest.

      + *

      The ID of the Availability Zone or Local Zone that the instance is in.

      */ - EncryptionSupport?: InstanceStorageEncryptionSupport; + ZoneId?: string; } /** * @public - *

      Describes the memory for the instance type.

      */ -export interface MemoryInfo { +export interface DescribeInstanceTopologyResult { /** * @public - *

      The size of the memory, in MiB.

      + *

      Information about the topology of each instance.

      */ - SizeInMiB?: number; -} + Instances?: InstanceTopology[]; -/** - * @public - *

      Describes the Elastic Fabric Adapters for the instance type.

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

      The maximum number of Elastic Fabric Adapters for the instance type.

      + *

      The token to include in another request to get the next page of items. This value is null when there + * are no more items to return.

      */ - MaximumEfaInterfaces?: number; + NextToken?: string; } /** * @public * @enum */ -export const EnaSupport = { - required: "required", - supported: "supported", - unsupported: "unsupported", +export const LocationType = { + availability_zone: "availability-zone", + availability_zone_id: "availability-zone-id", + outpost: "outpost", + region: "region", } as const; /** * @public */ -export type EnaSupport = (typeof EnaSupport)[keyof typeof EnaSupport]; +export type LocationType = (typeof LocationType)[keyof typeof LocationType]; /** * @public - *

      Describes the network card support of the instance type.

      */ -export interface NetworkCardInfo { +export interface DescribeInstanceTypeOfferingsRequest { /** * @public - *

      The index of the network card.

      + *

      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.

      */ - NetworkCardIndex?: number; + DryRun?: boolean; /** * @public - *

      The network performance of the network card.

      + *

      The location type.

      */ - NetworkPerformance?: string; + LocationType?: LocationType; /** * @public - *

      The maximum number of network interfaces for the network card.

      + *

      One or more filters. Filter names and values are case-sensitive.

      + *
        + *
      • + *

        + * location - This depends on the location type. For example, if the location type is + * region (default), the location is the Region code (for example, us-east-2.)

        + *
      • + *
      • + *

        + * instance-type - The instance type. For example, + * c5.2xlarge.

        + *
      • + *
      */ - MaximumNetworkInterfaces?: number; + Filters?: Filter[]; /** * @public - *

      The baseline network performance of the network card, in Gbps.

      + *

      The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

      */ - BaselineBandwidthInGbps?: number; + MaxResults?: number; /** * @public - *

      The peak (burst) network performance of the network card, in Gbps.

      + *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      */ - PeakBandwidthInGbps?: number; + NextToken?: string; } /** - * @public - *

      Describes the networking features of the instance type.

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

      The network performance.

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

      The maximum number of network interfaces for the instance type.

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

      The maximum number of physical network cards that can be allocated to the instance.

      - */ - MaximumNetworkCards?: number; - + * @public + *

      The instance types offered.

      + */ +export interface InstanceTypeOffering { /** * @public - *

      The index of the default network card, starting at 0.

      + *

      The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

      */ - DefaultNetworkCardIndex?: number; + InstanceType?: _InstanceType; /** * @public - *

      Describes the network cards for the instance type.

      + *

      The location type.

      */ - NetworkCards?: NetworkCardInfo[]; + LocationType?: LocationType; /** * @public - *

      The maximum number of IPv4 addresses per network interface.

      + *

      The identifier for the location. This depends on the location type. For example, if the location type is + * region, the location is the Region code (for example, us-east-2.)

      */ - Ipv4AddressesPerInterface?: number; + Location?: string; +} +/** + * @public + */ +export interface DescribeInstanceTypeOfferingsResult { /** * @public - *

      The maximum number of IPv6 addresses per network interface.

      + *

      The instance types offered.

      */ - Ipv6AddressesPerInterface?: number; + InstanceTypeOfferings?: InstanceTypeOffering[]; /** * @public - *

      Indicates whether IPv6 is supported.

      + *

      The token to include in another request to get the next page of items. This value is null when there + * are no more items to return.

      */ - Ipv6Supported?: boolean; + NextToken?: string; +} +/** + * @public + */ +export interface DescribeInstanceTypesRequest { /** * @public - *

      Indicates whether Elastic Network Adapter (ENA) is supported.

      + *

      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.

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

      Indicates whether Elastic Fabric Adapter (EFA) is supported.

      + *

      The instance types. For more information, see Instance types in the Amazon EC2 User Guide.

      */ - EfaSupported?: boolean; + InstanceTypes?: _InstanceType[]; /** * @public - *

      Describes the Elastic Fabric Adapters for the instance type.

      + *

      One or more filters. Filter names and values are case-sensitive.

      + *
        + *
      • + *

        + * auto-recovery-supported - Indicates whether Amazon CloudWatch action based recovery is supported (true | false).

        + *
      • + *
      • + *

        + * bare-metal - Indicates whether it is a bare metal instance type (true | false).

        + *
      • + *
      • + *

        + * burstable-performance-supported - Indicates whether the instance type is a + * burstable performance T instance type (true | false).

        + *
      • + *
      • + *

        + * current-generation - Indicates whether this instance type is the latest + * generation instance type of an instance family (true | false).

        + *
      • + *
      • + *

        + * ebs-info.ebs-optimized-info.baseline-bandwidth-in-mbps - The baseline + * bandwidth performance for an EBS-optimized instance type, in Mbps.

        + *
      • + *
      • + *

        + * ebs-info.ebs-optimized-info.baseline-iops - The baseline input/output storage + * operations per second for an EBS-optimized instance type.

        + *
      • + *
      • + *

        + * ebs-info.ebs-optimized-info.baseline-throughput-in-mbps - The baseline + * throughput performance for an EBS-optimized instance type, in MB/s.

        + *
      • + *
      • + *

        + * ebs-info.ebs-optimized-info.maximum-bandwidth-in-mbps - The maximum bandwidth + * performance for an EBS-optimized instance type, in Mbps.

        + *
      • + *
      • + *

        + * ebs-info.ebs-optimized-info.maximum-iops - The maximum input/output storage + * operations per second for an EBS-optimized instance type.

        + *
      • + *
      • + *

        + * ebs-info.ebs-optimized-info.maximum-throughput-in-mbps - The maximum + * throughput performance for an EBS-optimized instance type, in MB/s.

        + *
      • + *
      • + *

        + * ebs-info.ebs-optimized-support - Indicates whether the instance type is + * EBS-optimized (supported | unsupported | + * default).

        + *
      • + *
      • + *

        + * ebs-info.encryption-support - Indicates whether EBS encryption is supported + * (supported | unsupported).

        + *
      • + *
      • + *

        + * ebs-info.nvme-support - Indicates whether non-volatile memory express (NVMe) + * is supported for EBS volumes (required | supported | unsupported).

        + *
      • + *
      • + *

        + * free-tier-eligible - Indicates whether the instance type is eligible to use + * in the free tier (true | false).

        + *
      • + *
      • + *

        + * hibernation-supported - Indicates whether On-Demand hibernation is supported (true | false).

        + *
      • + *
      • + *

        + * hypervisor - The hypervisor (nitro | xen).

        + *
      • + *
      • + *

        + * instance-storage-info.disk.count - The number of local disks.

        + *
      • + *
      • + *

        + * instance-storage-info.disk.size-in-gb - The storage size of each instance storage disk, in + * GB.

        + *
      • + *
      • + *

        + * instance-storage-info.disk.type - The storage technology for the local + * instance storage disks (hdd | ssd).

        + *
      • + *
      • + *

        + * instance-storage-info.encryption-support - Indicates whether data is encrypted at rest + * (required | supported | unsupported).

        + *
      • + *
      • + *

        + * instance-storage-info.nvme-support - Indicates whether non-volatile memory + * express (NVMe) is supported for instance store (required | supported | + * unsupported).

        + *
      • + *
      • + *

        + * instance-storage-info.total-size-in-gb - The total amount of storage available from all local + * instance storage, in GB.

        + *
      • + *
      • + *

        + * instance-storage-supported - Indicates whether the instance type has local + * instance storage (true | false).

        + *
      • + *
      • + *

        + * instance-type - The instance type (for example c5.2xlarge or + * c5*).

        + *
      • + *
      • + *

        + * memory-info.size-in-mib - The memory size.

        + *
      • + *
      • + *

        + * network-info.efa-info.maximum-efa-interfaces - The maximum number of Elastic + * Fabric Adapters (EFAs) per instance.

        + *
      • + *
      • + *

        + * network-info.efa-supported - Indicates whether the instance type supports + * Elastic Fabric Adapter (EFA) (true | false).

        + *
      • + *
      • + *

        + * network-info.ena-support - Indicates whether Elastic Network Adapter (ENA) is + * supported or required (required | supported | + * unsupported).

        + *
      • + *
      • + *

        + * network-info.encryption-in-transit-supported - Indicates whether the instance type + * automatically encrypts in-transit traffic between instances (true | false).

        + *
      • + *
      • + *

        + * network-info.ipv4-addresses-per-interface - The maximum number of private IPv4 addresses per + * network interface.

        + *
      • + *
      • + *

        + * network-info.ipv6-addresses-per-interface - The maximum number of private IPv6 addresses per + * network interface.

        + *
      • + *
      • + *

        + * network-info.ipv6-supported - Indicates whether the instance type supports IPv6 (true | false).

        + *
      • + *
      • + *

        + * network-info.maximum-network-cards - The maximum number of network cards per + * instance.

        + *
      • + *
      • + *

        + * network-info.maximum-network-interfaces - The maximum number of network interfaces per instance.

        + *
      • + *
      • + *

        + * network-info.network-performance - The network performance (for example, "25 + * Gigabit").

        + *
      • + *
      • + *

        + * nitro-enclaves-support - Indicates whether Nitro Enclaves is supported (supported | + * unsupported).

        + *
      • + *
      • + *

        + * nitro-tpm-support - Indicates whether NitroTPM is supported (supported | + * unsupported).

        + *
      • + *
      • + *

        + * nitro-tpm-info.supported-versions - The supported NitroTPM version (2.0).

        + *
      • + *
      • + *

        + * processor-info.supported-architecture - The CPU architecture + * (arm64 | i386 | x86_64).

        + *
      • + *
      • + *

        + * processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in GHz.

        + *
      • + *
      • + *

        + * processor-info.supported-features - The supported CPU features (amd-sev-snp).

        + *
      • + *
      • + *

        + * supported-boot-mode - The boot mode (legacy-bios | + * uefi).

        + *
      • + *
      • + *

        + * supported-root-device-type - The root device type (ebs | + * instance-store).

        + *
      • + *
      • + *

        + * supported-usage-class - The usage class (on-demand | + * spot).

        + *
      • + *
      • + *

        + * supported-virtualization-type - The virtualization type (hvm | + * paravirtual).

        + *
      • + *
      • + *

        + * vcpu-info.default-cores - The default number of cores for the instance type.

        + *
      • + *
      • + *

        + * vcpu-info.default-threads-per-core - The default number of threads per core for the instance + * type.

        + *
      • + *
      • + *

        + * vcpu-info.default-vcpus - The default number of vCPUs for the instance type.

        + *
      • + *
      • + *

        + * vcpu-info.valid-cores - The number of cores that can be configured for the instance type.

        + *
      • + *
      • + *

        + * vcpu-info.valid-threads-per-core - The number of threads per core that can be configured for the instance type. + * For example, "1" or "1,2".

        + *
      • + *
      */ - EfaInfo?: EfaInfo; + Filters?: Filter[]; /** * @public - *

      Indicates whether the instance type automatically encrypts in-transit traffic between instances.

      + *

      The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

      */ - EncryptionInTransitSupported?: boolean; + MaxResults?: number; /** * @public - *

      Indicates whether the instance type supports ENA Express. 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.

      + *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      */ - EnaSrdSupported?: boolean; + NextToken?: string; } /** * @public - * @enum - */ -export const NitroEnclavesSupport = { - SUPPORTED: "supported", - UNSUPPORTED: "unsupported", -} as const; - -/** - * @public - */ -export type NitroEnclavesSupport = (typeof NitroEnclavesSupport)[keyof typeof NitroEnclavesSupport]; - -/** - * @public - *

      Describes the supported NitroTPM versions for the instance type.

      + *

      Describes the optimized EBS performance for supported instance types.

      */ -export interface NitroTpmInfo { +export interface EbsOptimizedInfo { /** * @public - *

      Indicates the supported NitroTPM versions.

      + *

      The baseline bandwidth performance for an EBS-optimized instance type, in Mbps.

      */ - SupportedVersions?: string[]; -} - -/** - * @public - * @enum - */ -export const NitroTpmSupport = { - SUPPORTED: "supported", - UNSUPPORTED: "unsupported", -} as const; - -/** - * @public - */ -export type NitroTpmSupport = (typeof NitroTpmSupport)[keyof typeof NitroTpmSupport]; - -/** - * @public - * @enum - */ -export const PlacementGroupStrategy = { - cluster: "cluster", - partition: "partition", - spread: "spread", -} as const; - -/** - * @public - */ -export type PlacementGroupStrategy = (typeof PlacementGroupStrategy)[keyof typeof PlacementGroupStrategy]; + BaselineBandwidthInMbps?: number; -/** - * @public - *

      Describes the placement group support of the instance type.

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

      The supported placement group types.

      + *

      The baseline throughput performance for an EBS-optimized instance type, in MB/s.

      */ - SupportedStrategies?: PlacementGroupStrategy[]; -} - -/** - * @public - * @enum - */ -export const ArchitectureType = { - arm64: "arm64", - arm64_mac: "arm64_mac", - i386: "i386", - x86_64: "x86_64", - x86_64_mac: "x86_64_mac", -} as const; - -/** - * @public - */ -export type ArchitectureType = (typeof ArchitectureType)[keyof typeof ArchitectureType]; - -/** - * @public - * @enum - */ -export const SupportedAdditionalProcessorFeature = { - AMD_SEV_SNP: "amd-sev-snp", -} as const; + BaselineThroughputInMBps?: number; -/** - * @public - */ -export type SupportedAdditionalProcessorFeature = - (typeof SupportedAdditionalProcessorFeature)[keyof typeof SupportedAdditionalProcessorFeature]; + /** + * @public + *

      The baseline input/output storage operations per seconds for an EBS-optimized instance type.

      + */ + BaselineIops?: number; -/** - * @public - *

      Describes the processor used by the instance type.

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

      The architectures supported by the instance type.

      + *

      The maximum bandwidth performance for an EBS-optimized instance type, in Mbps.

      */ - SupportedArchitectures?: ArchitectureType[]; + MaximumBandwidthInMbps?: number; /** * @public - *

      The speed of the processor, in GHz.

      + *

      The maximum throughput performance for an EBS-optimized instance type, in MB/s.

      */ - SustainedClockSpeedInGhz?: number; + MaximumThroughputInMBps?: number; /** * @public - *

      Indicates whether the instance type supports AMD SEV-SNP. If the request returns - * amd-sev-snp, AMD SEV-SNP is supported. Otherwise, it is not supported. - * For more information, see - * AMD SEV-SNP.

      + *

      The maximum input/output storage operations per second for an EBS-optimized instance type.

      */ - SupportedFeatures?: SupportedAdditionalProcessorFeature[]; + MaximumIops?: number; } /** * @public * @enum */ -export const BootModeType = { - legacy_bios: "legacy-bios", - uefi: "uefi", +export const EbsOptimizedSupport = { + default: "default", + supported: "supported", + unsupported: "unsupported", } as const; /** * @public */ -export type BootModeType = (typeof BootModeType)[keyof typeof BootModeType]; +export type EbsOptimizedSupport = (typeof EbsOptimizedSupport)[keyof typeof EbsOptimizedSupport]; /** * @public * @enum */ -export const RootDeviceType = { - ebs: "ebs", - instance_store: "instance-store", +export const EbsEncryptionSupport = { + supported: "supported", + unsupported: "unsupported", } as const; /** * @public */ -export type RootDeviceType = (typeof RootDeviceType)[keyof typeof RootDeviceType]; +export type EbsEncryptionSupport = (typeof EbsEncryptionSupport)[keyof typeof EbsEncryptionSupport]; /** * @public * @enum */ -export const UsageClassType = { - capacity_block: "capacity-block", - on_demand: "on-demand", - spot: "spot", +export const EbsNvmeSupport = { + REQUIRED: "required", + SUPPORTED: "supported", + UNSUPPORTED: "unsupported", } as const; /** * @public - */ -export type UsageClassType = (typeof UsageClassType)[keyof typeof UsageClassType]; - -/** - * @public - *

      Describes the vCPU configurations for the instance type.

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

      The default number of vCPUs for the instance type.

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

      The default number of cores for the instance type.

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

      The default number of threads per core for the instance type.

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

      The valid number of cores that can be configured for the instance type.

      - */ - ValidCores?: number[]; - - /** - * @public - *

      The valid number of threads per core that can be configured for the instance type.

      - */ - ValidThreadsPerCore?: number[]; -} - -/** - * @public - *

      Describes the instance type.

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

      The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

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

      Indicates whether the instance type is current generation.

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

      Indicates whether the instance type is eligible for the free tier.

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

      Indicates whether the instance type is offered for spot or On-Demand.

      - */ - SupportedUsageClasses?: UsageClassType[]; + */ +export type EbsNvmeSupport = (typeof EbsNvmeSupport)[keyof typeof EbsNvmeSupport]; +/** + * @public + *

      Describes the Amazon EBS features supported by the instance type.

      + */ +export interface EbsInfo { /** * @public - *

      The supported root device types.

      + *

      Indicates whether the instance type is Amazon EBS-optimized. For more information, see Amazon EBS-optimized + * instances in Amazon EC2 User Guide.

      */ - SupportedRootDeviceTypes?: RootDeviceType[]; + EbsOptimizedSupport?: EbsOptimizedSupport; /** * @public - *

      The supported virtualization types.

      + *

      Indicates whether Amazon EBS encryption is supported.

      */ - SupportedVirtualizationTypes?: VirtualizationType[]; + EncryptionSupport?: EbsEncryptionSupport; /** * @public - *

      Indicates whether the instance is a bare metal instance type.

      + *

      Describes the optimized EBS performance for the instance type.

      */ - BareMetal?: boolean; + EbsOptimizedInfo?: EbsOptimizedInfo; /** * @public - *

      The hypervisor for the instance type.

      + *

      Indicates whether non-volatile memory express (NVMe) is supported.

      */ - Hypervisor?: InstanceTypeHypervisor; + NvmeSupport?: EbsNvmeSupport; +} +/** + * @public + *

      Describes the memory for the FPGA accelerator for the instance type.

      + */ +export interface FpgaDeviceMemoryInfo { /** * @public - *

      Describes the processor.

      + *

      The size of the memory available to the FPGA accelerator, in MiB.

      */ - ProcessorInfo?: ProcessorInfo; + SizeInMiB?: number; +} +/** + * @public + *

      Describes the FPGA accelerator for the instance type.

      + */ +export interface FpgaDeviceInfo { /** * @public - *

      Describes the vCPU configurations for the instance type.

      + *

      The name of the FPGA accelerator.

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

      Describes the memory for the instance type.

      + *

      The manufacturer of the FPGA accelerator.

      */ - MemoryInfo?: MemoryInfo; + Manufacturer?: string; /** * @public - *

      Indicates whether instance storage is supported.

      + *

      The count of FPGA accelerators for the instance type.

      */ - InstanceStorageSupported?: boolean; + Count?: number; /** * @public - *

      Describes the instance storage for the instance type.

      + *

      Describes the memory for the FPGA accelerator for the instance type.

      */ - InstanceStorageInfo?: InstanceStorageInfo; + MemoryInfo?: FpgaDeviceMemoryInfo; +} +/** + * @public + *

      Describes the FPGAs for the instance type.

      + */ +export interface FpgaInfo { /** * @public - *

      Describes the Amazon EBS settings for the instance type.

      + *

      Describes the FPGAs for the instance type.

      */ - EbsInfo?: EbsInfo; + Fpgas?: FpgaDeviceInfo[]; /** * @public - *

      Describes the network settings for the instance type.

      + *

      The total memory of all FPGA accelerators for the instance type.

      */ - NetworkInfo?: NetworkInfo; + TotalFpgaMemoryInMiB?: number; +} +/** + * @public + *

      Describes the memory available to the GPU accelerator.

      + */ +export interface GpuDeviceMemoryInfo { /** * @public - *

      Describes the GPU accelerator settings for the instance type.

      + *

      The size of the memory available to the GPU accelerator, in MiB.

      */ - GpuInfo?: GpuInfo; + SizeInMiB?: number; +} +/** + * @public + *

      Describes the GPU accelerators for the instance type.

      + */ +export interface GpuDeviceInfo { /** * @public - *

      Describes the FPGA accelerator settings for the instance type.

      + *

      The name of the GPU accelerator.

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

      Describes the placement group settings for the instance type.

      + *

      The manufacturer of the GPU accelerator.

      */ - PlacementGroupInfo?: PlacementGroupInfo; + Manufacturer?: string; /** * @public - *

      Describes the Inference accelerator settings for the instance type.

      + *

      The number of GPUs for the instance type.

      */ - InferenceAcceleratorInfo?: InferenceAcceleratorInfo; + Count?: number; /** * @public - *

      Indicates whether On-Demand hibernation is supported.

      + *

      Describes the memory available to the GPU accelerator.

      */ - HibernationSupported?: boolean; + MemoryInfo?: GpuDeviceMemoryInfo; +} +/** + * @public + *

      Describes the GPU accelerators for the instance type.

      + */ +export interface GpuInfo { /** * @public - *

      Indicates whether the instance type is a burstable performance T instance - * type. For more information, see Burstable - * performance instances.

      + *

      Describes the GPU accelerators for the instance type.

      */ - BurstablePerformanceSupported?: boolean; + Gpus?: GpuDeviceInfo[]; /** * @public - *

      Indicates whether Dedicated Hosts are supported on the instance type.

      + *

      The total size of the memory for the GPU accelerators for the instance type, in MiB.

      */ - DedicatedHostsSupported?: boolean; + TotalGpuMemoryInMiB?: number; +} + +/** + * @public + * @enum + */ +export const InstanceTypeHypervisor = { + NITRO: "nitro", + XEN: "xen", +} as const; +/** + * @public + */ +export type InstanceTypeHypervisor = (typeof InstanceTypeHypervisor)[keyof typeof InstanceTypeHypervisor]; + +/** + * @public + *

      Describes the memory available to the inference accelerator.

      + */ +export interface InferenceDeviceMemoryInfo { /** * @public - *

      Indicates whether Amazon CloudWatch action based recovery is supported.

      + *

      The size of the memory available to the inference accelerator, in MiB.

      */ - AutoRecoverySupported?: boolean; + SizeInMiB?: number; +} +/** + * @public + *

      Describes the Inference accelerators for the instance type.

      + */ +export interface InferenceDeviceInfo { /** * @public - *

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

      + *

      The number of Inference accelerators for the instance type.

      */ - SupportedBootModes?: BootModeType[]; + Count?: number; /** * @public - *

      Indicates whether Nitro Enclaves is supported.

      + *

      The name of the Inference accelerator.

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

      Indicates whether NitroTPM is supported.

      + *

      The manufacturer of the Inference accelerator.

      */ - NitroTpmSupport?: NitroTpmSupport; + Manufacturer?: string; /** * @public - *

      Describes the supported NitroTPM versions for the instance type.

      + *

      Describes the memory available to the inference accelerator.

      */ - NitroTpmInfo?: NitroTpmInfo; + MemoryInfo?: InferenceDeviceMemoryInfo; } /** * @public + *

      Describes the Inference accelerators for the instance type.

      */ -export interface DescribeInstanceTypesResult { +export interface InferenceAcceleratorInfo { /** * @public - *

      The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

      + *

      Describes the Inference accelerators for the instance type.

      */ - InstanceTypes?: InstanceTypeInfo[]; + Accelerators?: InferenceDeviceInfo[]; /** * @public - *

      The token to include in another request to get the next page of items. This value is null when there - * are no more items to return.

      + *

      The total size of the memory for the inference accelerators for the instance type, in MiB.

      */ - NextToken?: string; + TotalInferenceMemoryInMiB?: number; } /** * @public + * @enum */ -export interface DescribeInternetGatewaysRequest { - /** - * @public - *

      The filters.

      - *
        - *
      • - *

        - * attachment.state - The current state of the attachment between the gateway - * and the VPC (available). Present only if a VPC is attached.

        - *
      • - *
      • - *

        - * attachment.vpc-id - The ID of an attached VPC.

        - *
      • - *
      • - *

        - * internet-gateway-id - The ID of the Internet gateway.

        - *
      • - *
      • - *

        - * owner-id - The ID of the Amazon Web Services account that owns the internet gateway.

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

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

        - *
      • - *
      - */ - Filters?: Filter[]; +export const DiskType = { + hdd: "hdd", + ssd: "ssd", +} as const; - /** - * @public - *

      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.

      - */ - DryRun?: boolean; +/** + * @public + */ +export type DiskType = (typeof DiskType)[keyof typeof DiskType]; +/** + * @public + *

      Describes a disk.

      + */ +export interface DiskInfo { /** * @public - *

      The IDs of the internet gateways.

      - *

      Default: Describes all your internet gateways.

      + *

      The size of the disk in GB.

      */ - InternetGatewayIds?: string[]; + SizeInGB?: number; /** * @public - *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      + *

      The number of disks with this configuration.

      */ - NextToken?: string; + Count?: number; /** * @public - *

      The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

      + *

      The type of disk.

      */ - MaxResults?: number; + Type?: DiskType; } +/** + * @public + * @enum + */ +export const InstanceStorageEncryptionSupport = { + required: "required", + unsupported: "unsupported", +} as const; + /** * @public */ -export interface DescribeInternetGatewaysResult { - /** - * @public - *

      Information about one or more internet gateways.

      - */ - InternetGateways?: InternetGateway[]; +export type InstanceStorageEncryptionSupport = + (typeof InstanceStorageEncryptionSupport)[keyof typeof InstanceStorageEncryptionSupport]; - /** - * @public - *

      The token to include in another request to get the next page of items. This value is null when there are no more items to return.

      - */ - NextToken?: string; -} +/** + * @public + * @enum + */ +export const EphemeralNvmeSupport = { + REQUIRED: "required", + SUPPORTED: "supported", + UNSUPPORTED: "unsupported", +} as const; /** * @public */ -export interface DescribeIpamPoolsRequest { - /** - * @public - *

      A check for 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.

      - */ - DryRun?: boolean; +export type EphemeralNvmeSupport = (typeof EphemeralNvmeSupport)[keyof typeof EphemeralNvmeSupport]; +/** + * @public + *

      Describes the instance store features that are supported by the instance type.

      + */ +export interface InstanceStorageInfo { /** * @public - *

      One or more filters for the request. For more information about filtering, see Filtering CLI output.

      + *

      The total size of the disks, in GB.

      */ - Filters?: Filter[]; + TotalSizeInGB?: number; /** * @public - *

      The maximum number of results to return in the request.

      + *

      Describes the disks that are available for the instance type.

      */ - MaxResults?: number; + Disks?: DiskInfo[]; /** * @public - *

      The token for the next page of results.

      + *

      Indicates whether non-volatile memory express (NVMe) is supported.

      */ - NextToken?: string; + NvmeSupport?: EphemeralNvmeSupport; /** * @public - *

      The IDs of the IPAM pools you would like information on.

      + *

      Indicates whether data is encrypted at rest.

      */ - IpamPoolIds?: string[]; + EncryptionSupport?: InstanceStorageEncryptionSupport; } /** * @public + *

      Describes the memory for the instance type.

      */ -export interface DescribeIpamPoolsResult { +export interface MemoryInfo { /** * @public - *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      + *

      The size of the memory, in MiB.

      */ - NextToken?: string; + SizeInMiB?: number; +} +/** + * @public + *

      Describes the Elastic Fabric Adapters for the instance type.

      + */ +export interface EfaInfo { /** * @public - *

      Information about the IPAM pools.

      + *

      The maximum number of Elastic Fabric Adapters for the instance type.

      */ - IpamPools?: IpamPool[]; + MaximumEfaInterfaces?: number; } /** * @public + * @enum */ -export interface DescribeIpamResourceDiscoveriesRequest { +export const EnaSupport = { + required: "required", + supported: "supported", + unsupported: "unsupported", +} as const; + +/** + * @public + */ +export type EnaSupport = (typeof EnaSupport)[keyof typeof EnaSupport]; + +/** + * @public + *

      Describes the network card support of the instance type.

      + */ +export interface NetworkCardInfo { /** * @public - *

      A check for 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.

      + *

      The index of the network card.

      */ - DryRun?: boolean; + NetworkCardIndex?: number; /** * @public - *

      The IPAM resource discovery IDs.

      + *

      The network performance of the network card.

      */ - IpamResourceDiscoveryIds?: string[]; + NetworkPerformance?: string; /** * @public - *

      Specify the pagination token from a previous request to retrieve the next page of results.

      + *

      The maximum number of network interfaces for the network card.

      */ - NextToken?: string; + MaximumNetworkInterfaces?: number; /** * @public - *

      The maximum number of resource discoveries to return in one page of results.

      + *

      The baseline network performance of the network card, in Gbps.

      */ - MaxResults?: number; + BaselineBandwidthInGbps?: number; /** * @public - *

      The resource discovery filters.

      + *

      The peak (burst) network performance of the network card, in Gbps.

      */ - Filters?: Filter[]; + PeakBandwidthInGbps?: number; } /** * @public + *

      Describes the networking features of the instance type.

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

      The resource discoveries.

      - */ - IpamResourceDiscoveries?: IpamResourceDiscovery[]; - +export interface NetworkInfo { /** * @public - *

      Specify the pagination token from a previous request to retrieve the next page of results.

      + *

      The network performance.

      */ - NextToken?: string; -} + NetworkPerformance?: string; -/** - * @public - */ -export interface DescribeIpamResourceDiscoveryAssociationsRequest { /** * @public - *

      A check for 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.

      + *

      The maximum number of network interfaces for the instance type.

      */ - DryRun?: boolean; + MaximumNetworkInterfaces?: number; /** * @public - *

      The resource discovery association IDs.

      + *

      The maximum number of physical network cards that can be allocated to the instance.

      */ - IpamResourceDiscoveryAssociationIds?: string[]; + MaximumNetworkCards?: number; /** * @public - *

      Specify the pagination token from a previous request to retrieve the next page of results.

      + *

      The index of the default network card, starting at 0.

      */ - NextToken?: string; + DefaultNetworkCardIndex?: number; /** * @public - *

      The maximum number of resource discovery associations to return in one page of results.

      + *

      Describes the network cards for the instance type.

      */ - MaxResults?: number; + NetworkCards?: NetworkCardInfo[]; /** * @public - *

      The resource discovery association filters.

      + *

      The maximum number of IPv4 addresses per network interface.

      */ - Filters?: Filter[]; -} + Ipv4AddressesPerInterface?: number; -/** - * @public - */ -export interface DescribeIpamResourceDiscoveryAssociationsResult { /** * @public - *

      The resource discovery associations.

      + *

      The maximum number of IPv6 addresses per network interface.

      */ - IpamResourceDiscoveryAssociations?: IpamResourceDiscoveryAssociation[]; + Ipv6AddressesPerInterface?: number; /** * @public - *

      Specify the pagination token from a previous request to retrieve the next page of results.

      + *

      Indicates whether IPv6 is supported.

      */ - NextToken?: string; -} + Ipv6Supported?: boolean; -/** - * @public - */ -export interface DescribeIpamsRequest { /** * @public - *

      A check for 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.

      + *

      Indicates whether Elastic Network Adapter (ENA) is supported.

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

      One or more filters for the request. For more information about filtering, see Filtering CLI output.

      + *

      Indicates whether Elastic Fabric Adapter (EFA) is supported.

      */ - Filters?: Filter[]; + EfaSupported?: boolean; /** * @public - *

      The maximum number of results to return in the request.

      + *

      Describes the Elastic Fabric Adapters for the instance type.

      */ - MaxResults?: number; + EfaInfo?: EfaInfo; /** * @public - *

      The token for the next page of results.

      + *

      Indicates whether the instance type automatically encrypts in-transit traffic between instances.

      */ - NextToken?: string; + EncryptionInTransitSupported?: boolean; /** * @public - *

      The IDs of the IPAMs you want information on.

      + *

      Indicates whether the instance type supports ENA Express. 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.

      */ - IpamIds?: string[]; + EnaSrdSupported?: boolean; } /** * @public + * @enum */ -export interface DescribeIpamsResult { - /** - * @public - *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      - */ - NextToken?: string; +export const NitroEnclavesSupport = { + SUPPORTED: "supported", + UNSUPPORTED: "unsupported", +} as const; - /** - * @public - *

      Information about the IPAMs.

      - */ - Ipams?: Ipam[]; -} +/** + * @public + */ +export type NitroEnclavesSupport = (typeof NitroEnclavesSupport)[keyof typeof NitroEnclavesSupport]; /** * @public + *

      Describes the supported NitroTPM versions for the instance type.

      */ -export interface DescribeIpamScopesRequest { +export interface NitroTpmInfo { /** * @public - *

      A check for 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.

      + *

      Indicates the supported NitroTPM versions.

      */ - DryRun?: boolean; + SupportedVersions?: string[]; +} - /** - * @public - *

      One or more filters for the request. For more information about filtering, see Filtering CLI output.

      - */ - Filters?: Filter[]; +/** + * @public + * @enum + */ +export const NitroTpmSupport = { + SUPPORTED: "supported", + UNSUPPORTED: "unsupported", +} as const; - /** - * @public - *

      The maximum number of results to return in the request.

      - */ - MaxResults?: number; +/** + * @public + */ +export type NitroTpmSupport = (typeof NitroTpmSupport)[keyof typeof NitroTpmSupport]; - /** - * @public - *

      The token for the next page of results.

      - */ - NextToken?: string; +/** + * @public + * @enum + */ +export const PlacementGroupStrategy = { + cluster: "cluster", + partition: "partition", + spread: "spread", +} as const; + +/** + * @public + */ +export type PlacementGroupStrategy = (typeof PlacementGroupStrategy)[keyof typeof PlacementGroupStrategy]; +/** + * @public + *

      Describes the placement group support of the instance type.

      + */ +export interface PlacementGroupInfo { /** * @public - *

      The IDs of the scopes you want information on.

      + *

      The supported placement group types.

      */ - IpamScopeIds?: string[]; + SupportedStrategies?: PlacementGroupStrategy[]; } /** * @public + * @enum */ -export interface DescribeIpamScopesResult { - /** - * @public - *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      - */ - NextToken?: string; +export const ArchitectureType = { + arm64: "arm64", + arm64_mac: "arm64_mac", + i386: "i386", + x86_64: "x86_64", + x86_64_mac: "x86_64_mac", +} as const; - /** - * @public - *

      The scopes you want information on.

      - */ - IpamScopes?: IpamScope[]; -} +/** + * @public + */ +export type ArchitectureType = (typeof ArchitectureType)[keyof typeof ArchitectureType]; /** * @public + * @enum */ -export interface DescribeIpv6PoolsRequest { - /** - * @public - *

      The IDs of the IPv6 address pools.

      - */ - PoolIds?: string[]; +export const SupportedAdditionalProcessorFeature = { + AMD_SEV_SNP: "amd-sev-snp", +} as const; - /** - * @public - *

      The token for the next page of results.

      - */ - NextToken?: string; +/** + * @public + */ +export type SupportedAdditionalProcessorFeature = + (typeof SupportedAdditionalProcessorFeature)[keyof typeof SupportedAdditionalProcessorFeature]; +/** + * @public + *

      Describes the processor used by the instance type.

      + */ +export interface ProcessorInfo { /** * @public - *

      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

      + *

      The architectures supported by the instance type.

      */ - MaxResults?: number; + SupportedArchitectures?: ArchitectureType[]; /** * @public - *

      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.

      + *

      The speed of the processor, in GHz.

      */ - DryRun?: boolean; + SustainedClockSpeedInGhz?: number; /** * @public - *

      One or more filters.

      - *
        - *
      • - *

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

        - *
      • - *
      • - *

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

        - *
      • - *
      + *

      Indicates whether the instance type supports AMD SEV-SNP. If the request returns + * amd-sev-snp, AMD SEV-SNP is supported. Otherwise, it is not supported. + * For more information, see + * AMD SEV-SNP.

      */ - Filters?: Filter[]; + SupportedFeatures?: SupportedAdditionalProcessorFeature[]; } /** * @public - *

      Describes a CIDR block for an address pool.

      + * @enum */ -export interface PoolCidrBlock { - /** - * @public - *

      The CIDR block.

      - */ - Cidr?: string; -} +export const BootModeType = { + legacy_bios: "legacy-bios", + uefi: "uefi", +} as const; /** * @public - *

      Describes an IPv6 address pool.

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

      The ID of the address pool.

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

      The description for the address pool.

      - */ - Description?: string; +export type BootModeType = (typeof BootModeType)[keyof typeof BootModeType]; - /** - * @public - *

      The CIDR blocks for the address pool.

      - */ - PoolCidrBlocks?: PoolCidrBlock[]; +/** + * @public + * @enum + */ +export const RootDeviceType = { + ebs: "ebs", + instance_store: "instance-store", +} as const; - /** - * @public - *

      Any tags for the address pool.

      - */ - Tags?: Tag[]; -} +/** + * @public + */ +export type RootDeviceType = (typeof RootDeviceType)[keyof typeof RootDeviceType]; /** * @public + * @enum */ -export interface DescribeIpv6PoolsResult { - /** - * @public - *

      Information about the IPv6 address pools.

      - */ - Ipv6Pools?: Ipv6Pool[]; +export const UsageClassType = { + capacity_block: "capacity-block", + on_demand: "on-demand", + spot: "spot", +} as const; - /** - * @public - *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      - */ - NextToken?: string; -} +/** + * @public + */ +export type UsageClassType = (typeof UsageClassType)[keyof typeof UsageClassType]; /** * @public + *

      Describes the vCPU configurations for the instance type.

      */ -export interface DescribeKeyPairsRequest { +export interface VCpuInfo { /** * @public - *

      The filters.

      - *
        - *
      • - *

        - * key-pair-id - The ID of the key pair.

        - *
      • - *
      • - *

        - * fingerprint - The fingerprint of the key pair.

        - *
      • - *
      • - *

        - * key-name - The name of the key pair.

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

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

        - *
      • - *
      + *

      The default number of vCPUs for the instance type.

      */ - Filters?: Filter[]; + DefaultVCpus?: number; /** * @public - *

      The key pair names.

      - *

      Default: Describes all of your key pairs.

      + *

      The default number of cores for the instance type.

      */ - KeyNames?: string[]; + DefaultCores?: number; /** * @public - *

      The IDs of the key pairs.

      + *

      The default number of threads per core for the instance type.

      */ - KeyPairIds?: string[]; + DefaultThreadsPerCore?: number; /** * @public - *

      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.

      + *

      The valid number of cores that can be configured for the instance type.

      */ - DryRun?: boolean; + ValidCores?: number[]; /** * @public - *

      If true, the public key material is included in the response.

      - *

      Default: false - *

      + *

      The valid number of threads per core that can be configured for the instance type.

      */ - IncludePublicKey?: boolean; + ValidThreadsPerCore?: number[]; } /** * @public - *

      Describes a key pair.

      + *

      Describes the instance type.

      */ -export interface KeyPairInfo { +export interface InstanceTypeInfo { /** * @public - *

      The ID of the key pair.

      + *

      The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

      */ - KeyPairId?: string; + InstanceType?: _InstanceType; /** * @public - *

      If you used CreateKeyPair to create the key pair:

      - *
        - *
      • - *

        For RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded private key.

        - *
      • - *
      • - *

        For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 digest, which - * is the default for OpenSSH, starting with OpenSSH 6.8.

        - *
      • - *
      - *

      If you used ImportKeyPair to provide Amazon Web Services the public key:

      - *
        - *
      • - *

        For RSA key pairs, the key fingerprint is the MD5 public key fingerprint as specified in section 4 of RFC4716.

        - *
      • - *
      • - *

        For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 - * digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

        - *
      • - *
      + *

      Indicates whether the instance type is current generation.

      */ - KeyFingerprint?: string; + CurrentGeneration?: boolean; /** * @public - *

      The name of the key pair.

      + *

      Indicates whether the instance type is eligible for the free tier.

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

      Indicates whether the instance type is offered for spot or On-Demand.

      */ - KeyName?: string; + SupportedUsageClasses?: UsageClassType[]; /** * @public - *

      The type of key pair.

      + *

      The supported root device types.

      */ - KeyType?: KeyType; + SupportedRootDeviceTypes?: RootDeviceType[]; /** * @public - *

      Any tags applied to the key pair.

      + *

      The supported virtualization types.

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

      The public key material.

      + *

      Indicates whether the instance is a bare metal instance type.

      */ - PublicKey?: string; + BareMetal?: boolean; /** * @public - *

      If you used Amazon EC2 to create the key pair, this is the date and time when the key - * was created, in ISO - * 8601 date-time format, in the UTC time zone.

      - *

      If you imported an existing key pair to Amazon EC2, this is the date and time the key - * was imported, in ISO - * 8601 date-time format, in the UTC time zone.

      + *

      The hypervisor for the instance type.

      */ - CreateTime?: Date; -} + Hypervisor?: InstanceTypeHypervisor; -/** - * @public - */ -export interface DescribeKeyPairsResult { /** * @public - *

      Information about the key pairs.

      + *

      Describes the processor.

      */ - KeyPairs?: KeyPairInfo[]; -} + ProcessorInfo?: ProcessorInfo; -/** - * @public - */ -export interface DescribeLaunchTemplatesRequest { /** * @public - *

      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.

      + *

      Describes the vCPU configurations for the instance type.

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

      One or more launch template IDs.

      + *

      Describes the memory for the instance type.

      */ - LaunchTemplateIds?: string[]; + MemoryInfo?: MemoryInfo; /** * @public - *

      One or more launch template names.

      + *

      Indicates whether instance storage is supported.

      */ - LaunchTemplateNames?: string[]; + InstanceStorageSupported?: boolean; /** * @public - *

      One or more filters.

      - *
        - *
      • - *

        - * create-time - The time the launch template was created.

        - *
      • - *
      • - *

        - * launch-template-name - The name of the launch template.

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

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

        - *
      • - *
      + *

      Describes the instance storage for the instance type.

      */ - Filters?: Filter[]; + InstanceStorageInfo?: InstanceStorageInfo; /** * @public - *

      The token to request the next page of results.

      + *

      Describes the Amazon EBS settings for the instance type.

      */ - NextToken?: string; + EbsInfo?: EbsInfo; /** * @public - *

      The maximum number of results to return in a single call. To retrieve the remaining - * results, make another call with the returned NextToken value. This value - * can be between 1 and 200.

      + *

      Describes the network settings for the instance type.

      */ - MaxResults?: number; -} + NetworkInfo?: NetworkInfo; -/** - * @public - */ -export interface DescribeLaunchTemplatesResult { /** * @public - *

      Information about the launch templates.

      + *

      Describes the GPU accelerator settings for the instance type.

      */ - LaunchTemplates?: LaunchTemplate[]; + GpuInfo?: GpuInfo; /** * @public - *

      The token to use to retrieve the next page of results. This value is null - * when there are no more results to return.

      + *

      Describes the FPGA accelerator settings for the instance type.

      */ - NextToken?: string; -} + FpgaInfo?: FpgaInfo; -/** - * @public - */ -export interface DescribeLaunchTemplateVersionsRequest { /** * @public - *

      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.

      + *

      Describes the placement group settings for the instance type.

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

      The ID of the launch template.

      - *

      To describe one or more versions of a specified launch template, you must specify - * either the LaunchTemplateId or the LaunchTemplateName, but not - * both.

      - *

      To describe all the latest or default launch template versions in your account, you - * must omit this parameter.

      + *

      Describes the Inference accelerator settings for the instance type.

      */ - LaunchTemplateId?: string; + InferenceAcceleratorInfo?: InferenceAcceleratorInfo; /** * @public - *

      The name of the launch template.

      - *

      To describe one or more versions of a specified launch template, you must specify - * either the LaunchTemplateName or the LaunchTemplateId, but not - * both.

      - *

      To describe all the latest or default launch template versions in your account, you - * must omit this parameter.

      + *

      Indicates whether On-Demand hibernation is supported.

      */ - LaunchTemplateName?: string; + HibernationSupported?: boolean; /** * @public - *

      One or more versions of the launch template. Valid values depend on whether you are - * describing a specified launch template (by ID or name) or all launch templates in your - * account.

      - *

      To describe one or more versions of a specified launch template, valid values are - * $Latest, $Default, and numbers.

      - *

      To describe all launch templates in your account that are defined as the latest - * version, the valid value is $Latest. To describe all launch templates in - * your account that are defined as the default version, the valid value is - * $Default. You can specify $Latest and - * $Default in the same request. You cannot specify numbers.

      + *

      Indicates whether the instance type is a burstable performance T instance + * type. For more information, see Burstable + * performance instances.

      */ - Versions?: string[]; + BurstablePerformanceSupported?: boolean; /** * @public - *

      The version number after which to describe launch template versions.

      + *

      Indicates whether Dedicated Hosts are supported on the instance type.

      */ - MinVersion?: string; + DedicatedHostsSupported?: boolean; /** * @public - *

      The version number up to which to describe launch template versions.

      + *

      Indicates whether Amazon CloudWatch action based recovery is supported.

      */ - MaxVersion?: string; + AutoRecoverySupported?: boolean; /** * @public - *

      The token to request the next page of results.

      + *

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

      */ - NextToken?: string; + SupportedBootModes?: BootModeType[]; /** * @public - *

      The maximum number of results to return in a single call. To retrieve the remaining - * results, make another call with the returned NextToken value. This value - * can be between 1 and 200.

      + *

      Indicates whether Nitro Enclaves is supported.

      */ - MaxResults?: number; + NitroEnclavesSupport?: NitroEnclavesSupport; /** * @public - *

      One or more filters.

      - *
        - *
      • - *

        - * create-time - The time the launch template version was - * created.

        - *
      • - *
      • - *

        - * ebs-optimized - A boolean that indicates whether the instance is - * optimized for Amazon EBS I/O.

        - *
      • - *
      • - *

        - * http-endpoint - Indicates whether the HTTP metadata endpoint on - * your instances is enabled (enabled | disabled).

        - *
      • - *
      • - *

        - * http-protocol-ipv4 - Indicates whether the IPv4 endpoint for the - * instance metadata service is enabled (enabled | - * disabled).

        - *
      • - *
      • - *

        - * host-resource-group-arn - The ARN of the host resource group in - * which to launch the instances.

        - *
      • - *
      • - *

        - * http-tokens - The state of token usage for your instance metadata - * requests (optional | required).

        - *
      • - *
      • - *

        - * iam-instance-profile - The ARN of the IAM instance - * profile.

        - *
      • - *
      • - *

        - * image-id - The ID of the AMI.

        - *
      • - *
      • - *

        - * instance-type - The instance type.

        - *
      • - *
      • - *

        - * is-default-version - A boolean that indicates whether the launch - * template version is the default version.

        - *
      • - *
      • - *

        - * kernel-id - The kernel ID.

        - *
      • - *
      • - *

        - * license-configuration-arn - The ARN of the license - * configuration.

        - *
      • - *
      • - *

        - * network-card-index - The index of the network card.

        - *
      • - *
      • - *

        - * ram-disk-id - The RAM disk ID.

        - *
      • - *
      + *

      Indicates whether NitroTPM is supported.

      */ - Filters?: Filter[]; + NitroTpmSupport?: NitroTpmSupport; /** * @public - *

      If true, and if a Systems Manager parameter is specified for ImageId, - * the AMI ID is displayed in the response for imageId.

      - *

      If false, and if a Systems Manager parameter is specified for ImageId, - * the parameter is displayed in the response for imageId.

      - *

      For more information, see Use a Systems - * Manager parameter instead of an AMI ID in the Amazon Elastic Compute Cloud User Guide.

      - *

      Default: false - *

      + *

      Describes the supported NitroTPM versions for the instance type.

      */ - ResolveAlias?: boolean; + NitroTpmInfo?: NitroTpmInfo; } /** * @public */ -export interface DescribeLaunchTemplateVersionsResult { +export interface DescribeInstanceTypesResult { /** * @public - *

      Information about the launch template versions.

      + *

      The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

      */ - LaunchTemplateVersions?: LaunchTemplateVersion[]; + InstanceTypes?: InstanceTypeInfo[]; /** * @public - *

      The token to use to retrieve the next page of results. This value is null - * when there are no more results to return.

      + *

      The token to include in another request to get the next page of items. This value is null when there + * are no more items to return.

      */ NextToken?: string; } @@ -4912,41 +4616,36 @@ export interface DescribeLaunchTemplateVersionsResult { /** * @public */ -export interface DescribeLocalGatewayRouteTablesRequest { - /** - * @public - *

      The IDs of the local gateway route tables.

      - */ - LocalGatewayRouteTableIds?: string[]; - +export interface DescribeInternetGatewaysRequest { /** * @public - *

      One or more filters.

      + *

      The filters.

      *
        *
      • *

        - * local-gateway-id - The ID of a local gateway.

        + * attachment.state - The current state of the attachment between the gateway + * and the VPC (available). Present only if a VPC is attached.

        *
      • *
      • *

        - * local-gateway-route-table-arn - The Amazon Resource Name (ARN) of the - * local gateway route table.

        + * attachment.vpc-id - The ID of an attached VPC.

        *
      • *
      • *

        - * local-gateway-route-table-id - The ID of a local gateway route table.

        + * internet-gateway-id - The ID of the Internet gateway.

        *
      • *
      • *

        - * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

        + * owner-id - The ID of the Amazon Web Services account that owns the internet gateway.

        *
      • *
      • *

        - * owner-id - The ID of the Amazon Web Services account that owns the local gateway route table.

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

        *
      • *
      • *

        - * state - The state of the local gateway route table.

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

        *
      • *
      */ @@ -4954,17 +4653,55 @@ export interface DescribeLocalGatewayRouteTablesRequest { /** * @public - *

      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

      + *

      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.

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

      The IDs of the internet gateways.

      + *

      Default: Describes all your internet gateways.

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

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

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

      The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

      */ MaxResults?: number; +} + +/** + * @public + */ +export interface DescribeInternetGatewaysResult { + /** + * @public + *

      Information about one or more internet gateways.

      + */ + InternetGateways?: InternetGateway[]; /** * @public - *

      The token for the next page of results.

      + *

      The token to include in another request to get the next page of items. This value is null when there are no more items to return.

      */ NextToken?: string; +} +/** + * @public + */ +export interface DescribeIpamByoasnRequest { /** * @public *

      Checks whether you have the required permissions for the action, without actually making the request, @@ -4972,17 +4709,30 @@ export interface DescribeLocalGatewayRouteTablesRequest { * Otherwise, it is UnauthorizedOperation.

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

      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

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

      The token for the next page of results.

      + */ + NextToken?: string; } /** * @public */ -export interface DescribeLocalGatewayRouteTablesResult { +export interface DescribeIpamByoasnResult { /** * @public - *

      Information about the local gateway route tables.

      + *

      ASN and BYOIP CIDR associations.

      */ - LocalGatewayRouteTables?: LocalGatewayRouteTable[]; + Byoasns?: Byoasn[]; /** * @public @@ -4994,55 +4744,24 @@ export interface DescribeLocalGatewayRouteTablesResult { /** * @public */ -export interface DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest { +export interface DescribeIpamPoolsRequest { /** * @public - *

      The IDs of the associations.

      + *

      A check for 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.

      */ - LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds?: string[]; + DryRun?: boolean; /** * @public - *

      One or more filters.

      - *
        - *
      • - *

        - * local-gateway-id - The ID of a local gateway.

        - *
      • - *
      • - *

        - * local-gateway-route-table-arn - The Amazon Resource Name (ARN) of the local - * gateway route table for the virtual interface group.

        - *
      • - *
      • - *

        - * local-gateway-route-table-id - The ID of the local gateway route table.

        - *
      • - *
      • - *

        - * local-gateway-route-table-virtual-interface-group-association-id - The ID of the association.

        - *
      • - *
      • - *

        - * local-gateway-route-table-virtual-interface-group-id - The ID of the virtual interface group.

        - *
      • - *
      • - *

        - * owner-id - The ID of the Amazon Web Services account that owns the local gateway virtual - * interface group association.

        - *
      • - *
      • - *

        - * state - The state of the association.

        - *
      • - *
      + *

      One or more filters for the request. For more information about filtering, see Filtering CLI output.

      */ Filters?: Filter[]; /** * @public - *

      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

      + *

      The maximum number of results to return in the request.

      */ MaxResults?: number; @@ -5054,113 +4773,132 @@ export interface DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations /** * @public - *

      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.

      + *

      The IDs of the IPAM pools you would like information on.

      */ - DryRun?: boolean; + IpamPoolIds?: string[]; } /** * @public */ -export interface DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult { +export interface DescribeIpamPoolsResult { /** * @public - *

      Information about the associations.

      + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      */ - LocalGatewayRouteTableVirtualInterfaceGroupAssociations?: LocalGatewayRouteTableVirtualInterfaceGroupAssociation[]; + NextToken?: string; /** * @public - *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      + *

      Information about the IPAM pools.

      */ - NextToken?: string; + IpamPools?: IpamPool[]; } /** * @public */ -export interface DescribeLocalGatewayRouteTableVpcAssociationsRequest { +export interface DescribeIpamResourceDiscoveriesRequest { /** * @public - *

      The IDs of the associations.

      + *

      A check for 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.

      */ - LocalGatewayRouteTableVpcAssociationIds?: string[]; + DryRun?: boolean; /** * @public - *

      One or more filters.

      - *
        - *
      • - *

        - * local-gateway-id - The ID of a local gateway.

        - *
      • - *
      • - *

        - * local-gateway-route-table-arn - The Amazon Resource Name (ARN) of the local - * gateway route table for the association.

        - *
      • - *
      • - *

        - * local-gateway-route-table-id - The ID of the local gateway route table.

        - *
      • - *
      • - *

        - * local-gateway-route-table-vpc-association-id - The ID of the association.

        - *
      • - *
      • - *

        - * owner-id - The ID of the Amazon Web Services account that owns the local gateway route table - * for the association.

        - *
      • - *
      • - *

        - * state - The state of the association.

        - *
      • - *
      • - *

        - * vpc-id - The ID of the VPC.

        - *
      • - *
      + *

      The IPAM resource discovery IDs.

      */ - Filters?: Filter[]; + IpamResourceDiscoveryIds?: string[]; /** * @public - *

      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

      + *

      Specify the pagination token from a previous request to retrieve the next page of results.

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

      The maximum number of resource discoveries to return in one page of results.

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

      The token for the next page of results.

      + *

      The resource discovery filters.

      + */ + Filters?: Filter[]; +} + +/** + * @public + */ +export interface DescribeIpamResourceDiscoveriesResult { + /** + * @public + *

      The resource discoveries.

      + */ + IpamResourceDiscoveries?: IpamResourceDiscovery[]; + + /** + * @public + *

      Specify the pagination token from a previous request to retrieve the next page of results.

      */ NextToken?: string; +} +/** + * @public + */ +export interface DescribeIpamResourceDiscoveryAssociationsRequest { /** * @public - *

      Checks whether you have the required permissions for the action, without actually making the request, + *

      A check for 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.

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

      The resource discovery association IDs.

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

      Specify the pagination token from a previous request to retrieve the next page of results.

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

      The maximum number of resource discovery associations to return in one page of results.

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

      The resource discovery association filters.

      + */ + Filters?: Filter[]; } /** * @public */ -export interface DescribeLocalGatewayRouteTableVpcAssociationsResult { +export interface DescribeIpamResourceDiscoveryAssociationsResult { /** * @public - *

      Information about the associations.

      + *

      The resource discovery associations.

      */ - LocalGatewayRouteTableVpcAssociations?: LocalGatewayRouteTableVpcAssociation[]; + IpamResourceDiscoveryAssociations?: IpamResourceDiscoveryAssociation[]; /** * @public - *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      + *

      Specify the pagination token from a previous request to retrieve the next page of results.

      */ NextToken?: string; } @@ -5168,41 +4906,24 @@ export interface DescribeLocalGatewayRouteTableVpcAssociationsResult { /** * @public */ -export interface DescribeLocalGatewaysRequest { +export interface DescribeIpamsRequest { /** * @public - *

      The IDs of the local gateways.

      + *

      A check for 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.

      */ - LocalGatewayIds?: string[]; + DryRun?: boolean; /** * @public - *

      One or more filters.

      - *
        - *
      • - *

        - * local-gateway-id - The ID of a local gateway.

        - *
      • - *
      • - *

        - * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

        - *
      • - *
      • - *

        - * owner-id - The ID of the Amazon Web Services account that owns the local gateway.

        - *
      • - *
      • - *

        - * state - The state of the association.

        - *
      • - *
      + *

      One or more filters for the request. For more information about filtering, see Filtering CLI output.

      */ Filters?: Filter[]; /** * @public - *

      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

      + *

      The maximum number of results to return in the request.

      */ MaxResults?: number; @@ -5214,99 +4935,97 @@ export interface DescribeLocalGatewaysRequest { /** * @public - *

      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.

      + *

      The IDs of the IPAMs you want information on.

      */ - DryRun?: boolean; + IpamIds?: string[]; } /** * @public - *

      Describes a local gateway.

      */ -export interface LocalGateway { +export interface DescribeIpamsResult { /** * @public - *

      The ID of the local gateway.

      + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      */ - LocalGatewayId?: string; + NextToken?: string; /** * @public - *

      The Amazon Resource Name (ARN) of the Outpost.

      + *

      Information about the IPAMs.

      */ - OutpostArn?: string; + Ipams?: Ipam[]; +} +/** + * @public + */ +export interface DescribeIpamScopesRequest { /** * @public - *

      The ID of the Amazon Web Services account that owns the local gateway.

      + *

      A check for 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.

      */ - OwnerId?: string; + DryRun?: boolean; /** * @public - *

      The state of the local gateway.

      + *

      One or more filters for the request. For more information about filtering, see Filtering CLI output.

      */ - State?: string; + Filters?: Filter[]; /** * @public - *

      The tags assigned to the local gateway.

      + *

      The maximum number of results to return in the request.

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

      The token for the next page of results.

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

      The IDs of the scopes you want information on.

      + */ + IpamScopeIds?: string[]; } /** * @public */ -export interface DescribeLocalGatewaysResult { +export interface DescribeIpamScopesResult { /** * @public - *

      Information about the local gateways.

      + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      */ - LocalGateways?: LocalGateway[]; + NextToken?: string; /** * @public - *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      + *

      The scopes you want information on.

      */ - NextToken?: string; + IpamScopes?: IpamScope[]; } /** * @public */ -export interface DescribeLocalGatewayVirtualInterfaceGroupsRequest { +export interface DescribeIpv6PoolsRequest { /** * @public - *

      The IDs of the virtual interface groups.

      + *

      The IDs of the IPv6 address pools.

      */ - LocalGatewayVirtualInterfaceGroupIds?: string[]; + PoolIds?: string[]; /** * @public - *

      One or more filters.

      - *
        - *
      • - *

        - * local-gateway-id - The ID of a local gateway.

        - *
      • - *
      • - *

        - * local-gateway-virtual-interface-group-id - The ID of the virtual interface group.

        - *
      • - *
      • - *

        - * local-gateway-virtual-interface-id - The ID of the virtual interface.

        - *
      • - *
      • - *

        - * owner-id - The ID of the Amazon Web Services account that owns the local gateway virtual interface group.

        - *
      • - *
      + *

      The token for the next page of results.

      */ - Filters?: Filter[]; + NextToken?: string; /** * @public @@ -5315,12 +5034,6 @@ export interface DescribeLocalGatewayVirtualInterfaceGroupsRequest { */ MaxResults?: number; - /** - * @public - *

      The token for the next page of results.

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

      Checks whether you have the required permissions for the action, without actually making the request, @@ -5328,40 +5041,63 @@ export interface DescribeLocalGatewayVirtualInterfaceGroupsRequest { * Otherwise, it is UnauthorizedOperation.

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

      One or more filters.

      + *
        + *
      • + *

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

        + *
      • + *
      • + *

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

        + *
      • + *
      + */ + Filters?: Filter[]; } /** * @public - *

      Describes a local gateway virtual interface group.

      + *

      Describes a CIDR block for an address pool.

      */ -export interface LocalGatewayVirtualInterfaceGroup { +export interface PoolCidrBlock { /** * @public - *

      The ID of the virtual interface group.

      + *

      The CIDR block.

      */ - LocalGatewayVirtualInterfaceGroupId?: string; + Cidr?: string; +} +/** + * @public + *

      Describes an IPv6 address pool.

      + */ +export interface Ipv6Pool { /** * @public - *

      The IDs of the virtual interfaces.

      + *

      The ID of the address pool.

      */ - LocalGatewayVirtualInterfaceIds?: string[]; + PoolId?: string; /** * @public - *

      The ID of the local gateway.

      + *

      The description for the address pool.

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

      The ID of the Amazon Web Services account that owns the local gateway virtual interface group.

      + *

      The CIDR blocks for the address pool.

      */ - OwnerId?: string; + PoolCidrBlocks?: PoolCidrBlock[]; /** * @public - *

      The tags assigned to the virtual interface group.

      + *

      Any tags for the address pool.

      */ Tags?: Tag[]; } @@ -5369,12 +5105,12 @@ export interface LocalGatewayVirtualInterfaceGroup { /** * @public */ -export interface DescribeLocalGatewayVirtualInterfaceGroupsResult { +export interface DescribeIpv6PoolsResult { /** * @public - *

      The virtual interface groups.

      + *

      Information about the IPv6 address pools.

      */ - LocalGatewayVirtualInterfaceGroups?: LocalGatewayVirtualInterfaceGroup[]; + Ipv6Pools?: Ipv6Pool[]; /** * @public @@ -5386,149 +5122,228 @@ export interface DescribeLocalGatewayVirtualInterfaceGroupsResult { /** * @public */ -export interface DescribeLocalGatewayVirtualInterfacesRequest { - /** - * @public - *

      The IDs of the virtual interfaces.

      - */ - LocalGatewayVirtualInterfaceIds?: string[]; - +export interface DescribeKeyPairsRequest { /** * @public - *

      One or more filters.

      + *

      The filters.

      *
        *
      • *

        - * local-address - The local address.

        + * key-pair-id - The ID of the key pair.

        *
      • *
      • *

        - * local-bgp-asn - The Border Gateway Protocol (BGP) Autonomous System Number (ASN) - * of the local gateway.

        + * fingerprint - The fingerprint of the key pair.

        *
      • *
      • *

        - * local-gateway-id - The ID of the local gateway.

        + * key-name - The name of the key pair.

        *
      • *
      • *

        - * local-gateway-virtual-interface-id - The ID of the virtual interface.

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

        *
      • *
      • *

        - * owner-id - The ID of the Amazon Web Services account that owns the local gateway virtual interface.

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

        + *
      • + *
      + */ + Filters?: Filter[]; + + /** + * @public + *

      The key pair names.

      + *

      Default: Describes all of your key pairs.

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

      The IDs of the key pairs.

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

      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.

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

      If true, the public key material is included in the response.

      + *

      Default: false + *

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

      Describes a key pair.

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

      The ID of the key pair.

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

      If you used CreateKeyPair to create the key pair:

      + *
        + *
      • + *

        For RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded private key.

        *
      • *
      • - *

        - * peer-address - The peer address.

        + *

        For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 digest, which + * is the default for OpenSSH, starting with OpenSSH 6.8.

        *
      • + *
      + *

      If you used ImportKeyPair to provide Amazon Web Services the public key:

      + *
        *
      • - *

        - * peer-bgp-asn - The peer BGP ASN.

        + *

        For RSA key pairs, the key fingerprint is the MD5 public key fingerprint as specified in section 4 of RFC4716.

        *
      • *
      • - *

        - * vlan - The ID of the VLAN.

        + *

        For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 + * digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

        *
      • *
      */ - Filters?: Filter[]; + KeyFingerprint?: string; /** * @public - *

      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

      + *

      The name of the key pair.

      */ - MaxResults?: number; + KeyName?: string; /** * @public - *

      The token for the next page of results.

      + *

      The type of key pair.

      */ - NextToken?: string; + KeyType?: KeyType; /** * @public - *

      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.

      + *

      Any tags applied to the key pair.

      */ - DryRun?: boolean; -} + Tags?: Tag[]; -/** - * @public - *

      Describes a local gateway virtual interface.

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

      The ID of the virtual interface.

      + *

      The public key material.

      */ - LocalGatewayVirtualInterfaceId?: string; + PublicKey?: string; /** * @public - *

      The ID of the local gateway.

      + *

      If you used Amazon EC2 to create the key pair, this is the date and time when the key + * was created, in ISO + * 8601 date-time format, in the UTC time zone.

      + *

      If you imported an existing key pair to Amazon EC2, this is the date and time the key + * was imported, in ISO + * 8601 date-time format, in the UTC time zone.

      */ - LocalGatewayId?: string; + CreateTime?: Date; +} +/** + * @public + */ +export interface DescribeKeyPairsResult { /** * @public - *

      The ID of the VLAN.

      + *

      Information about the key pairs.

      */ - Vlan?: number; + KeyPairs?: KeyPairInfo[]; +} +/** + * @public + */ +export interface DescribeLaunchTemplatesRequest { /** * @public - *

      The local address.

      + *

      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.

      */ - LocalAddress?: string; + DryRun?: boolean; /** * @public - *

      The peer address.

      + *

      One or more launch template IDs.

      */ - PeerAddress?: string; + LaunchTemplateIds?: string[]; /** * @public - *

      The Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the local gateway.

      + *

      One or more launch template names.

      */ - LocalBgpAsn?: number; + LaunchTemplateNames?: string[]; /** * @public - *

      The peer BGP ASN.

      + *

      One or more filters.

      + *
        + *
      • + *

        + * create-time - The time the launch template was created.

        + *
      • + *
      • + *

        + * launch-template-name - The name of the launch template.

        + *
      • + *
      • + *

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

        + *
      • + *
      • + *

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

        + *
      • + *
      */ - PeerBgpAsn?: number; + Filters?: Filter[]; /** * @public - *

      The ID of the Amazon Web Services account that owns the local gateway virtual interface.

      + *

      The token to request the next page of results.

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

      The tags assigned to the virtual interface.

      + *

      The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value. This value + * can be between 1 and 200.

      */ - Tags?: Tag[]; + MaxResults?: number; } /** * @public */ -export interface DescribeLocalGatewayVirtualInterfacesResult { +export interface DescribeLaunchTemplatesResult { /** * @public - *

      Information about the virtual interfaces.

      + *

      Information about the launch templates.

      */ - LocalGatewayVirtualInterfaces?: LocalGatewayVirtualInterface[]; + LaunchTemplates?: LaunchTemplate[]; /** * @public - *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      + *

      The token to use to retrieve the next page of results. This value is null + * when there are no more results to return.

      */ NextToken?: string; } @@ -5536,169 +5351,181 @@ export interface DescribeLocalGatewayVirtualInterfacesResult { /** * @public */ -export interface DescribeLockedSnapshotsRequest { +export interface DescribeLaunchTemplateVersionsRequest { /** * @public - *

      The filters.

      - *
        - *
      • - *

        - * lock-state - The state of the snapshot lock (compliance-cooloff | - * governance | compliance | expired).

        - *
      • - *
      + *

      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.

      */ - Filters?: Filter[]; + DryRun?: boolean; /** * @public - *

      The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

      + *

      The ID of the launch template.

      + *

      To describe one or more versions of a specified launch template, you must specify + * either the LaunchTemplateId or the LaunchTemplateName, but not + * both.

      + *

      To describe all the latest or default launch template versions in your account, you + * must omit this parameter.

      */ - MaxResults?: number; + LaunchTemplateId?: string; /** * @public - *

      The token returned from a previous paginated request. - * Pagination continues from the end of the items returned by the previous request.

      + *

      The name of the launch template.

      + *

      To describe one or more versions of a specified launch template, you must specify + * either the LaunchTemplateName or the LaunchTemplateId, but not + * both.

      + *

      To describe all the latest or default launch template versions in your account, you + * must omit this parameter.

      */ - NextToken?: string; + LaunchTemplateName?: string; /** * @public - *

      The IDs of the snapshots for which to view the lock status.

      + *

      One or more versions of the launch template. Valid values depend on whether you are + * describing a specified launch template (by ID or name) or all launch templates in your + * account.

      + *

      To describe one or more versions of a specified launch template, valid values are + * $Latest, $Default, and numbers.

      + *

      To describe all launch templates in your account that are defined as the latest + * version, the valid value is $Latest. To describe all launch templates in + * your account that are defined as the default version, the valid value is + * $Default. You can specify $Latest and + * $Default in the same request. You cannot specify numbers.

      */ - SnapshotIds?: string[]; + Versions?: string[]; /** * @public - *

      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.

      + *

      The version number after which to describe launch template versions.

      */ - DryRun?: boolean; -} - -/** - * @public - * @enum - */ -export const LockState = { - compliance: "compliance", - compliance_cooloff: "compliance-cooloff", - expired: "expired", - governance: "governance", -} as const; + MinVersion?: string; -/** - * @public - */ -export type LockState = (typeof LockState)[keyof typeof LockState]; + /** + * @public + *

      The version number up to which to describe launch template versions.

      + */ + MaxVersion?: string; -/** - * @public - *

      Information about a locked snapshot.

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

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

      + *

      The token to request the next page of results.

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

      The ID of the snapshot.

      + *

      The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value. This value + * can be between 1 and 200.

      */ - SnapshotId?: string; + MaxResults?: number; /** * @public - *

      The state of the snapshot lock. Valid states include:

      + *

      One or more filters.

      *
        *
      • *

        - * compliance-cooloff - The snapshot has been locked in - * compliance mode but it is still within the cooling-off period. The snapshot can't be - * deleted, but it can be unlocked and the lock settings can be modified by users with - * appropriate permissions.

        + * create-time - The time the launch template version was + * created.

        + *
      • + *
      • + *

        + * ebs-optimized - A boolean that indicates whether the instance is + * optimized for Amazon EBS I/O.

        + *
      • + *
      • + *

        + * http-endpoint - Indicates whether the HTTP metadata endpoint on + * your instances is enabled (enabled | disabled).

        + *
      • + *
      • + *

        + * http-protocol-ipv4 - Indicates whether the IPv4 endpoint for the + * instance metadata service is enabled (enabled | + * disabled).

        + *
      • + *
      • + *

        + * host-resource-group-arn - The ARN of the host resource group in + * which to launch the instances.

        + *
      • + *
      • + *

        + * http-tokens - The state of token usage for your instance metadata + * requests (optional | required).

        + *
      • + *
      • + *

        + * iam-instance-profile - The ARN of the IAM instance + * profile.

        + *
      • + *
      • + *

        + * image-id - The ID of the AMI.

        + *
      • + *
      • + *

        + * instance-type - The instance type.

        + *
      • + *
      • + *

        + * is-default-version - A boolean that indicates whether the launch + * template version is the default version.

        + *
      • + *
      • + *

        + * kernel-id - The kernel ID.

        *
      • *
      • *

        - * governance - The snapshot is locked in governance mode. The - * snapshot can't be deleted, but it can be unlocked and the lock settings can be - * modified by users with appropriate permissions.

        + * license-configuration-arn - The ARN of the license + * configuration.

        *
      • *
      • *

        - * compliance - The snapshot is locked in compliance mode and the - * cooling-off period has expired. The snapshot can't be unlocked or deleted. The lock - * duration can only be increased by users with appropriate permissions.

        + * network-card-index - The index of the network card.

        *
      • *
      • *

        - * expired - The snapshot was locked in compliance or governance - * mode but the lock duration has expired. The snapshot is not locked and can be deleted.

        + * ram-disk-id - The RAM disk ID.

        *
      • *
      */ - LockState?: LockState; - - /** - * @public - *

      The period of time for which the snapshot is locked, in days.

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

      The compliance mode cooling-off period, in hours.

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

      The date and time at which the compliance mode cooling-off period expires, in the UTC time zone - * (YYYY-MM-DDThh:mm:ss.sssZ).

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

      The date and time at which the snapshot was locked, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

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

      The date and time at which the lock duration started, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

      - *

      If you lock a snapshot that is in the pending state, the lock duration - * starts only once the snapshot enters the completed state.

      - */ - LockDurationStartTime?: Date; + Filters?: Filter[]; /** * @public - *

      The date and time at which the lock will expire, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

      + *

      If true, and if a Systems Manager parameter is specified for ImageId, + * the AMI ID is displayed in the response for imageId.

      + *

      If false, and if a Systems Manager parameter is specified for ImageId, + * the parameter is displayed in the response for imageId.

      + *

      For more information, see Use a Systems + * Manager parameter instead of an AMI ID in the Amazon Elastic Compute Cloud User Guide.

      + *

      Default: false + *

      */ - LockExpiresOn?: Date; + ResolveAlias?: boolean; } /** * @public */ -export interface DescribeLockedSnapshotsResult { +export interface DescribeLaunchTemplateVersionsResult { /** * @public - *

      Information about the snapshots.

      + *

      Information about the launch template versions.

      */ - Snapshots?: LockedSnapshotsInfo[]; + LaunchTemplateVersions?: LaunchTemplateVersion[]; /** * @public - *

      The token to include in another request to get the next page of items. - * This value is null when there are no more items to return.

      + *

      The token to use to retrieve the next page of results. This value is null + * when there are no more results to return.

      */ NextToken?: string; } @@ -5706,14 +5533,12 @@ export interface DescribeLockedSnapshotsResult { /** * @public */ -export interface DescribeManagedPrefixListsRequest { +export interface DescribeLocalGatewayRouteTablesRequest { /** * @public - *

      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.

      + *

      The IDs of the local gateway route tables.

      */ - DryRun?: boolean; + LocalGatewayRouteTableIds?: string[]; /** * @public @@ -5721,15 +5546,28 @@ export interface DescribeManagedPrefixListsRequest { *
        *
      • *

        - * owner-id - The ID of the prefix list owner.

        + * local-gateway-id - The ID of a local gateway.

        *
      • *
      • *

        - * prefix-list-id - The ID of the prefix list.

        + * local-gateway-route-table-arn - The Amazon Resource Name (ARN) of the + * local gateway route table.

        *
      • *
      • *

        - * prefix-list-name - The name of the prefix list.

        + * local-gateway-route-table-id - The ID of a local gateway route table.

        + *
      • + *
      • + *

        + * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

        + *
      • + *
      • + *

        + * owner-id - The ID of the Amazon Web Services account that owns the local gateway route table.

        + *
      • + *
      • + *

        + * state - The state of the local gateway route table.

        *
      • *
      */ @@ -5748,47 +5586,6 @@ export interface DescribeManagedPrefixListsRequest { */ NextToken?: string; - /** - * @public - *

      One or more prefix list IDs.

      - */ - PrefixListIds?: string[]; -} - -/** - * @public - */ -export interface DescribeManagedPrefixListsResult { - /** - * @public - *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

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

      Information about the prefix lists.

      - */ - PrefixLists?: ManagedPrefixList[]; -} - -/** - * @public - */ -export interface DescribeMovingAddressesRequest { - /** - * @public - *

      One or more filters.

      - *
        - *
      • - *

        - * moving-status - The status of the Elastic IP address - * (MovingToVpc | RestoringToClassic).

        - *
      • - *
      - */ - Filters?: Filter[]; - /** * @public *

      Checks whether you have the required permissions for the action, without actually making the request, @@ -5796,74 +5593,17 @@ export interface DescribeMovingAddressesRequest { * Otherwise, it is UnauthorizedOperation.

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

      The maximum number of results to return for the request in a single page. The remaining - * results of the initial request can be seen by sending another request with the returned - * NextToken value. This value can be between 5 and 1000; if - * MaxResults is given a value outside of this range, an error is returned.

      - *

      Default: If no value is provided, the default is 1000.

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

      The token for the next page of results.

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

      One or more Elastic IP addresses.

      - */ - PublicIps?: string[]; -} - -/** - * @public - * @enum - */ -export const MoveStatus = { - movingToVpc: "movingToVpc", - restoringToClassic: "restoringToClassic", -} as const; - -/** - * @public - */ -export type MoveStatus = (typeof MoveStatus)[keyof typeof MoveStatus]; - -/** - * @public - * - *

      This action is deprecated.

      - *
      - *

      Describes the status of a moving Elastic IP address.

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

      The status of the Elastic IP address that's being moved or restored.

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

      The Elastic IP address.

      - */ - PublicIp?: string; } /** * @public */ -export interface DescribeMovingAddressesResult { +export interface DescribeLocalGatewayRouteTablesResult { /** * @public - *

      The status for each Elastic IP address.

      + *

      Information about the local gateway route tables.

      */ - MovingAddressStatuses?: MovingAddressStatus[]; + LocalGatewayRouteTables?: LocalGatewayRouteTable[]; /** * @public @@ -5875,83 +5615,86 @@ export interface DescribeMovingAddressesResult { /** * @public */ -export interface DescribeNatGatewaysRequest { +export interface DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest { /** * @public - *

      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.

      + *

      The IDs of the associations.

      */ - DryRun?: boolean; + LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds?: string[]; /** * @public - *

      The filters.

      + *

      One or more filters.

      *
        *
      • *

        - * nat-gateway-id - The ID of the NAT gateway.

        + * local-gateway-id - The ID of a local gateway.

        *
      • *
      • *

        - * state - The state of the NAT gateway (pending | - * failed | available | deleting | deleted).

        + * local-gateway-route-table-arn - The Amazon Resource Name (ARN) of the local + * gateway route table for the virtual interface group.

        *
      • *
      • *

        - * subnet-id - The ID of the subnet in which the NAT gateway resides.

        + * local-gateway-route-table-id - The ID of the local gateway route table.

        *
      • *
      • *

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

        + * local-gateway-route-table-virtual-interface-group-association-id - The ID of the association.

        *
      • *
      • *

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

        + * local-gateway-route-table-virtual-interface-group-id - The ID of the virtual interface group.

        *
      • *
      • *

        - * vpc-id - The ID of the VPC in which the NAT gateway resides.

        + * owner-id - The ID of the Amazon Web Services account that owns the local gateway virtual + * interface group association.

        + *
      • + *
      • + *

        + * state - The state of the association.

        *
      • *
      */ - Filter?: Filter[]; + Filters?: Filter[]; /** * @public - *

      The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

      + *

      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

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

      The IDs of the NAT gateways.

      + *

      The token for the next page of results.

      */ - NatGatewayIds?: string[]; + NextToken?: string; /** * @public - *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      + *

      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.

      */ - NextToken?: string; + DryRun?: boolean; } /** * @public */ -export interface DescribeNatGatewaysResult { +export interface DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult { /** * @public - *

      Information about the NAT gateways.

      + *

      Information about the associations.

      */ - NatGateways?: NatGateway[]; + LocalGatewayRouteTableVirtualInterfaceGroupAssociations?: LocalGatewayRouteTableVirtualInterfaceGroupAssociation[]; /** * @public - *

      The token to include in another request to get the next page of items. This value is null when there are no more items to return.

      + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      */ NextToken?: string; } @@ -5959,89 +5702,46 @@ export interface DescribeNatGatewaysResult { /** * @public */ -export interface DescribeNetworkAclsRequest { +export interface DescribeLocalGatewayRouteTableVpcAssociationsRequest { /** * @public - *

      The filters.

      + *

      The IDs of the associations.

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

      One or more filters.

      *
        *
      • *

        - * association.association-id - The ID of an association ID for the ACL.

        - *
      • - *
      • - *

        - * association.network-acl-id - The ID of the network ACL involved in the association.

        - *
      • - *
      • - *

        - * association.subnet-id - The ID of the subnet involved in the association.

        - *
      • - *
      • - *

        - * default - Indicates whether the ACL is the default network ACL for the VPC.

        - *
      • - *
      • - *

        - * entry.cidr - The IPv4 CIDR range specified in the entry.

        - *
      • - *
      • - *

        - * entry.icmp.code - The ICMP code specified in the entry, if any.

        - *
      • - *
      • - *

        - * entry.icmp.type - The ICMP type specified in the entry, if any.

        - *
      • - *
      • - *

        - * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.

        - *
      • - *
      • - *

        - * entry.port-range.from - The start of the port range specified in the entry.

        - *
      • - *
      • - *

        - * entry.port-range.to - The end of the port range specified in the entry.

        - *
      • - *
      • - *

        - * entry.protocol - The protocol specified in the entry (tcp | udp | icmp or a protocol number).

        - *
      • - *
      • - *

        - * entry.rule-action - Allows or denies the matching traffic (allow | deny).

        - *
      • - *
      • - *

        - * entry.egress - A Boolean that indicates the type of rule. Specify true - * for egress rules, or false for ingress rules.

        + * local-gateway-id - The ID of a local gateway.

        *
      • *
      • *

        - * entry.rule-number - The number of an entry (in other words, rule) in - * the set of ACL entries.

        + * local-gateway-route-table-arn - The Amazon Resource Name (ARN) of the local + * gateway route table for the association.

        *
      • *
      • *

        - * network-acl-id - The ID of the network ACL.

        + * local-gateway-route-table-id - The ID of the local gateway route table.

        *
      • *
      • *

        - * owner-id - The ID of the Amazon Web Services account that owns the network ACL.

        + * local-gateway-route-table-vpc-association-id - The ID of the association.

        *
      • *
      • *

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

        + * owner-id - The ID of the Amazon Web Services account that owns the local gateway route table + * for the association.

        *
      • *
      • *

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

        + * state - The state of the association.

        *
      • *
      • *

        - * vpc-id - The ID of the VPC for the network ACL.

        + * vpc-id - The ID of the VPC.

        *
      • *
      */ @@ -6049,47 +5749,39 @@ export interface DescribeNetworkAclsRequest { /** * @public - *

      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.

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

      The IDs of the network ACLs.

      - *

      Default: Describes all your network ACLs.

      + *

      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

      */ - NetworkAclIds?: string[]; + MaxResults?: number; /** * @public - *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      + *

      The token for the next page of results.

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

      The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

      + *

      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.

      */ - MaxResults?: number; + DryRun?: boolean; } /** * @public */ -export interface DescribeNetworkAclsResult { +export interface DescribeLocalGatewayRouteTableVpcAssociationsResult { /** * @public - *

      Information about one or more network ACLs.

      + *

      Information about the associations.

      */ - NetworkAcls?: NetworkAcl[]; + LocalGatewayRouteTableVpcAssociations?: LocalGatewayRouteTableVpcAssociation[]; /** * @public - *

      The token to include in another request to get the next page of items. This value is null when there are no more items to return.

      + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      */ NextToken?: string; } @@ -6097,157 +5789,200 @@ export interface DescribeNetworkAclsResult { /** * @public */ -export interface DescribeNetworkInsightsAccessScopeAnalysesRequest { +export interface DescribeLocalGatewaysRequest { /** * @public - *

      The IDs of the Network Access Scope analyses.

      + *

      The IDs of the local gateways.

      */ - NetworkInsightsAccessScopeAnalysisIds?: string[]; + LocalGatewayIds?: string[]; /** * @public - *

      The ID of the Network Access Scope.

      + *

      One or more filters.

      + *
        + *
      • + *

        + * local-gateway-id - The ID of a local gateway.

        + *
      • + *
      • + *

        + * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

        + *
      • + *
      • + *

        + * owner-id - The ID of the Amazon Web Services account that owns the local gateway.

        + *
      • + *
      • + *

        + * state - The state of the association.

        + *
      • + *
      */ - NetworkInsightsAccessScopeId?: string; + Filters?: Filter[]; /** * @public - *

      Filters the results based on the start time. The analysis must have started on or after this time.

      + *

      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

      */ - AnalysisStartTimeBegin?: Date; + MaxResults?: number; /** * @public - *

      Filters the results based on the start time. The analysis must have started on or before this time.

      + *

      The token for the next page of results.

      */ - AnalysisStartTimeEnd?: Date; + NextToken?: string; /** * @public - *

      There are no supported filters.

      + *

      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.

      */ - Filters?: Filter[]; + DryRun?: boolean; +} +/** + * @public + *

      Describes a local gateway.

      + */ +export interface LocalGateway { /** * @public - *

      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

      + *

      The ID of the local gateway.

      */ - MaxResults?: number; + LocalGatewayId?: string; /** * @public - *

      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.

      + *

      The Amazon Resource Name (ARN) of the Outpost.

      */ - DryRun?: boolean; + OutpostArn?: string; /** * @public - *

      The token for the next page of results.

      + *

      The ID of the Amazon Web Services account that owns the local gateway.

      */ - NextToken?: string; -} - -/** - * @public - * @enum - */ -export const FindingsFound = { - false: "false", - true: "true", - unknown: "unknown", -} as const; + OwnerId?: string; -/** - * @public - */ -export type FindingsFound = (typeof FindingsFound)[keyof typeof FindingsFound]; + /** + * @public + *

      The state of the local gateway.

      + */ + State?: string; -/** - * @public - * @enum - */ -export const AnalysisStatus = { - failed: "failed", - running: "running", - succeeded: "succeeded", -} as const; + /** + * @public + *

      The tags assigned to the local gateway.

      + */ + Tags?: Tag[]; +} /** * @public */ -export type AnalysisStatus = (typeof AnalysisStatus)[keyof typeof AnalysisStatus]; +export interface DescribeLocalGatewaysResult { + /** + * @public + *

      Information about the local gateways.

      + */ + LocalGateways?: LocalGateway[]; -/** - * @public - *

      Describes a Network Access Scope analysis.

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

      The ID of the Network Access Scope analysis.

      + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      */ - NetworkInsightsAccessScopeAnalysisId?: string; + NextToken?: string; +} +/** + * @public + */ +export interface DescribeLocalGatewayVirtualInterfaceGroupsRequest { /** * @public - *

      The Amazon Resource Name (ARN) of the Network Access Scope analysis.

      + *

      The IDs of the virtual interface groups.

      */ - NetworkInsightsAccessScopeAnalysisArn?: string; + LocalGatewayVirtualInterfaceGroupIds?: string[]; /** * @public - *

      The ID of the Network Access Scope.

      + *

      One or more filters.

      + *
        + *
      • + *

        + * local-gateway-id - The ID of a local gateway.

        + *
      • + *
      • + *

        + * local-gateway-virtual-interface-group-id - The ID of the virtual interface group.

        + *
      • + *
      • + *

        + * local-gateway-virtual-interface-id - The ID of the virtual interface.

        + *
      • + *
      • + *

        + * owner-id - The ID of the Amazon Web Services account that owns the local gateway virtual interface group.

        + *
      • + *
      */ - NetworkInsightsAccessScopeId?: string; + Filters?: Filter[]; /** * @public - *

      The status.

      + *

      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

      */ - Status?: AnalysisStatus; + MaxResults?: number; /** * @public - *

      The status message.

      + *

      The token for the next page of results.

      */ - StatusMessage?: string; + NextToken?: string; /** * @public - *

      The warning message.

      + *

      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.

      */ - WarningMessage?: string; + DryRun?: boolean; +} +/** + * @public + *

      Describes a local gateway virtual interface group.

      + */ +export interface LocalGatewayVirtualInterfaceGroup { /** * @public - *

      The analysis start date.

      + *

      The ID of the virtual interface group.

      */ - StartDate?: Date; + LocalGatewayVirtualInterfaceGroupId?: string; /** * @public - *

      The analysis end date.

      + *

      The IDs of the virtual interfaces.

      */ - EndDate?: Date; + LocalGatewayVirtualInterfaceIds?: string[]; /** * @public - *

      Indicates whether there are findings.

      + *

      The ID of the local gateway.

      */ - FindingsFound?: FindingsFound; + LocalGatewayId?: string; /** * @public - *

      The number of network interfaces analyzed.

      + *

      The ID of the Amazon Web Services account that owns the local gateway virtual interface group.

      */ - AnalyzedEniCount?: number; + OwnerId?: string; /** * @public - *

      The tags.

      + *

      The tags assigned to the virtual interface group.

      */ Tags?: Tag[]; } @@ -6255,12 +5990,12 @@ export interface NetworkInsightsAccessScopeAnalysis { /** * @public */ -export interface DescribeNetworkInsightsAccessScopeAnalysesResult { +export interface DescribeLocalGatewayVirtualInterfaceGroupsResult { /** * @public - *

      The Network Access Scope analyses.

      + *

      The virtual interface groups.

      */ - NetworkInsightsAccessScopeAnalyses?: NetworkInsightsAccessScopeAnalysis[]; + LocalGatewayVirtualInterfaceGroups?: LocalGatewayVirtualInterfaceGroup[]; /** * @public @@ -6272,237 +6007,319 @@ export interface DescribeNetworkInsightsAccessScopeAnalysesResult { /** * @public */ -export interface DescribeNetworkInsightsAccessScopesRequest { +export interface DescribeLocalGatewayVirtualInterfacesRequest { /** * @public - *

      The IDs of the Network Access Scopes.

      + *

      The IDs of the virtual interfaces.

      */ - NetworkInsightsAccessScopeIds?: string[]; + LocalGatewayVirtualInterfaceIds?: string[]; /** * @public - *

      There are no supported filters.

      + *

      One or more filters.

      + *
        + *
      • + *

        + * local-address - The local address.

        + *
      • + *
      • + *

        + * local-bgp-asn - The Border Gateway Protocol (BGP) Autonomous System Number (ASN) + * of the local gateway.

        + *
      • + *
      • + *

        + * local-gateway-id - The ID of the local gateway.

        + *
      • + *
      • + *

        + * local-gateway-virtual-interface-id - The ID of the virtual interface.

        + *
      • + *
      • + *

        + * owner-id - The ID of the Amazon Web Services account that owns the local gateway virtual interface.

        + *
      • + *
      • + *

        + * peer-address - The peer address.

        + *
      • + *
      • + *

        + * peer-bgp-asn - The peer BGP ASN.

        + *
      • + *
      • + *

        + * vlan - The ID of the VLAN.

        + *
      • + *
      */ Filters?: Filter[]; /** * @public *

      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

      + * To retrieve the remaining results, make another call with the returned nextToken value.

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

      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.

      + *

      The token for the next page of results.

      */ - DryRun?: boolean; + NextToken?: string; /** * @public - *

      The token for the next page of results.

      + *

      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.

      */ - NextToken?: string; + DryRun?: boolean; } /** * @public + *

      Describes a local gateway virtual interface.

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

      The Network Access Scopes.

      - */ - NetworkInsightsAccessScopes?: NetworkInsightsAccessScope[]; - +export interface LocalGatewayVirtualInterface { /** * @public - *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      + *

      The ID of the virtual interface.

      */ - NextToken?: string; -} + LocalGatewayVirtualInterfaceId?: string; -/** - * @public - */ -export interface DescribeNetworkInsightsAnalysesRequest { /** * @public - *

      The ID of the network insights analyses. You must specify either analysis IDs or a path ID.

      + *

      The ID of the local gateway.

      */ - NetworkInsightsAnalysisIds?: string[]; + LocalGatewayId?: string; /** * @public - *

      The ID of the path. You must specify either a path ID or analysis IDs.

      + *

      The ID of the VLAN.

      */ - NetworkInsightsPathId?: string; + Vlan?: number; /** * @public - *

      The time when the network insights analyses started.

      + *

      The local address.

      */ - AnalysisStartTime?: Date; + LocalAddress?: string; /** * @public - *

      The time when the network insights analyses ended.

      + *

      The peer address.

      */ - AnalysisEndTime?: Date; + PeerAddress?: string; /** * @public - *

      The filters. The following are the possible values:

      - *
        - *
      • - *

        path-found - A Boolean value that indicates whether a feasible path is found.

        - *
      • - *
      • - *

        status - The status of the analysis (running | succeeded | failed).

        - *
      • - *
      + *

      The Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the local gateway.

      */ - Filters?: Filter[]; + LocalBgpAsn?: number; /** * @public - *

      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

      + *

      The peer BGP ASN.

      */ - MaxResults?: number; + PeerBgpAsn?: number; /** * @public - *

      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.

      + *

      The ID of the Amazon Web Services account that owns the local gateway virtual interface.

      */ - DryRun?: boolean; + OwnerId?: string; /** * @public - *

      The token for the next page of results.

      + *

      The tags assigned to the virtual interface.

      */ - NextToken?: string; + Tags?: Tag[]; } /** * @public - *

      Describes a network insights analysis.

      */ -export interface NetworkInsightsAnalysis { +export interface DescribeLocalGatewayVirtualInterfacesResult { /** * @public - *

      The ID of the network insights analysis.

      + *

      Information about the virtual interfaces.

      */ - NetworkInsightsAnalysisId?: string; + LocalGatewayVirtualInterfaces?: LocalGatewayVirtualInterface[]; /** * @public - *

      The Amazon Resource Name (ARN) of the network insights analysis.

      + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      */ - NetworkInsightsAnalysisArn?: string; + NextToken?: string; +} +/** + * @public + */ +export interface DescribeLockedSnapshotsRequest { /** * @public - *

      The ID of the path.

      + *

      The filters.

      + *
        + *
      • + *

        + * lock-state - The state of the snapshot lock (compliance-cooloff | + * governance | compliance | expired).

        + *
      • + *
      */ - NetworkInsightsPathId?: string; + Filters?: Filter[]; /** * @public - *

      The member accounts that contain resources that the path can traverse.

      + *

      The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

      */ - AdditionalAccounts?: string[]; + MaxResults?: number; /** * @public - *

      The Amazon Resource Names (ARN) of the resources that the path must traverse.

      + *

      The token returned from a previous paginated request. + * Pagination continues from the end of the items returned by the previous request.

      */ - FilterInArns?: string[]; + NextToken?: string; /** * @public - *

      The time the analysis started.

      + *

      The IDs of the snapshots for which to view the lock status.

      */ - StartDate?: Date; + SnapshotIds?: string[]; /** * @public - *

      The status of the network insights analysis.

      + *

      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.

      */ - Status?: AnalysisStatus; + DryRun?: boolean; +} + +/** + * @public + * @enum + */ +export const LockState = { + compliance: "compliance", + compliance_cooloff: "compliance-cooloff", + expired: "expired", + governance: "governance", +} as const; + +/** + * @public + */ +export type LockState = (typeof LockState)[keyof typeof LockState]; +/** + * @public + *

      Information about a locked snapshot.

      + */ +export interface LockedSnapshotsInfo { /** * @public - *

      The status message, if the status is failed.

      + *

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

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

      The warning message.

      + *

      The ID of the snapshot.

      */ - WarningMessage?: string; + SnapshotId?: string; /** * @public - *

      Indicates whether the destination is reachable from the source.

      + *

      The state of the snapshot lock. Valid states include:

      + *
        + *
      • + *

        + * compliance-cooloff - The snapshot has been locked in + * compliance mode but it is still within the cooling-off period. The snapshot can't be + * deleted, but it can be unlocked and the lock settings can be modified by users with + * appropriate permissions.

        + *
      • + *
      • + *

        + * governance - The snapshot is locked in governance mode. The + * snapshot can't be deleted, but it can be unlocked and the lock settings can be + * modified by users with appropriate permissions.

        + *
      • + *
      • + *

        + * compliance - The snapshot is locked in compliance mode and the + * cooling-off period has expired. The snapshot can't be unlocked or deleted. The lock + * duration can only be increased by users with appropriate permissions.

        + *
      • + *
      • + *

        + * expired - The snapshot was locked in compliance or governance + * mode but the lock duration has expired. The snapshot is not locked and can be deleted.

        + *
      • + *
      */ - NetworkPathFound?: boolean; + LockState?: LockState; /** * @public - *

      The components in the path from source to destination.

      + *

      The period of time for which the snapshot is locked, in days.

      */ - ForwardPathComponents?: PathComponent[]; + LockDuration?: number; /** * @public - *

      The components in the path from destination to source.

      + *

      The compliance mode cooling-off period, in hours.

      */ - ReturnPathComponents?: PathComponent[]; + CoolOffPeriod?: number; /** * @public - *

      The explanations. For more information, see Reachability Analyzer explanation codes.

      + *

      The date and time at which the compliance mode cooling-off period expires, in the UTC time zone + * (YYYY-MM-DDThh:mm:ss.sssZ).

      */ - Explanations?: Explanation[]; + CoolOffPeriodExpiresOn?: Date; /** * @public - *

      Potential intermediate components.

      + *

      The date and time at which the snapshot was locked, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

      */ - AlternatePathHints?: AlternatePathHint[]; + LockCreatedOn?: Date; /** * @public - *

      Potential intermediate accounts.

      + *

      The date and time at which the lock duration started, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

      + *

      If you lock a snapshot that is in the pending state, the lock duration + * starts only once the snapshot enters the completed state.

      */ - SuggestedAccounts?: string[]; + LockDurationStartTime?: Date; /** * @public - *

      The tags.

      + *

      The date and time at which the lock will expire, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

      */ - Tags?: Tag[]; + LockExpiresOn?: Date; } /** * @public */ -export interface DescribeNetworkInsightsAnalysesResult { +export interface DescribeLockedSnapshotsResult { /** * @public - *

      Information about the network insights analyses.

      + *

      Information about the snapshots.

      */ - NetworkInsightsAnalyses?: NetworkInsightsAnalysis[]; + Snapshots?: LockedSnapshotsInfo[]; /** * @public - *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      + *

      The token to include in another request to get the next page of items. + * This value is null when there are no more items to return.

      */ NextToken?: string; } @@ -6510,49 +6327,30 @@ export interface DescribeNetworkInsightsAnalysesResult { /** * @public */ -export interface DescribeNetworkInsightsPathsRequest { +export interface DescribeManagedPrefixListsRequest { /** * @public - *

      The IDs of the paths.

      + *

      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.

      */ - NetworkInsightsPathIds?: string[]; + DryRun?: boolean; /** * @public - *

      The filters. The following are the possible values:

      + *

      One or more filters.

      *
        *
      • - *

        destination - The ID of the resource.

        - *
      • - *
      • - *

        filter-at-source.source-address - The source IPv4 address at the source.

        - *
      • - *
      • - *

        filter-at-source.source-port-range - The source port range at the source.

        - *
      • - *
      • - *

        filter-at-source.destination-address - The destination IPv4 address at the source.

        - *
      • - *
      • - *

        filter-at-source.destination-port-range - The destination port range at the source.

        - *
      • - *
      • - *

        filter-at-destination.source-address - The source IPv4 address at the destination.

        - *
      • - *
      • - *

        filter-at-destination.source-port-range - The source port range at the destination.

        - *
      • - *
      • - *

        filter-at-destination.destination-address - The destination IPv4 address at the destination.

        - *
      • - *
      • - *

        filter-at-destination.destination-port-range - The destination port range at the destination.

        + *

        + * owner-id - The ID of the prefix list owner.

        *
      • *
      • - *

        protocol - The protocol.

        + *

        + * prefix-list-id - The ID of the prefix list.

        *
      • *
      • - *

        source - The ID of the resource.

        + *

        + * prefix-list-name - The name of the prefix list.

        *
      • *
      */ @@ -6561,356 +6359,297 @@ export interface DescribeNetworkInsightsPathsRequest { /** * @public *

      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

      + * To retrieve the remaining results, make another call with the returned nextToken value.

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

      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.

      + *

      The token for the next page of results.

      */ - DryRun?: boolean; + NextToken?: string; /** * @public - *

      The token for the next page of results.

      + *

      One or more prefix list IDs.

      */ - NextToken?: string; + PrefixListIds?: string[]; } /** * @public */ -export interface DescribeNetworkInsightsPathsResult { +export interface DescribeManagedPrefixListsResult { /** * @public - *

      Information about the paths.

      + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      */ - NetworkInsightsPaths?: NetworkInsightsPath[]; + NextToken?: string; /** * @public - *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      + *

      Information about the prefix lists.

      */ - NextToken?: string; + PrefixLists?: ManagedPrefixList[]; } /** * @public - * @enum - */ -export const NetworkInterfaceAttribute = { - attachment: "attachment", - description: "description", - groupSet: "groupSet", - sourceDestCheck: "sourceDestCheck", -} as const; - -/** - * @public - */ -export type NetworkInterfaceAttribute = (typeof NetworkInterfaceAttribute)[keyof typeof NetworkInterfaceAttribute]; - -/** - * @public - *

      Contains the parameters for DescribeNetworkInterfaceAttribute.

      */ -export interface DescribeNetworkInterfaceAttributeRequest { +export interface DescribeMovingAddressesRequest { /** * @public - *

      The attribute of the network interface. This parameter is required.

      + *

      One or more filters.

      + *
        + *
      • + *

        + * moving-status - The status of the Elastic IP address + * (MovingToVpc | RestoringToClassic).

        + *
      • + *
      */ - Attribute?: NetworkInterfaceAttribute; + Filters?: Filter[]; /** * @public *

      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.

      + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

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

      The ID of the network interface.

      + *

      The maximum number of results to return for the request in a single page. The remaining + * results of the initial request can be seen by sending another request with the returned + * NextToken value. This value can be between 5 and 1000; if + * MaxResults is given a value outside of this range, an error is returned.

      + *

      Default: If no value is provided, the default is 1000.

      */ - NetworkInterfaceId: string | undefined; + MaxResults?: number; + + /** + * @public + *

      The token for the next page of results.

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

      One or more Elastic IP addresses.

      + */ + PublicIps?: string[]; } /** * @public - *

      Contains the output of DescribeNetworkInterfaceAttribute.

      + * @enum */ -export interface DescribeNetworkInterfaceAttributeResult { - /** - * @public - *

      The attachment (if any) of the network interface.

      - */ - Attachment?: NetworkInterfaceAttachment; +export const MoveStatus = { + movingToVpc: "movingToVpc", + restoringToClassic: "restoringToClassic", +} as const; + +/** + * @public + */ +export type MoveStatus = (typeof MoveStatus)[keyof typeof MoveStatus]; +/** + * @public + * + *

      This action is deprecated.

      + *
      + *

      Describes the status of a moving Elastic IP address.

      + */ +export interface MovingAddressStatus { /** * @public - *

      The description of the network interface.

      + *

      The status of the Elastic IP address that's being moved or restored.

      */ - Description?: AttributeValue; + MoveStatus?: MoveStatus; /** * @public - *

      The security groups associated with the network interface.

      + *

      The Elastic IP address.

      */ - Groups?: GroupIdentifier[]; + PublicIp?: string; +} +/** + * @public + */ +export interface DescribeMovingAddressesResult { /** * @public - *

      The ID of the network interface.

      + *

      The status for each Elastic IP address.

      */ - NetworkInterfaceId?: string; + MovingAddressStatuses?: MovingAddressStatus[]; /** * @public - *

      Indicates whether source/destination checking is enabled.

      + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      */ - SourceDestCheck?: AttributeBooleanValue; + NextToken?: string; } /** * @public - *

      Contains the parameters for DescribeNetworkInterfacePermissions.

      */ -export interface DescribeNetworkInterfacePermissionsRequest { +export interface DescribeNatGatewaysRequest { /** * @public - *

      The network interface permission IDs.

      + *

      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.

      */ - NetworkInterfacePermissionIds?: string[]; + DryRun?: boolean; /** * @public - *

      One or more filters.

      + *

      The filters.

      *
        *
      • *

        - * network-interface-permission.network-interface-permission-id - The ID of the - * permission.

        + * nat-gateway-id - The ID of the NAT gateway.

        *
      • *
      • *

        - * network-interface-permission.network-interface-id - The ID of - * the network interface.

        + * state - The state of the NAT gateway (pending | + * failed | available | deleting | deleted).

        *
      • *
      • *

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

        + * subnet-id - The ID of the subnet in which the NAT gateway resides.

        *
      • *
      • *

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

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

        *
      • *
      • *

        - * network-interface-permission.permission - The type of - * permission (INSTANCE-ATTACH | - * EIP-ASSOCIATE).

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

        + *
      • + *
      • + *

        + * vpc-id - The ID of the VPC in which the NAT gateway resides.

        *
      • *
      */ - Filters?: Filter[]; + Filter?: Filter[]; + + /** + * @public + *

      The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

      + */ + MaxResults?: number; /** * @public - *

      The token returned from a previous paginated request. - * Pagination continues from the end of the items returned by the previous request.

      + *

      The IDs of the NAT gateways.

      */ - NextToken?: string; + NatGatewayIds?: string[]; /** * @public - *

      The maximum number of items to return for this request. To get the next page of items, - * make another request with the token returned in the output. If this parameter is not specified, - * up to 50 results are returned by default. For more information, see - * Pagination.

      + *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      */ - MaxResults?: number; + NextToken?: string; } /** * @public - *

      Contains the output for DescribeNetworkInterfacePermissions.

      */ -export interface DescribeNetworkInterfacePermissionsResult { +export interface DescribeNatGatewaysResult { /** * @public - *

      The network interface permissions.

      + *

      Information about the NAT gateways.

      */ - NetworkInterfacePermissions?: NetworkInterfacePermission[]; + NatGateways?: NatGateway[]; /** * @public - *

      The token to include in another request to get the next page of items. - * This value is null when there are no more items to return.

      + *

      The token to include in another request to get the next page of items. This value is null when there are no more items to return.

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

      Contains the parameters for DescribeNetworkInterfaces.

      */ -export interface DescribeNetworkInterfacesRequest { +export interface DescribeNetworkAclsRequest { /** * @public - *

      One or more filters.

      + *

      The filters.

      *
        *
      • *

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

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

        - * addresses.private-ip-address - The private IPv4 addresses - * associated with the network interface.

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

        - * attachment.attachment-id - The ID of the interface attachment.

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

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

        + * association.association-id - The ID of an association ID for the ACL.

        *
      • *
      • *

        - * availability-zone - The Availability Zone of the network interface.

        + * association.network-acl-id - The ID of the network ACL involved in the association.

        *
      • *
      • *

        - * description - The description of the network interface.

        + * association.subnet-id - The ID of the subnet involved in the association.

        *
      • *
      • *

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

        + * default - Indicates whether the ACL is the default network ACL for the VPC.

        *
      • *
      • *

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

        + * entry.cidr - The IPv4 CIDR range specified in the entry.

        *
      • *
      • *

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

        + * entry.icmp.code - The ICMP code specified in the entry, if any.

        *
      • *
      • *

        - * mac-address - The MAC address of the network interface.

        + * entry.icmp.type - The ICMP type specified in the entry, if any.

        *
      • *
      • *

        - * network-interface-id - The ID of the network interface.

        + * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.

        *
      • *
      • *

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

        + * entry.port-range.from - The start of the port range specified in the entry.

        *
      • *
      • *

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

        + * entry.port-range.to - The end of the port range specified in the entry.

        *
      • *
      • *

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

        + * entry.protocol - The protocol specified in the entry (tcp | udp | icmp or a protocol number).

        *
      • *
      • *

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

        + * entry.rule-action - Allows or denies the matching traffic (allow | deny).

        *
      • *
      • *

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

        + * entry.egress - A Boolean that indicates the type of rule. Specify true + * for egress rules, or false for ingress rules.

        *
      • *
      • *

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

        + * entry.rule-number - The number of an entry (in other words, rule) in + * the set of ACL entries.

        *
      • *
      • *

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

        + * network-acl-id - The ID of the network ACL.

        *
      • *
      • *

        - * subnet-id - The ID of the subnet for the network interface.

        + * owner-id - The ID of the Amazon Web Services account that owns the network ACL.

        *
      • *
      • *

        @@ -6923,7 +6662,7 @@ export interface DescribeNetworkInterfacesRequest { *

      • *
      • *

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

        + * vpc-id - The ID of the VPC for the network ACL.

        *
      • *
      */ @@ -6932,299 +6671,221 @@ export interface DescribeNetworkInterfacesRequest { /** * @public *

      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.

      + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

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

      The network interface IDs.

      - *

      Default: Describes all your network interfaces.

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

      The token returned from a previous paginated request. - * Pagination continues from the end of the items returned by the previous request.

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

      The maximum number of items to return for this request. To get the next page of items, - * make another request with the token returned in the output. You cannot specify this - * parameter and the network interface IDs parameter in the same request. For more information, - * see Pagination.

      - */ - MaxResults?: number; -} - -/** - * @public - */ -export interface DescribeNetworkInterfacesResult { - /** - * @public - *

      Information about one or more network interfaces.

      - */ - NetworkInterfaces?: NetworkInterface[]; - - /** - * @public - *

      The token to include in another request to get the next page of items. - * This value is null when there are no more items to return.

      - */ - NextToken?: string; -} - -/** - * @public - */ -export interface DescribePlacementGroupsRequest { - /** - * @public - *

      The filters.

      - *
        - *
      • - *

        - * group-name - The name of the placement group.

        - *
      • - *
      • - *

        - * group-arn - The Amazon Resource Name (ARN) of the placement - * group.

        - *
      • - *
      • - *

        - * spread-level - The spread level for the placement group - * (host | rack).

        - *
      • - *
      • - *

        - * state - The state of the placement group (pending | - * available | deleting | - * deleted).

        - *
      • - *
      • - *

        - * strategy - The strategy of the placement group - * (cluster | spread | - * partition).

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

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

        - *
      • - *
      - */ - Filters?: Filter[]; - - /** - * @public - *

      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.

      + *

      The IDs of the network ACLs.

      + *

      Default: Describes all your network ACLs.

      */ - DryRun?: boolean; + NetworkAclIds?: string[]; /** - * @public - *

      The names of the placement groups.

      - *

      Default: Describes all your placement groups, or only those otherwise - * specified.

      + * @public + *

      The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

      */ - GroupNames?: string[]; + NextToken?: string; /** * @public - *

      The IDs of the placement groups.

      + *

      The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

      */ - GroupIds?: string[]; + MaxResults?: number; } /** * @public */ -export interface DescribePlacementGroupsResult { +export interface DescribeNetworkAclsResult { /** * @public - *

      Information about the placement groups.

      + *

      Information about one or more network ACLs.

      */ - PlacementGroups?: PlacementGroup[]; + NetworkAcls?: NetworkAcl[]; + + /** + * @public + *

      The token to include in another request to get the next page of items. This value is null when there are no more items to return.

      + */ + NextToken?: string; } /** * @public */ -export interface DescribePrefixListsRequest { +export interface DescribeNetworkInsightsAccessScopeAnalysesRequest { /** * @public - *

      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.

      + *

      The IDs of the Network Access Scope analyses.

      */ - DryRun?: boolean; + NetworkInsightsAccessScopeAnalysisIds?: string[]; /** * @public - *

      One or more filters.

      - *
        - *
      • - *

        - * prefix-list-id: The ID of a prefix list.

        - *
      • - *
      • - *

        - * prefix-list-name: The name of a prefix list.

        - *
      • - *
      + *

      The ID of the Network Access Scope.

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

      Filters the results based on the start time. The analysis must have started on or after this time.

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

      Filters the results based on the start time. The analysis must have started on or before this time.

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

      There are no supported filters.

      */ Filters?: Filter[]; /** * @public *

      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

      + * To retrieve the remaining results, make another call with the returned nextToken value.

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

      The token for the next page of results.

      + *

      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.

      */ - NextToken?: string; + DryRun?: boolean; /** * @public - *

      One or more prefix list IDs.

      + *

      The token for the next page of results.

      */ - PrefixListIds?: string[]; + NextToken?: string; } /** * @public - *

      Describes prefixes for Amazon Web Services services.

      + * @enum */ -export interface PrefixList { +export const FindingsFound = { + false: "false", + true: "true", + unknown: "unknown", +} as const; + +/** + * @public + */ +export type FindingsFound = (typeof FindingsFound)[keyof typeof FindingsFound]; + +/** + * @public + * @enum + */ +export const AnalysisStatus = { + failed: "failed", + running: "running", + succeeded: "succeeded", +} as const; + +/** + * @public + */ +export type AnalysisStatus = (typeof AnalysisStatus)[keyof typeof AnalysisStatus]; + +/** + * @public + *

      Describes a Network Access Scope analysis.

      + */ +export interface NetworkInsightsAccessScopeAnalysis { /** * @public - *

      The IP address range of the Amazon Web Service.

      + *

      The ID of the Network Access Scope analysis.

      */ - Cidrs?: string[]; + NetworkInsightsAccessScopeAnalysisId?: string; /** * @public - *

      The ID of the prefix.

      + *

      The Amazon Resource Name (ARN) of the Network Access Scope analysis.

      */ - PrefixListId?: string; + NetworkInsightsAccessScopeAnalysisArn?: string; /** * @public - *

      The name of the prefix.

      + *

      The ID of the Network Access Scope.

      */ - PrefixListName?: string; -} + NetworkInsightsAccessScopeId?: string; -/** - * @public - */ -export interface DescribePrefixListsResult { /** * @public - *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      + *

      The status.

      */ - NextToken?: string; + Status?: AnalysisStatus; /** * @public - *

      All available prefix lists.

      + *

      The status message.

      */ - PrefixLists?: PrefixList[]; -} + StatusMessage?: string; -/** - * @public - */ -export interface DescribePrincipalIdFormatRequest { /** * @public - *

      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.

      + *

      The warning message.

      */ - DryRun?: boolean; + WarningMessage?: string; /** * @public - *

      The type of resource: bundle | - * conversion-task | customer-gateway | dhcp-options | - * elastic-ip-allocation | elastic-ip-association | - * export-task | flow-log | image | - * import-task | instance | internet-gateway | - * network-acl | network-acl-association | - * network-interface | network-interface-attachment | - * prefix-list | reservation | route-table | - * route-table-association | security-group | - * snapshot | subnet | - * subnet-cidr-block-association | volume | vpc - * | vpc-cidr-block-association | vpc-endpoint | - * vpc-peering-connection | vpn-connection | vpn-gateway - *

      + *

      The analysis start date.

      */ - Resources?: string[]; + StartDate?: Date; /** * @public - *

      The maximum number of results to return in a single call. To retrieve the remaining - * results, make another call with the returned NextToken value.

      + *

      The analysis end date.

      */ - MaxResults?: number; + EndDate?: Date; /** * @public - *

      The token to request the next page of results.

      + *

      Indicates whether there are findings.

      */ - NextToken?: string; -} + FindingsFound?: FindingsFound; -/** - * @public - *

      PrincipalIdFormat description

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

      PrincipalIdFormatARN description

      + *

      The number of network interfaces analyzed.

      */ - Arn?: string; + AnalyzedEniCount?: number; /** * @public - *

      PrincipalIdFormatStatuses description

      + *

      The tags.

      */ - Statuses?: IdFormat[]; + Tags?: Tag[]; } /** * @public */ -export interface DescribePrincipalIdFormatResult { +export interface DescribeNetworkInsightsAccessScopeAnalysesResult { /** * @public - *

      Information about the ID format settings for the ARN.

      + *

      The Network Access Scope analyses.

      */ - Principals?: PrincipalIdFormat[]; + NetworkInsightsAccessScopeAnalyses?: NetworkInsightsAccessScopeAnalysis[]; /** * @public - *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      */ NextToken?: string; } @@ -7232,386 +6893,287 @@ export interface DescribePrincipalIdFormatResult { /** * @public */ -export interface DescribePublicIpv4PoolsRequest { +export interface DescribeNetworkInsightsAccessScopesRequest { /** * @public - *

      The IDs of the address pools.

      + *

      The IDs of the Network Access Scopes.

      */ - PoolIds?: string[]; + NetworkInsightsAccessScopeIds?: string[]; /** * @public - *

      The token for the next page of results.

      + *

      There are no supported filters.

      */ - NextToken?: string; + Filters?: Filter[]; /** * @public *

      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

      + * To retrieve the remaining results, make another call with the returned nextToken value.

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

      One or more filters.

      - *
        - *
      • - *

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

        - *
      • - *
      • - *

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

        - *
      • - *
      - */ - Filters?: Filter[]; -} - -/** - * @public - *

      Describes an address range of an IPv4 address pool.

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

      The first IP address in the range.

      + *

      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.

      */ - FirstAddress?: string; + DryRun?: boolean; /** * @public - *

      The last IP address in the range.

      + *

      The token for the next page of results.

      */ - LastAddress?: string; + NextToken?: string; +} +/** + * @public + */ +export interface DescribeNetworkInsightsAccessScopesResult { /** * @public - *

      The number of addresses in the range.

      + *

      The Network Access Scopes.

      */ - AddressCount?: number; + NetworkInsightsAccessScopes?: NetworkInsightsAccessScope[]; /** * @public - *

      The number of available addresses in the range.

      + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      */ - AvailableAddressCount?: number; + NextToken?: string; } /** * @public - *

      Describes an IPv4 address pool.

      */ -export interface PublicIpv4Pool { +export interface DescribeNetworkInsightsAnalysesRequest { + /** + * @public + *

      The ID of the network insights analyses. You must specify either analysis IDs or a path ID.

      + */ + NetworkInsightsAnalysisIds?: string[]; + /** * @public - *

      The ID of the address pool.

      + *

      The ID of the path. You must specify either a path ID or analysis IDs.

      */ - PoolId?: string; + NetworkInsightsPathId?: string; /** * @public - *

      A description of the address pool.

      + *

      The time when the network insights analyses started.

      */ - Description?: string; + AnalysisStartTime?: Date; /** * @public - *

      The address ranges.

      + *

      The time when the network insights analyses ended.

      */ - PoolAddressRanges?: PublicIpv4PoolRange[]; + AnalysisEndTime?: Date; /** * @public - *

      The total number of addresses.

      + *

      The filters. The following are the possible values:

      + *
        + *
      • + *

        path-found - A Boolean value that indicates whether a feasible path is found.

        + *
      • + *
      • + *

        status - The status of the analysis (running | succeeded | failed).

        + *
      • + *
      */ - TotalAddressCount?: number; + Filters?: Filter[]; /** * @public - *

      The total number of available addresses.

      + *

      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

      */ - TotalAvailableAddressCount?: number; + MaxResults?: number; /** * @public - *

      The name of the location from which the address pool is advertised. - * A network border group is a unique set of Availability Zones or Local Zones - * from where Amazon Web Services advertises public IP addresses.

      + *

      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.

      */ - NetworkBorderGroup?: string; + DryRun?: boolean; /** * @public - *

      Any tags for the address pool.

      + *

      The token for the next page of results.

      */ - Tags?: Tag[]; + NextToken?: string; } /** * @public + *

      Describes a network insights analysis.

      */ -export interface DescribePublicIpv4PoolsResult { +export interface NetworkInsightsAnalysis { /** * @public - *

      Information about the address pools.

      + *

      The ID of the network insights analysis.

      */ - PublicIpv4Pools?: PublicIpv4Pool[]; + NetworkInsightsAnalysisId?: string; /** * @public - *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      + *

      The Amazon Resource Name (ARN) of the network insights analysis.

      */ - NextToken?: string; -} + NetworkInsightsAnalysisArn?: string; -/** - * @public - */ -export interface DescribeRegionsRequest { /** * @public - *

      The filters.

      - *
        - *
      • - *

        - * endpoint - The endpoint of the Region (for example, ec2.us-east-1.amazonaws.com).

        - *
      • - *
      • - *

        - * opt-in-status - The opt-in status of the Region (opt-in-not-required | opted-in | - * not-opted-in).

        - *
      • - *
      • - *

        - * region-name - The name of the Region (for example, us-east-1).

        - *
      • - *
      + *

      The ID of the path.

      */ - Filters?: Filter[]; + NetworkInsightsPathId?: string; /** * @public - *

      The names of the Regions. You can specify any Regions, whether they are enabled and disabled for your account.

      + *

      The member accounts that contain resources that the path can traverse.

      */ - RegionNames?: string[]; + AdditionalAccounts?: string[]; /** * @public - *

      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.

      + *

      The Amazon Resource Names (ARN) of the resources that the path must traverse.

      */ - DryRun?: boolean; + FilterInArns?: string[]; /** * @public - *

      Indicates whether to display all Regions, including Regions that are disabled for your account.

      + *

      The time the analysis started.

      */ - AllRegions?: boolean; -} + StartDate?: Date; -/** - * @public - *

      Describes a Region.

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

      The Region service endpoint.

      + *

      The status of the network insights analysis.

      */ - Endpoint?: string; + Status?: AnalysisStatus; /** * @public - *

      The name of the Region.

      + *

      The status message, if the status is failed.

      */ - RegionName?: string; + StatusMessage?: string; /** * @public - *

      The Region opt-in status. The possible values are opt-in-not-required, opted-in, and - * not-opted-in.

      + *

      The warning message.

      */ - OptInStatus?: string; -} + WarningMessage?: string; -/** - * @public - */ -export interface DescribeRegionsResult { /** * @public - *

      Information about the Regions.

      + *

      Indicates whether the destination is reachable from the source.

      */ - Regions?: Region[]; -} + NetworkPathFound?: boolean; -/** - * @public - */ -export interface DescribeReplaceRootVolumeTasksRequest { /** * @public - *

      The ID of the root volume replacement task to view.

      + *

      The components in the path from source to destination.

      */ - ReplaceRootVolumeTaskIds?: string[]; + ForwardPathComponents?: PathComponent[]; /** * @public - *

      Filter to use:

      - *
        - *
      • - *

        - * instance-id - The ID of the instance for which the root volume replacement task was created.

        - *
      • - *
      + *

      The components in the path from destination to source.

      */ - Filters?: Filter[]; + ReturnPathComponents?: PathComponent[]; /** * @public - *

      The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

      + *

      The explanations. For more information, see Reachability Analyzer explanation codes.

      */ - MaxResults?: number; + Explanations?: Explanation[]; /** * @public - *

      The token returned from a previous paginated request. - * Pagination continues from the end of the items returned by the previous request.

      + *

      Potential intermediate components.

      */ - NextToken?: string; + AlternatePathHints?: AlternatePathHint[]; /** * @public - *

      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.

      + *

      Potential intermediate accounts.

      */ - DryRun?: boolean; + SuggestedAccounts?: string[]; + + /** + * @public + *

      The tags.

      + */ + Tags?: Tag[]; } /** * @public */ -export interface DescribeReplaceRootVolumeTasksResult { +export interface DescribeNetworkInsightsAnalysesResult { /** * @public - *

      Information about the root volume replacement task.

      + *

      Information about the network insights analyses.

      */ - ReplaceRootVolumeTasks?: ReplaceRootVolumeTask[]; + NetworkInsightsAnalyses?: NetworkInsightsAnalysis[]; /** * @public - *

      The token to include in another request to get the next page of items. - * This value is null when there are no more items to return.

      + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      */ NextToken?: string; } -/** - * @public - * @enum - */ -export const OfferingClassType = { - CONVERTIBLE: "convertible", - STANDARD: "standard", -} as const; - -/** - * @public - */ -export type OfferingClassType = (typeof OfferingClassType)[keyof typeof OfferingClassType]; - -/** - * @public - * @enum - */ -export const OfferingTypeValues = { - All_Upfront: "All Upfront", - Heavy_Utilization: "Heavy Utilization", - Light_Utilization: "Light Utilization", - Medium_Utilization: "Medium Utilization", - No_Upfront: "No Upfront", - Partial_Upfront: "Partial Upfront", -} as const; - /** * @public */ -export type OfferingTypeValues = (typeof OfferingTypeValues)[keyof typeof OfferingTypeValues]; +export interface DescribeNetworkInsightsPathsRequest { + /** + * @public + *

      The IDs of the paths.

      + */ + NetworkInsightsPathIds?: string[]; -/** - * @public - *

      Contains the parameters for DescribeReservedInstances.

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

      One or more filters.

      + *

      The filters. The following are the possible values:

      *
        *
      • - *

        - * availability-zone - The Availability Zone where the Reserved Instance can be used.

        - *
      • - *
      • - *

        - * duration - The duration of the Reserved Instance (one year or three years), in seconds (31536000 | 94608000).

        - *
      • - *
      • - *

        - * end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).

        + *

        destination - The ID of the resource.

        *
      • *
      • - *

        - * fixed-price - The purchase price of the Reserved Instance (for example, 9800.0).

        + *

        filter-at-source.source-address - The source IPv4 address at the source.

        *
      • *
      • - *

        - * instance-type - The instance type that is covered by the reservation.

        + *

        filter-at-source.source-port-range - The source port range at the source.

        *
      • *
      • - *

        - * scope - The scope of the Reserved Instance (Region or Availability Zone).

        + *

        filter-at-source.destination-address - The destination IPv4 address at the source.

        *
      • *
      • - *

        - * product-description - The Reserved Instance product platform description - * (Linux/UNIX | Linux with SQL Server Standard | - * Linux with SQL Server Web | Linux with SQL Server Enterprise | - * SUSE Linux | - * Red Hat Enterprise Linux | Red Hat Enterprise Linux with HA | - * Windows | Windows with SQL Server Standard | - * Windows with SQL Server Web | Windows with SQL Server Enterprise).

        + *

        filter-at-source.destination-port-range - The destination port range at the source.

        *
      • *
      • - *

        - * reserved-instances-id - The ID of the Reserved Instance.

        + *

        filter-at-destination.source-address - The source IPv4 address at the destination.

        *
      • *
      • - *

        - * start - The time at which the Reserved Instance purchase request was placed (for example, 2014-08-07T11:54:42.000Z).

        + *

        filter-at-destination.source-port-range - The source port range at the destination.

        *
      • *
      • - *

        - * state - The state of the Reserved Instance (payment-pending | active | payment-failed | retired).

        + *

        filter-at-destination.destination-address - The destination IPv4 address at the destination.

        *
      • *
      • - *

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

        + *

        filter-at-destination.destination-port-range - The destination port range at the destination.

        *
      • *
      • - *

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

        + *

        protocol - The protocol.

        *
      • *
      • - *

        - * usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84).

        + *

        source - The ID of the resource.

        *
      • *
      */ @@ -7619,265 +7181,370 @@ export interface DescribeReservedInstancesRequest { /** * @public - *

      Describes whether the Reserved Instance is Standard or Convertible.

      - */ - OfferingClass?: OfferingClassType; - - /** - * @public - *

      One or more Reserved Instance IDs.

      - *

      Default: Describes all your Reserved Instances, or only those otherwise specified.

      + *

      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

      */ - ReservedInstancesIds?: string[]; + MaxResults?: number; /** * @public *

      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.

      + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

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

      The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API - * version, you only have access to the Medium Utilization Reserved Instance - * offering type.

      + *

      The token for the next page of results.

      */ - OfferingType?: OfferingTypeValues; + NextToken?: string; } /** * @public - * @enum - */ -export const RIProductDescription = { - Linux_UNIX: "Linux/UNIX", - Linux_UNIX_Amazon_VPC_: "Linux/UNIX (Amazon VPC)", - Windows: "Windows", - Windows_Amazon_VPC_: "Windows (Amazon VPC)", -} as const; - -/** - * @public - */ -export type RIProductDescription = (typeof RIProductDescription)[keyof typeof RIProductDescription]; - -/** - * @public - * @enum - */ -export const RecurringChargeFrequency = { - Hourly: "Hourly", -} as const; - -/** - * @public - */ -export type RecurringChargeFrequency = (typeof RecurringChargeFrequency)[keyof typeof RecurringChargeFrequency]; - -/** - * @public - *

      Describes a recurring charge.

      */ -export interface RecurringCharge { +export interface DescribeNetworkInsightsPathsResult { /** * @public - *

      The amount of the recurring charge.

      + *

      Information about the paths.

      */ - Amount?: number; + NetworkInsightsPaths?: NetworkInsightsPath[]; /** * @public - *

      The frequency of the recurring charge.

      + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      */ - Frequency?: RecurringChargeFrequency; + NextToken?: string; } /** * @public * @enum */ -export const Scope = { - AVAILABILITY_ZONE: "Availability Zone", - REGIONAL: "Region", -} as const; - -/** - * @public - */ -export type Scope = (typeof Scope)[keyof typeof Scope]; - -/** - * @public - * @enum - */ -export const ReservedInstanceState = { - active: "active", - payment_failed: "payment-failed", - payment_pending: "payment-pending", - queued: "queued", - queued_deleted: "queued-deleted", - retired: "retired", +export const NetworkInterfaceAttribute = { + attachment: "attachment", + description: "description", + groupSet: "groupSet", + sourceDestCheck: "sourceDestCheck", } as const; /** * @public */ -export type ReservedInstanceState = (typeof ReservedInstanceState)[keyof typeof ReservedInstanceState]; +export type NetworkInterfaceAttribute = (typeof NetworkInterfaceAttribute)[keyof typeof NetworkInterfaceAttribute]; /** * @public - *

      Describes a Reserved Instance.

      + *

      Contains the parameters for DescribeNetworkInterfaceAttribute.

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

      The Availability Zone in which the Reserved Instance can be used.

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

      The duration of the Reserved Instance, in seconds.

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

      The time when the Reserved Instance expires.

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

      The purchase price of the Reserved Instance.

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

      The number of reservations purchased.

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

      The instance type on which the Reserved Instance can be used.

      - */ - InstanceType?: _InstanceType; - +export interface DescribeNetworkInterfaceAttributeRequest { /** * @public - *

      The Reserved Instance product platform description.

      + *

      The attribute of the network interface. This parameter is required.

      */ - ProductDescription?: RIProductDescription; + Attribute?: NetworkInterfaceAttribute; /** * @public - *

      The ID of the Reserved Instance.

      + *

      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.

      */ - ReservedInstancesId?: string; + DryRun?: boolean; /** * @public - *

      The date and time the Reserved Instance started.

      + *

      The ID of the network interface.

      */ - Start?: Date; + NetworkInterfaceId: string | undefined; +} +/** + * @public + *

      Contains the output of DescribeNetworkInterfaceAttribute.

      + */ +export interface DescribeNetworkInterfaceAttributeResult { /** * @public - *

      The state of the Reserved Instance purchase.

      + *

      The attachment (if any) of the network interface.

      */ - State?: ReservedInstanceState; + Attachment?: NetworkInterfaceAttachment; /** * @public - *

      The usage price of the Reserved Instance, per hour.

      + *

      The description of the network interface.

      */ - UsagePrice?: number; + Description?: AttributeValue; /** * @public - *

      The currency of the Reserved Instance. It's specified using ISO 4217 standard currency codes. - * At this time, the only supported currency is USD.

      + *

      The security groups associated with the network interface.

      */ - CurrencyCode?: CurrencyCodeValues; + Groups?: GroupIdentifier[]; /** * @public - *

      The tenancy of the instance.

      + *

      The ID of the network interface.

      */ - InstanceTenancy?: Tenancy; + NetworkInterfaceId?: string; /** * @public - *

      The offering class of the Reserved Instance.

      + *

      Indicates whether source/destination checking is enabled.

      */ - OfferingClass?: OfferingClassType; + SourceDestCheck?: AttributeBooleanValue; +} +/** + * @public + *

      Contains the parameters for DescribeNetworkInterfacePermissions.

      + */ +export interface DescribeNetworkInterfacePermissionsRequest { /** * @public - *

      The Reserved Instance offering type.

      + *

      The network interface permission IDs.

      */ - OfferingType?: OfferingTypeValues; + NetworkInterfacePermissionIds?: string[]; /** * @public - *

      The recurring charge tag assigned to the resource.

      + *

      One or more filters.

      + *
        + *
      • + *

        + * network-interface-permission.network-interface-permission-id - The ID of the + * permission.

        + *
      • + *
      • + *

        + * network-interface-permission.network-interface-id - The ID of + * the network interface.

        + *
      • + *
      • + *

        + * network-interface-permission.aws-account-id - The Amazon Web Services account ID.

        + *
      • + *
      • + *

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

        + *
      • + *
      • + *

        + * network-interface-permission.permission - The type of + * permission (INSTANCE-ATTACH | + * EIP-ASSOCIATE).

        + *
      • + *
      */ - RecurringCharges?: RecurringCharge[]; + Filters?: Filter[]; /** * @public - *

      The scope of the Reserved Instance.

      + *

      The token returned from a previous paginated request. + * Pagination continues from the end of the items returned by the previous request.

      */ - Scope?: Scope; + NextToken?: string; /** * @public - *

      Any tags assigned to the resource.

      + *

      The maximum number of items to return for this request. To get the next page of items, + * make another request with the token returned in the output. If this parameter is not specified, + * up to 50 results are returned by default. For more information, see + * Pagination.

      */ - Tags?: Tag[]; + MaxResults?: number; } /** * @public - *

      Contains the output for DescribeReservedInstances.

      + *

      Contains the output for DescribeNetworkInterfacePermissions.

      */ -export interface DescribeReservedInstancesResult { +export interface DescribeNetworkInterfacePermissionsResult { /** * @public - *

      A list of Reserved Instances.

      + *

      The network interface permissions.

      */ - ReservedInstances?: ReservedInstances[]; + NetworkInterfacePermissions?: NetworkInterfacePermission[]; + + /** + * @public + *

      The token to include in another request to get the next page of items. + * This value is null when there are no more items to return.

      + */ + NextToken?: string; } /** * @public - *

      Contains the parameters for DescribeReservedInstancesListings.

      + *

      Contains the parameters for DescribeNetworkInterfaces.

      */ -export interface DescribeReservedInstancesListingsRequest { +export interface DescribeNetworkInterfacesRequest { /** * @public *

      One or more filters.

      *
        *
      • *

        - * reserved-instances-id - The ID of the Reserved Instances.

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

        + *
      • + *
      • + *

        + * association.association-id - The association ID returned when the + * network interface was associated with an IPv4 address.

        + *
      • + *
      • + *

        + * addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

        + *
      • + *
      • + *

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

        *
      • *
      • *

        - * reserved-instances-listing-id - The ID of the Reserved Instances listing.

        + * addresses.primary - Whether the private IPv4 address is the primary + * IP address associated with the network interface.

        *
      • *
      • *

        - * status - The status of the Reserved Instance listing (pending | active | - * cancelled | closed).

        + * addresses.private-ip-address - The private IPv4 addresses + * associated with the network interface.

        *
      • *
      • *

        - * status-message - The reason for the status.

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

        + *
      • + *
      • + *

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

        + *
      • + *
      • + *

        + * association.public-dns-name - The public DNS name for the network + * interface (IPv4).

        + *
      • + *
      • + *

        + * attachment.attach-time - The time that the network interface was attached to an instance.

        + *
      • + *
      • + *

        + * attachment.attachment-id - The ID of the interface attachment.

        + *
      • + *
      • + *

        + * attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

        + *
      • + *
      • + *

        + * attachment.device-index - The device index to which the network interface is attached.

        + *
      • + *
      • + *

        + * attachment.instance-id - The ID of the instance to which the network interface is attached.

        + *
      • + *
      • + *

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

        + *
      • + *
      • + *

        + * attachment.status - The status of the attachment (attaching | attached | detaching | detached).

        + *
      • + *
      • + *

        + * availability-zone - The Availability Zone of the network interface.

        + *
      • + *
      • + *

        + * description - The description of the network interface.

        + *
      • + *
      • + *

        + * group-id - The ID of a security group associated with the network interface.

        + *
      • + *
      • + *

        + * ipv6-addresses.ipv6-address - An IPv6 address associated with + * the network interface.

        + *
      • + *
      • + *

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

        + *
      • + *
      • + *

        + * mac-address - The MAC address of the network interface.

        + *
      • + *
      • + *

        + * network-interface-id - The ID of the network interface.

        + *
      • + *
      • + *

        + * owner-id - The Amazon Web Services account ID of the network interface owner.

        + *
      • + *
      • + *

        + * private-dns-name - The private DNS name of the network interface (IPv4).

        + *
      • + *
      • + *

        + * private-ip-address - The private IPv4 address or addresses of the + * network interface.

        + *
      • + *
      • + *

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

        + *
      • + *
      • + *

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

        + *
      • + *
      • + *

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

        + *
      • + *
      • + *

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

        + *
      • + *
      • + *

        + * subnet-id - The ID of the subnet for the network interface.

        + *
      • + *
      • + *

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

        + *
      • + *
      • + *

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

        + *
      • + *
      • + *

        + * vpc-id - The ID of the VPC for the network interface.

        *
      • *
      */ @@ -7885,86 +7552,96 @@ export interface DescribeReservedInstancesListingsRequest { /** * @public - *

      One or more Reserved Instance IDs.

      + *

      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.

      */ - ReservedInstancesId?: string; + DryRun?: boolean; /** * @public - *

      One or more Reserved Instance listing IDs.

      + *

      The network interface IDs.

      + *

      Default: Describes all your network interfaces.

      */ - ReservedInstancesListingId?: string; + NetworkInterfaceIds?: string[]; + + /** + * @public + *

      The token returned from a previous paginated request. + * Pagination continues from the end of the items returned by the previous request.

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

      The maximum number of items to return for this request. To get the next page of items, + * make another request with the token returned in the output. You cannot specify this + * parameter and the network interface IDs parameter in the same request. For more information, + * see Pagination.

      + */ + MaxResults?: number; } /** * @public - *

      Contains the output of DescribeReservedInstancesListings.

      */ -export interface DescribeReservedInstancesListingsResult { +export interface DescribeNetworkInterfacesResult { /** * @public - *

      Information about the Reserved Instance listing.

      + *

      Information about one or more network interfaces.

      */ - ReservedInstancesListings?: ReservedInstancesListing[]; + NetworkInterfaces?: NetworkInterface[]; + + /** + * @public + *

      The token to include in another request to get the next page of items. + * This value is null when there are no more items to return.

      + */ + NextToken?: string; } /** * @public - *

      Contains the parameters for DescribeReservedInstancesModifications.

      */ -export interface DescribeReservedInstancesModificationsRequest { +export interface DescribePlacementGroupsRequest { /** * @public - *

      One or more filters.

      + *

      The filters.

      *
        *
      • *

        - * client-token - The idempotency token for the modification request.

        - *
      • - *
      • - *

        - * create-date - The time when the modification request was created.

        - *
      • - *
      • - *

        - * effective-date - The time when the modification becomes effective.

        - *
      • - *
      • - *

        - * modification-result.reserved-instances-id - The ID for the Reserved Instances created as part of the modification request. This ID is only available when the status of the modification is fulfilled.

        - *
      • - *
      • - *

        - * modification-result.target-configuration.availability-zone - The Availability Zone for the new Reserved Instances.

        - *
      • - *
      • - *

        - * modification-result.target-configuration.instance-count - The number of new Reserved Instances.

        + * group-name - The name of the placement group.

        *
      • *
      • *

        - * modification-result.target-configuration.instance-type - The instance type of the new Reserved Instances.

        + * group-arn - The Amazon Resource Name (ARN) of the placement + * group.

        *
      • *
      • *

        - * reserved-instances-id - The ID of the Reserved Instances modified.

        + * spread-level - The spread level for the placement group + * (host | rack).

        *
      • *
      • *

        - * reserved-instances-modification-id - The ID of the modification request.

        + * state - The state of the placement group (pending | + * available | deleting | + * deleted).

        *
      • *
      • *

        - * status - The status of the Reserved Instances modification request - * (processing | fulfilled | failed).

        + * strategy - The strategy of the placement group + * (cluster | spread | + * partition).

        *
      • *
      • *

        - * status-message - The reason for the status.

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

        *
      • *
      • *

        - * update-date - The time when the modification request was last updated.

        + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

        *
      • *
      */ @@ -7972,177 +7649,229 @@ export interface DescribeReservedInstancesModificationsRequest { /** * @public - *

      IDs for the submitted modification request.

      + *

      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.

      */ - ReservedInstancesModificationIds?: string[]; + DryRun?: boolean; + + /** + * @public + *

      The names of the placement groups.

      + *

      Default: Describes all your placement groups, or only those otherwise + * specified.

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

      The IDs of the placement groups.

      + */ + GroupIds?: string[]; +} +/** + * @public + */ +export interface DescribePlacementGroupsResult { /** * @public - *

      The token to retrieve the next page of results.

      + *

      Information about the placement groups.

      */ - NextToken?: string; + PlacementGroups?: PlacementGroup[]; } /** * @public - *

      Describes the configuration settings for the modified Reserved Instances.

      */ -export interface ReservedInstancesConfiguration { +export interface DescribePrefixListsRequest { /** * @public - *

      The Availability Zone for the modified Reserved Instances.

      + *

      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.

      */ - AvailabilityZone?: string; + DryRun?: boolean; /** * @public - *

      The number of modified Reserved Instances.

      - * - *

      This is a required field for a request.

      - *
      + *

      One or more filters.

      + *
        + *
      • + *

        + * prefix-list-id: The ID of a prefix list.

        + *
      • + *
      • + *

        + * prefix-list-name: The name of a prefix list.

        + *
      • + *
      */ - InstanceCount?: number; + Filters?: Filter[]; /** * @public - *

      The instance type for the modified Reserved Instances.

      + *

      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

      */ - InstanceType?: _InstanceType; + MaxResults?: number; /** * @public - *

      The network platform of the modified Reserved Instances.

      + *

      The token for the next page of results.

      */ - Platform?: string; + NextToken?: string; /** * @public - *

      Whether the Reserved Instance is applied to instances in a Region or instances in a specific Availability Zone.

      + *

      One or more prefix list IDs.

      */ - Scope?: Scope; + PrefixListIds?: string[]; } /** * @public - *

      Describes the modification request/s.

      + *

      Describes prefixes for Amazon Web Services services.

      */ -export interface ReservedInstancesModificationResult { +export interface PrefixList { /** * @public - *

      The ID for the Reserved Instances that were created as part of the modification request. This field is only available when the modification is fulfilled.

      + *

      The IP address range of the Amazon Web Service.

      */ - ReservedInstancesId?: string; + Cidrs?: string[]; /** * @public - *

      The target Reserved Instances configurations supplied as part of the modification request.

      + *

      The ID of the prefix.

      */ - TargetConfiguration?: ReservedInstancesConfiguration; -} + PrefixListId?: string; -/** - * @public - *

      Describes the ID of a Reserved Instance.

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

      The ID of the Reserved Instance.

      + *

      The name of the prefix.

      */ - ReservedInstancesId?: string; + PrefixListName?: string; } /** * @public - *

      Describes a Reserved Instance modification.

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

      A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. - * For more information, see Ensuring - * Idempotency.

      - */ - ClientToken?: string; - +export interface DescribePrefixListsResult { /** * @public - *

      The time when the modification request was created.

      + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      */ - CreateDate?: Date; + NextToken?: string; /** * @public - *

      The time for the modification to become effective.

      + *

      All available prefix lists.

      */ - EffectiveDate?: Date; + PrefixLists?: PrefixList[]; +} +/** + * @public + */ +export interface DescribePrincipalIdFormatRequest { /** * @public - *

      Contains target configurations along with their corresponding new Reserved Instance IDs.

      + *

      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.

      */ - ModificationResults?: ReservedInstancesModificationResult[]; + DryRun?: boolean; /** * @public - *

      The IDs of one or more Reserved Instances.

      + *

      The type of resource: bundle | + * conversion-task | customer-gateway | dhcp-options | + * elastic-ip-allocation | elastic-ip-association | + * export-task | flow-log | image | + * import-task | instance | internet-gateway | + * network-acl | network-acl-association | + * network-interface | network-interface-attachment | + * prefix-list | reservation | route-table | + * route-table-association | security-group | + * snapshot | subnet | + * subnet-cidr-block-association | volume | vpc + * | vpc-cidr-block-association | vpc-endpoint | + * vpc-peering-connection | vpn-connection | vpn-gateway + *

      */ - ReservedInstancesIds?: ReservedInstancesId[]; + Resources?: string[]; /** * @public - *

      A unique ID for the Reserved Instance modification.

      + *

      The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value.

      */ - ReservedInstancesModificationId?: string; + MaxResults?: number; /** * @public - *

      The status of the Reserved Instances modification request.

      + *

      The token to request the next page of results.

      */ - Status?: string; + NextToken?: string; +} +/** + * @public + *

      PrincipalIdFormat description

      + */ +export interface PrincipalIdFormat { /** * @public - *

      The reason for the status.

      + *

      PrincipalIdFormatARN description

      */ - StatusMessage?: string; + Arn?: string; /** * @public - *

      The time when the modification request was last updated.

      + *

      PrincipalIdFormatStatuses description

      */ - UpdateDate?: Date; + Statuses?: IdFormat[]; } /** * @public - *

      Contains the output of DescribeReservedInstancesModifications.

      */ -export interface DescribeReservedInstancesModificationsResult { +export interface DescribePrincipalIdFormatResult { /** * @public - *

      The token to use to retrieve the next page of results. This value is null when - * there are no more results to return.

      + *

      Information about the ID format settings for the ARN.

      */ - NextToken?: string; + Principals?: PrincipalIdFormat[]; /** * @public - *

      The Reserved Instance modification information.

      + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      */ - ReservedInstancesModifications?: ReservedInstancesModification[]; + NextToken?: string; } /** * @public - *

      Contains the parameters for DescribeReservedInstancesOfferings.

      */ -export interface DescribeReservedInstancesOfferingsRequest { +export interface DescribePublicIpv4PoolsRequest { /** * @public - *

      The Availability Zone in which the Reserved Instance can be used.

      + *

      The IDs of the address pools.

      */ - AvailabilityZone?: string; + PoolIds?: string[]; + + /** + * @public + *

      The token for the next page of results.

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

      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

      + */ + MaxResults?: number; /** * @public @@ -8150,393 +7879,351 @@ export interface DescribeReservedInstancesOfferingsRequest { *
        *
      • *

        - * availability-zone - The Availability Zone where the Reserved Instance can be - * used.

        - *
      • - *
      • - *

        - * duration - The duration of the Reserved Instance (for example, one year or - * three years), in seconds (31536000 | 94608000).

        - *
      • - *
      • - *

        - * fixed-price - The purchase price of the Reserved Instance (for example, - * 9800.0).

        - *
      • - *
      • - *

        - * instance-type - The instance type that is covered by the - * reservation.

        - *
      • - *
      • - *

        - * marketplace - Set to true to show only Reserved Instance - * Marketplace offerings. When this filter is not used, which is the default behavior, all - * offerings from both Amazon Web Services and the Reserved Instance Marketplace are listed.

        - *
      • - *
      • - *

        - * product-description - The Reserved Instance product platform description - * (Linux/UNIX | Linux with SQL Server Standard | - * Linux with SQL Server Web | Linux with SQL Server Enterprise | - * SUSE Linux | - * Red Hat Enterprise Linux | Red Hat Enterprise Linux with HA | - * Windows | Windows with SQL Server Standard | - * Windows with SQL Server Web | Windows with SQL Server Enterprise).

        - *
      • - *
      • - *

        - * reserved-instances-offering-id - The Reserved Instances offering - * ID.

        - *
      • - *
      • - *

        - * scope - The scope of the Reserved Instance (Availability Zone or - * Region).

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

        *
      • *
      • *

        - * usage-price - The usage price of the Reserved Instance, per hour (for - * example, 0.84).

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

        *
      • *
      */ Filters?: Filter[]; +} +/** + * @public + *

      Describes an address range of an IPv4 address pool.

      + */ +export interface PublicIpv4PoolRange { /** * @public - *

      Include Reserved Instance Marketplace offerings in the response.

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

      The instance type that the reservation will cover (for example, m1.small). For more information, see - * Instance types in the - * Amazon EC2 User Guide.

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

      The maximum duration (in seconds) to filter when searching for offerings.

      - *

      Default: 94608000 (3 years)

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

      The maximum number of instances to filter when searching for offerings.

      - *

      Default: 20

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

      The minimum duration (in seconds) to filter when searching for offerings.

      - *

      Default: 2592000 (1 month)

      + *

      The first IP address in the range.

      */ - MinDuration?: number; + FirstAddress?: string; /** * @public - *

      The offering class of the Reserved Instance. Can be standard or convertible.

      + *

      The last IP address in the range.

      */ - OfferingClass?: OfferingClassType; + LastAddress?: string; /** * @public - *

      The Reserved Instance product platform description. Instances that include (Amazon - * VPC) in the description are for use with Amazon VPC.

      + *

      The number of addresses in the range.

      */ - ProductDescription?: RIProductDescription; + AddressCount?: number; /** * @public - *

      One or more Reserved Instances offering IDs.

      + *

      The number of available addresses in the range.

      */ - ReservedInstancesOfferingIds?: string[]; + AvailableAddressCount?: number; +} +/** + * @public + *

      Describes an IPv4 address pool.

      + */ +export interface PublicIpv4Pool { /** * @public - *

      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.

      + *

      The ID of the address pool.

      */ - DryRun?: boolean; + PoolId?: string; /** * @public - *

      The tenancy of the instances covered by the reservation. A Reserved Instance with a tenancy - * of dedicated is applied to instances that run in a VPC on single-tenant hardware - * (i.e., Dedicated Instances).

      - *

      - * Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

      - *

      Default: default - *

      + *

      A description of the address pool.

      */ - InstanceTenancy?: Tenancy; + Description?: string; /** * @public - *

      The maximum number of results to return for the request in a single page. The remaining - * results of the initial request can be seen by sending another request with the returned - * NextToken value. The maximum is 100.

      - *

      Default: 100

      + *

      The address ranges.

      */ - MaxResults?: number; + PoolAddressRanges?: PublicIpv4PoolRange[]; /** * @public - *

      The token to retrieve the next page of results.

      + *

      The total number of addresses.

      */ - NextToken?: string; + TotalAddressCount?: number; /** * @public - *

      The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API - * version, you only have access to the Medium Utilization Reserved Instance - * offering type.

      + *

      The total number of available addresses.

      */ - OfferingType?: OfferingTypeValues; -} + TotalAvailableAddressCount?: number; -/** - * @public - *

      Describes a Reserved Instance offering.

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

      The number of reservations available for the price.

      + *

      The name of the location from which the address pool is advertised. + * A network border group is a unique set of Availability Zones or Local Zones + * from where Amazon Web Services advertises public IP addresses.

      */ - Count?: number; + NetworkBorderGroup?: string; /** * @public - *

      The price per instance.

      + *

      Any tags for the address pool.

      */ - Price?: number; + Tags?: Tag[]; } /** * @public - *

      Describes a Reserved Instance offering.

      */ -export interface ReservedInstancesOffering { +export interface DescribePublicIpv4PoolsResult { /** * @public - *

      The Availability Zone in which the Reserved Instance can be used.

      + *

      Information about the address pools.

      */ - AvailabilityZone?: string; + PublicIpv4Pools?: PublicIpv4Pool[]; /** * @public - *

      The duration of the Reserved Instance, in seconds.

      + *

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

      */ - Duration?: number; + NextToken?: string; +} +/** + * @public + */ +export interface DescribeRegionsRequest { /** * @public - *

      The purchase price of the Reserved Instance.

      + *

      The filters.

      + *
        + *
      • + *

        + * endpoint - The endpoint of the Region (for example, ec2.us-east-1.amazonaws.com).

        + *
      • + *
      • + *

        + * opt-in-status - The opt-in status of the Region (opt-in-not-required | opted-in | + * not-opted-in).

        + *
      • + *
      • + *

        + * region-name - The name of the Region (for example, us-east-1).

        + *
      • + *
      */ - FixedPrice?: number; + Filters?: Filter[]; /** * @public - *

      The instance type on which the Reserved Instance can be used.

      + *

      The names of the Regions. You can specify any Regions, whether they are enabled and disabled for your account.

      */ - InstanceType?: _InstanceType; + RegionNames?: string[]; /** * @public - *

      The Reserved Instance product platform description.

      + *

      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.

      */ - ProductDescription?: RIProductDescription; + DryRun?: boolean; /** * @public - *

      The ID of the Reserved Instance offering. This is the offering ID used in GetReservedInstancesExchangeQuote - * to confirm that an exchange can be made.

      + *

      Indicates whether to display all Regions, including Regions that are disabled for your account.

      */ - ReservedInstancesOfferingId?: string; + AllRegions?: boolean; +} +/** + * @public + *

      Describes a Region.

      + */ +export interface Region { /** * @public - *

      The usage price of the Reserved Instance, per hour.

      + *

      The Region service endpoint.

      */ - UsagePrice?: number; + Endpoint?: string; /** * @public - *

      The currency of the Reserved Instance offering you are purchasing. It's - * specified using ISO 4217 standard currency codes. At this time, - * the only supported currency is USD.

      + *

      The name of the Region.

      */ - CurrencyCode?: CurrencyCodeValues; + RegionName?: string; /** * @public - *

      The tenancy of the instance.

      + *

      The Region opt-in status. The possible values are opt-in-not-required, opted-in, and + * not-opted-in.

      */ - InstanceTenancy?: Tenancy; + OptInStatus?: string; +} +/** + * @public + */ +export interface DescribeRegionsResult { /** * @public - *

      Indicates whether the offering is available through the Reserved Instance Marketplace (resale) or Amazon Web Services. - * If it's a Reserved Instance Marketplace offering, this is true.

      + *

      Information about the Regions.

      */ - Marketplace?: boolean; + Regions?: Region[]; +} +/** + * @public + */ +export interface DescribeReplaceRootVolumeTasksRequest { /** * @public - *

      If convertible it can be exchanged for Reserved Instances of - * the same or higher monetary value, with different configurations. If standard, it is not - * possible to perform an exchange.

      + *

      The ID of the root volume replacement task to view.

      */ - OfferingClass?: OfferingClassType; + ReplaceRootVolumeTaskIds?: string[]; /** * @public - *

      The Reserved Instance offering type.

      + *

      Filter to use:

      + *
        + *
      • + *

        + * instance-id - The ID of the instance for which the root volume replacement task was created.

        + *
      • + *
      */ - OfferingType?: OfferingTypeValues; + Filters?: Filter[]; /** * @public - *

      The pricing details of the Reserved Instance offering.

      + *

      The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

      */ - PricingDetails?: PricingDetail[]; + MaxResults?: number; /** * @public - *

      The recurring charge tag assigned to the resource.

      + *

      The token returned from a previous paginated request. + * Pagination continues from the end of the items returned by the previous request.

      */ - RecurringCharges?: RecurringCharge[]; + NextToken?: string; /** * @public - *

      Whether the Reserved Instance is applied to instances in a Region or an Availability Zone.

      + *

      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.

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

      Contains the output of DescribeReservedInstancesOfferings.

      */ -export interface DescribeReservedInstancesOfferingsResult { +export interface DescribeReplaceRootVolumeTasksResult { /** * @public - *

      A list of Reserved Instances offerings.

      + *

      Information about the root volume replacement task.

      */ - ReservedInstancesOfferings?: ReservedInstancesOffering[]; + ReplaceRootVolumeTasks?: ReplaceRootVolumeTask[]; /** * @public - *

      The token to use to retrieve the next page of results. This value is null when - * there are no more results to return.

      + *

      The token to include in another request to get the next page of items. + * This value is null when there are no more items to return.

      */ NextToken?: string; } /** * @public + * @enum */ -export interface DescribeRouteTablesRequest { - /** - * @public - *

      The filters.

      - *
        - *
      • - *

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

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

        - * association.subnet-id - The ID of the subnet involved in the - * association.

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

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

        - *
      • - *
      • - *

        - * route-table-id - The ID of the route table.

        - *
      • - *
      • - *

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

        - *
      • +export const OfferingClassType = { + CONVERTIBLE: "convertible", + STANDARD: "standard", +} as const; + +/** + * @public + */ +export type OfferingClassType = (typeof OfferingClassType)[keyof typeof OfferingClassType]; + +/** + * @public + * @enum + */ +export const OfferingTypeValues = { + All_Upfront: "All Upfront", + Heavy_Utilization: "Heavy Utilization", + Light_Utilization: "Light Utilization", + Medium_Utilization: "Medium Utilization", + No_Upfront: "No Upfront", + Partial_Upfront: "Partial Upfront", +} as const; + +/** + * @public + */ +export type OfferingTypeValues = (typeof OfferingTypeValues)[keyof typeof OfferingTypeValues]; + +/** + * @public + *

        Contains the parameters for DescribeReservedInstances.

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

        One or more filters.

        + *
          *
        • *

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

          + * availability-zone - The Availability Zone where the Reserved Instance can be used.

          *
        • *
        • *

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

          + * duration - The duration of the Reserved Instance (one year or three years), in seconds (31536000 | 94608000).

          *
        • *
        • *

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

          + * end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).

          *
        • *
        • *

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

          + * fixed-price - The purchase price of the Reserved Instance (for example, 9800.0).

          *
        • *
        • *

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

          + * instance-type - The instance type that is covered by the reservation.

          *
        • *
        • *

          - * route.nat-gateway-id - The ID of a NAT gateway.

          + * scope - The scope of the Reserved Instance (Region or Availability Zone).

          *
        • *
        • *

          - * route.transit-gateway-id - The ID of a transit gateway.

          + * product-description - The Reserved Instance product platform description + * (Linux/UNIX | Linux with SQL Server Standard | + * Linux with SQL Server Web | Linux with SQL Server Enterprise | + * SUSE Linux | + * Red Hat Enterprise Linux | Red Hat Enterprise Linux with HA | + * Windows | Windows with SQL Server Standard | + * Windows with SQL Server Web | Windows with SQL Server Enterprise).

          *
        • *
        • *

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

          + * reserved-instances-id - The ID of the Reserved Instance.

          *
        • *
        • *

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

          + * start - The time at which the Reserved Instance purchase request was placed (for example, 2014-08-07T11:54:42.000Z).

          *
        • *
        • *

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

          + * state - The state of the Reserved Instance (payment-pending | active | payment-failed | retired).

          *
        • *
        • *

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

          *
        • *
        • @@ -8545,7 +8232,7 @@ export interface DescribeRouteTablesRequest { *
        • *
        • *

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

          + * usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84).

          *
        • *
        */ @@ -8553,369 +8240,265 @@ export interface DescribeRouteTablesRequest { /** * @public - *

        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.

        + *

        Describes whether the Reserved Instance is Standard or Convertible.

        */ - DryRun?: boolean; + OfferingClass?: OfferingClassType; /** * @public - *

        The IDs of the route tables.

        - *

        Default: Describes all your route tables.

        + *

        One or more Reserved Instance IDs.

        + *

        Default: Describes all your Reserved Instances, or only those otherwise specified.

        */ - RouteTableIds?: string[]; + ReservedInstancesIds?: string[]; /** * @public - *

        The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

        + *

        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.

        */ - NextToken?: string; + DryRun?: boolean; /** * @public - *

        The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

        + *

        The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API + * version, you only have access to the Medium Utilization Reserved Instance + * offering type.

        */ - MaxResults?: number; + OfferingType?: OfferingTypeValues; } /** * @public - *

        Contains the output of DescribeRouteTables.

        + * @enum */ -export interface DescribeRouteTablesResult { - /** - * @public - *

        Information about one or more route tables.

        - */ - RouteTables?: RouteTable[]; - - /** - * @public - *

        The token to include in another request to get the next page of items. This value is null when there are no more items to return.

        - */ - NextToken?: string; -} +export const RIProductDescription = { + Linux_UNIX: "Linux/UNIX", + Linux_UNIX_Amazon_VPC_: "Linux/UNIX (Amazon VPC)", + Windows: "Windows", + Windows_Amazon_VPC_: "Windows (Amazon VPC)", +} as const; /** * @public - *

        Describes the time period for a Scheduled Instance to start its first schedule. The time period must span less than one day.

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

        The earliest date and time, in UTC, for the Scheduled Instance to start.

        - */ - EarliestTime: Date | undefined; - - /** - * @public - *

        The latest date and time, in UTC, for the Scheduled Instance to start. This value must be later than or equal to the earliest date and at most three months in the future.

        - */ - LatestTime: Date | undefined; -} +export type RIProductDescription = (typeof RIProductDescription)[keyof typeof RIProductDescription]; /** * @public - *

        Describes the recurring schedule for a Scheduled Instance.

        + * @enum */ -export interface ScheduledInstanceRecurrenceRequest { - /** - * @public - *

        The frequency (Daily, Weekly, or Monthly).

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

        The interval quantity. The interval unit depends on the value of Frequency. For example, every 2 - * weeks or every 2 months.

        - */ - Interval?: number; +export const RecurringChargeFrequency = { + Hourly: "Hourly", +} as const; - /** - * @public - *

        The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday). You can't specify this value with a daily schedule. If the occurrence is relative to the end of the month, you can specify only a single day.

        - */ - OccurrenceDays?: number[]; +/** + * @public + */ +export type RecurringChargeFrequency = (typeof RecurringChargeFrequency)[keyof typeof RecurringChargeFrequency]; +/** + * @public + *

        Describes a recurring charge.

        + */ +export interface RecurringCharge { /** * @public - *

        Indicates whether the occurrence is relative to the end of the specified week or month. You can't specify this value with a daily schedule.

        + *

        The amount of the recurring charge.

        */ - OccurrenceRelativeToEnd?: boolean; + Amount?: number; /** * @public - *

        The unit for OccurrenceDays (DayOfWeek or DayOfMonth). - * This value is required for a monthly schedule. - * You can't specify DayOfWeek with a weekly schedule. - * You can't specify this value with a daily schedule.

        + *

        The frequency of the recurring charge.

        */ - OccurrenceUnit?: string; + Frequency?: RecurringChargeFrequency; } /** * @public - *

        Contains the parameters for DescribeScheduledInstanceAvailability.

        + * @enum */ -export interface DescribeScheduledInstanceAvailabilityRequest { - /** - * @public - *

        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.

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

        The filters.

        - *
          - *
        • - *

          - * availability-zone - The Availability Zone (for example, us-west-2a).

          - *
        • - *
        • - *

          - * instance-type - The instance type (for example, c4.large).

          - *
        • - *
        • - *

          - * platform - The platform (Linux/UNIX or Windows).

          - *
        • - *
        - */ - Filters?: Filter[]; - - /** - * @public - *

        The time period for the first schedule to start.

        - */ - FirstSlotStartTimeRange: SlotDateTimeRangeRequest | undefined; - - /** - * @public - *

        The maximum number of results to return in a single call. - * This value can be between 5 and 300. The default value is 300. - * To retrieve the remaining results, make another call with the returned - * NextToken value.

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

        The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours - * and less than 1,720.

        - */ - MaxSlotDurationInHours?: number; +export const Scope = { + AVAILABILITY_ZONE: "Availability Zone", + REGIONAL: "Region", +} as const; - /** - * @public - *

        The minimum available duration, in hours. The minimum required duration is 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours.

        - */ - MinSlotDurationInHours?: number; +/** + * @public + */ +export type Scope = (typeof Scope)[keyof typeof Scope]; - /** - * @public - *

        The token for the next set of results.

        - */ - NextToken?: string; +/** + * @public + * @enum + */ +export const ReservedInstanceState = { + active: "active", + payment_failed: "payment-failed", + payment_pending: "payment-pending", + queued: "queued", + queued_deleted: "queued-deleted", + retired: "retired", +} as const; - /** - * @public - *

        The schedule recurrence.

        - */ - Recurrence: ScheduledInstanceRecurrenceRequest | undefined; -} +/** + * @public + */ +export type ReservedInstanceState = (typeof ReservedInstanceState)[keyof typeof ReservedInstanceState]; /** * @public - *

        Describes the recurring schedule for a Scheduled Instance.

        + *

        Describes a Reserved Instance.

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

        The frequency (Daily, Weekly, or Monthly).

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

        The interval quantity. The interval unit depends on the value of frequency. For example, every 2 - * weeks or every 2 months.

        - */ - Interval?: number; - +export interface ReservedInstances { /** * @public - *

        The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday).

        + *

        The Availability Zone in which the Reserved Instance can be used.

        */ - OccurrenceDaySet?: number[]; + AvailabilityZone?: string; /** * @public - *

        Indicates whether the occurrence is relative to the end of the specified week or month.

        + *

        The duration of the Reserved Instance, in seconds.

        */ - OccurrenceRelativeToEnd?: boolean; + Duration?: number; /** * @public - *

        The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).

        + *

        The time when the Reserved Instance expires.

        */ - OccurrenceUnit?: string; -} + End?: Date; -/** - * @public - *

        Describes a schedule that is available for your Scheduled Instances.

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

        The Availability Zone.

        + *

        The purchase price of the Reserved Instance.

        */ - AvailabilityZone?: string; + FixedPrice?: number; /** * @public - *

        The number of available instances.

        + *

        The number of reservations purchased.

        */ - AvailableInstanceCount?: number; + InstanceCount?: number; /** * @public - *

        The time period for the first schedule to start.

        + *

        The instance type on which the Reserved Instance can be used.

        */ - FirstSlotStartTime?: Date; + InstanceType?: _InstanceType; /** * @public - *

        The hourly price for a single instance.

        + *

        The Reserved Instance product platform description.

        */ - HourlyPrice?: string; + ProductDescription?: RIProductDescription; /** * @public - *

        The instance type. You can specify one of the C3, C4, M4, or R3 instance types.

        + *

        The ID of the Reserved Instance.

        */ - InstanceType?: string; + ReservedInstancesId?: string; /** * @public - *

        The maximum term. The only possible value is 365 days.

        + *

        The date and time the Reserved Instance started.

        */ - MaxTermDurationInDays?: number; + Start?: Date; /** * @public - *

        The minimum term. The only possible value is 365 days.

        + *

        The state of the Reserved Instance purchase.

        */ - MinTermDurationInDays?: number; + State?: ReservedInstanceState; /** * @public - *

        The network platform.

        + *

        The usage price of the Reserved Instance, per hour.

        */ - NetworkPlatform?: string; + UsagePrice?: number; /** * @public - *

        The platform (Linux/UNIX or Windows).

        + *

        The currency of the Reserved Instance. It's specified using ISO 4217 standard currency codes. + * At this time, the only supported currency is USD.

        */ - Platform?: string; + CurrencyCode?: CurrencyCodeValues; /** * @public - *

        The purchase token. This token expires in two hours.

        + *

        The tenancy of the instance.

        */ - PurchaseToken?: string; + InstanceTenancy?: Tenancy; /** * @public - *

        The schedule recurrence.

        + *

        The offering class of the Reserved Instance.

        */ - Recurrence?: ScheduledInstanceRecurrence; + OfferingClass?: OfferingClassType; /** * @public - *

        The number of hours in the schedule.

        + *

        The Reserved Instance offering type.

        */ - SlotDurationInHours?: number; + OfferingType?: OfferingTypeValues; /** * @public - *

        The total number of hours for a single instance for the entire term.

        + *

        The recurring charge tag assigned to the resource.

        */ - TotalScheduledInstanceHours?: number; -} + RecurringCharges?: RecurringCharge[]; -/** - * @public - *

        Contains the output of DescribeScheduledInstanceAvailability.

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

        The token required to retrieve the next set of results. This value is null when there are no more results to return.

        + *

        The scope of the Reserved Instance.

        */ - NextToken?: string; + Scope?: Scope; /** * @public - *

        Information about the available Scheduled Instances.

        + *

        Any tags assigned to the resource.

        */ - ScheduledInstanceAvailabilitySet?: ScheduledInstanceAvailability[]; + Tags?: Tag[]; } /** * @public - *

        Describes the time period for a Scheduled Instance to start its first schedule.

        + *

        Contains the output for DescribeReservedInstances.

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

        The earliest date and time, in UTC, for the Scheduled Instance to start.

        - */ - EarliestTime?: Date; - +export interface DescribeReservedInstancesResult { /** * @public - *

        The latest date and time, in UTC, for the Scheduled Instance to start.

        + *

        A list of Reserved Instances.

        */ - LatestTime?: Date; + ReservedInstances?: ReservedInstances[]; } /** * @public - *

        Contains the parameters for DescribeScheduledInstances.

        + *

        Contains the parameters for DescribeReservedInstancesListings.

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

        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.

        - */ - DryRun?: boolean; - +export interface DescribeReservedInstancesListingsRequest { /** * @public - *

        The filters.

        + *

        One or more filters.

        *
          *
        • *

          - * availability-zone - The Availability Zone (for example, us-west-2a).

          + * reserved-instances-id - The ID of the Reserved Instances.

          *
        • *
        • *

          - * instance-type - The instance type (for example, c4.large).

          + * reserved-instances-listing-id - The ID of the Reserved Instances listing.

          *
        • *
        • *

          - * platform - The platform (Linux/UNIX or Windows).

          + * status - The status of the Reserved Instance listing (pending | active | + * cancelled | closed).

          + *
        • + *
        • + *

          + * status-message - The reason for the status.

          *
        • *
        */ @@ -8923,401 +8506,319 @@ export interface DescribeScheduledInstancesRequest { /** * @public - *

        The maximum number of results to return in a single call. - * This value can be between 5 and 300. The default value is 100. - * To retrieve the remaining results, make another call with the returned - * NextToken value.

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

        The token for the next set of results.

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

        The Scheduled Instance IDs.

        + *

        One or more Reserved Instance IDs.

        */ - ScheduledInstanceIds?: string[]; + ReservedInstancesId?: string; /** * @public - *

        The time period for the first schedule to start.

        + *

        One or more Reserved Instance listing IDs.

        */ - SlotStartTimeRange?: SlotStartTimeRangeRequest; + ReservedInstancesListingId?: string; } /** * @public - *

        Describes a Scheduled Instance.

        + *

        Contains the output of DescribeReservedInstancesListings.

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

        The Availability Zone.

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

        The date when the Scheduled Instance was purchased.

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

        The hourly price for a single instance.

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

        The number of instances.

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

        The instance type.

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

        The network platform.

        - */ - NetworkPlatform?: string; - +export interface DescribeReservedInstancesListingsResult { /** * @public - *

        The time for the next schedule to start.

        + *

        Information about the Reserved Instance listing.

        */ - NextSlotStartTime?: Date; + ReservedInstancesListings?: ReservedInstancesListing[]; +} +/** + * @public + *

        Contains the parameters for DescribeReservedInstancesModifications.

        + */ +export interface DescribeReservedInstancesModificationsRequest { /** * @public - *

        The platform (Linux/UNIX or Windows).

        + *

        One or more filters.

        + *
          + *
        • + *

          + * client-token - The idempotency token for the modification request.

          + *
        • + *
        • + *

          + * create-date - The time when the modification request was created.

          + *
        • + *
        • + *

          + * effective-date - The time when the modification becomes effective.

          + *
        • + *
        • + *

          + * modification-result.reserved-instances-id - The ID for the Reserved Instances created as part of the modification request. This ID is only available when the status of the modification is fulfilled.

          + *
        • + *
        • + *

          + * modification-result.target-configuration.availability-zone - The Availability Zone for the new Reserved Instances.

          + *
        • + *
        • + *

          + * modification-result.target-configuration.instance-count - The number of new Reserved Instances.

          + *
        • + *
        • + *

          + * modification-result.target-configuration.instance-type - The instance type of the new Reserved Instances.

          + *
        • + *
        • + *

          + * reserved-instances-id - The ID of the Reserved Instances modified.

          + *
        • + *
        • + *

          + * reserved-instances-modification-id - The ID of the modification request.

          + *
        • + *
        • + *

          + * status - The status of the Reserved Instances modification request + * (processing | fulfilled | failed).

          + *
        • + *
        • + *

          + * status-message - The reason for the status.

          + *
        • + *
        • + *

          + * update-date - The time when the modification request was last updated.

          + *
        • + *
        */ - Platform?: string; + Filters?: Filter[]; /** * @public - *

        The time that the previous schedule ended or will end.

        + *

        IDs for the submitted modification request.

        */ - PreviousSlotEndTime?: Date; + ReservedInstancesModificationIds?: string[]; /** * @public - *

        The schedule recurrence.

        + *

        The token to retrieve the next page of results.

        */ - Recurrence?: ScheduledInstanceRecurrence; + NextToken?: string; +} +/** + * @public + *

        Describes the configuration settings for the modified Reserved Instances.

        + */ +export interface ReservedInstancesConfiguration { /** * @public - *

        The Scheduled Instance ID.

        + *

        The Availability Zone for the modified Reserved Instances.

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

        The number of hours in the schedule.

        + *

        The number of modified Reserved Instances.

        + * + *

        This is a required field for a request.

        + *
        */ - SlotDurationInHours?: number; + InstanceCount?: number; /** * @public - *

        The end date for the Scheduled Instance.

        + *

        The instance type for the modified Reserved Instances.

        */ - TermEndDate?: Date; + InstanceType?: _InstanceType; /** * @public - *

        The start date for the Scheduled Instance.

        + *

        The network platform of the modified Reserved Instances.

        */ - TermStartDate?: Date; + Platform?: string; /** * @public - *

        The total number of hours for a single instance for the entire term.

        + *

        Whether the Reserved Instance is applied to instances in a Region or instances in a specific Availability Zone.

        */ - TotalScheduledInstanceHours?: number; + Scope?: Scope; } /** * @public - *

        Contains the output of DescribeScheduledInstances.

        + *

        Describes the modification request/s.

        */ -export interface DescribeScheduledInstancesResult { +export interface ReservedInstancesModificationResult { /** * @public - *

        The token required to retrieve the next set of results. This value is null when there are no more results to return.

        + *

        The ID for the Reserved Instances that were created as part of the modification request. This field is only available when the modification is fulfilled.

        */ - NextToken?: string; + ReservedInstancesId?: string; /** * @public - *

        Information about the Scheduled Instances.

        + *

        The target Reserved Instances configurations supplied as part of the modification request.

        */ - ScheduledInstanceSet?: ScheduledInstance[]; + TargetConfiguration?: ReservedInstancesConfiguration; } /** * @public + *

        Describes the ID of a Reserved Instance.

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

        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.

        - */ - DryRun?: boolean; - +export interface ReservedInstancesId { /** * @public - *

        The IDs of the security groups in your account.

        + *

        The ID of the Reserved Instance.

        */ - GroupId: string[] | undefined; + ReservedInstancesId?: string; } /** * @public - *

        Describes a VPC with a security group that references your security group.

        + *

        Describes a Reserved Instance modification.

        */ -export interface SecurityGroupReference { +export interface ReservedInstancesModification { /** * @public - *

        The ID of your security group.

        + *

        A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. + * For more information, see Ensuring + * Idempotency.

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

        The ID of the VPC with the referencing security group.

        + *

        The time when the modification request was created.

        */ - ReferencingVpcId?: string; + CreateDate?: Date; /** * @public - *

        The ID of the VPC peering connection.

        + *

        The time for the modification to become effective.

        */ - VpcPeeringConnectionId?: string; -} + EffectiveDate?: Date; -/** - * @public - */ -export interface DescribeSecurityGroupReferencesResult { /** * @public - *

        Information about the VPCs with the referencing security groups.

        + *

        Contains target configurations along with their corresponding new Reserved Instance IDs.

        */ - SecurityGroupReferenceSet?: SecurityGroupReference[]; -} + ModificationResults?: ReservedInstancesModificationResult[]; -/** - * @public - */ -export interface DescribeSecurityGroupRulesRequest { /** * @public - *

        One or more filters.

        - *
          - *
        • - *

          - * group-id - The ID of the security group.

          - *
        • - *
        • - *

          - * security-group-rule-id - The ID of the security group rule.

          - *
        • - *
        • - *

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

          - *
        • - *
        + *

        The IDs of one or more Reserved Instances.

        */ - Filters?: Filter[]; + ReservedInstancesIds?: ReservedInstancesId[]; /** * @public - *

        The IDs of the security group rules.

        + *

        A unique ID for the Reserved Instance modification.

        */ - SecurityGroupRuleIds?: string[]; + ReservedInstancesModificationId?: string; /** * @public - *

        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.

        + *

        The status of the Reserved Instances modification request.

        */ - DryRun?: boolean; + Status?: string; /** * @public - *

        The token returned from a previous paginated request. - * Pagination continues from the end of the items returned by the previous request.

        + *

        The reason for the status.

        */ - NextToken?: string; + StatusMessage?: string; /** * @public - *

        The maximum number of items to return for this request. To get the next page of - * items, make another request with the token returned in the output. This value - * can be between 5 and 1000. If this parameter is not specified, then all items are - * returned. For more information, see Pagination.

        + *

        The time when the modification request was last updated.

        */ - MaxResults?: number; + UpdateDate?: Date; } /** * @public + *

        Contains the output of DescribeReservedInstancesModifications.

        */ -export interface DescribeSecurityGroupRulesResult { +export interface DescribeReservedInstancesModificationsResult { /** * @public - *

        Information about security group rules.

        + *

        The token to use to retrieve the next page of results. This value is null when + * there are no more results to return.

        */ - SecurityGroupRules?: SecurityGroupRule[]; + NextToken?: string; /** * @public - *

        The token to include in another request to get the next page of items. - * This value is null when there are no more items to return.

        + *

        The Reserved Instance modification information.

        */ - NextToken?: string; + ReservedInstancesModifications?: ReservedInstancesModification[]; } /** * @public + *

        Contains the parameters for DescribeReservedInstancesOfferings.

        */ -export interface DescribeSecurityGroupsRequest { +export interface DescribeReservedInstancesOfferingsRequest { /** * @public - *

        The filters. If using multiple filters for rules, the results include security groups for which any combination of rules - not necessarily a single rule - match all filters.

        + *

        The Availability Zone in which the Reserved Instance can be used.

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

        One or more filters.

        *
          *
        • - *

          - * description - The description of the security group.

          - *
        • - *
        • - *

          - * egress.ip-permission.cidr - An IPv4 CIDR block for an outbound - * security group rule.

          - *
        • - *
        • - *

          - * egress.ip-permission.from-port - For an outbound rule, the - * start of port range for the TCP and UDP protocols, or an ICMP type - * number.

          - *
        • - *
        • - *

          - * egress.ip-permission.group-id - The ID of a security group - * that has been referenced in an outbound security group rule.

          - *
        • - *
        • - *

          - * egress.ip-permission.group-name - The name of a security group - * that is referenced in an outbound security group rule.

          - *
        • - *
        • - *

          - * egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an - * outbound security group rule.

          - *
        • - *
        • - *

          - * egress.ip-permission.prefix-list-id - The ID of a prefix list to which a security group rule allows outbound access.

          - *
        • - *
        • - *

          - * egress.ip-permission.protocol - The IP protocol for an - * outbound security group rule (tcp | udp | - * icmp, a protocol number, or -1 for all protocols).

          - *
        • - *
        • - *

          - * egress.ip-permission.to-port - For an outbound rule, the end - * of port range for the TCP and UDP protocols, or an ICMP code.

          - *
        • - *
        • - *

          - * egress.ip-permission.user-id - The ID of an Amazon Web Services account that - * has been referenced in an outbound security group rule.

          - *
        • - *
        • - *

          - * group-id - The ID of the security group.

          - *
        • - *
        • - *

          - * group-name - The name of the security group.

          - *
        • - *
        • - *

          - * ip-permission.cidr - An IPv4 CIDR block for an inbound security - * group rule.

          - *
        • - *
        • - *

          - * ip-permission.from-port - For an inbound rule, the start of port - * range for the TCP and UDP protocols, or an ICMP type number.

          - *
        • - *
        • - *

          - * ip-permission.group-id - The ID of a security group that has been - * referenced in an inbound security group rule.

          - *
        • - *
        • - *

          - * ip-permission.group-name - The name of a security group that is - * referenced in an inbound security group rule.

          - *
        • - *
        • - *

          - * ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security - * group rule.

          + *

          + * availability-zone - The Availability Zone where the Reserved Instance can be + * used.

          *
        • *
        • *

          - * ip-permission.prefix-list-id - The ID of a prefix list from which a security group rule allows inbound access.

          + * duration - The duration of the Reserved Instance (for example, one year or + * three years), in seconds (31536000 | 94608000).

          *
        • *
        • *

          - * ip-permission.protocol - The IP protocol for an inbound security - * group rule (tcp | udp | icmp, a - * protocol number, or -1 for all protocols).

          + * fixed-price - The purchase price of the Reserved Instance (for example, + * 9800.0).

          *
        • *
        • *

          - * ip-permission.to-port - For an inbound rule, the end of port range - * for the TCP and UDP protocols, or an ICMP code.

          + * instance-type - The instance type that is covered by the + * reservation.

          *
        • *
        • *

          - * ip-permission.user-id - The ID of an Amazon Web Services account that has been - * referenced in an inbound security group rule.

          + * marketplace - Set to true to show only Reserved Instance + * Marketplace offerings. When this filter is not used, which is the default behavior, all + * offerings from both Amazon Web Services and the Reserved Instance Marketplace are listed.

          *
        • *
        • *

          - * owner-id - The Amazon Web Services account ID of the owner of the security group.

          + * product-description - The Reserved Instance product platform description + * (Linux/UNIX | Linux with SQL Server Standard | + * Linux with SQL Server Web | Linux with SQL Server Enterprise | + * SUSE Linux | + * Red Hat Enterprise Linux | Red Hat Enterprise Linux with HA | + * Windows | Windows with SQL Server Standard | + * Windows with SQL Server Web | Windows with SQL Server Enterprise).

          *
        • *
        • *

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

          + * reserved-instances-offering-id - The Reserved Instances offering + * ID.

          *
        • *
        • *

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

          + * scope - The scope of the Reserved Instance (Availability Zone or + * Region).

          *
        • *
        • *

          - * vpc-id - The ID of the VPC specified when the security group was created.

          + * usage-price - The usage price of the Reserved Instance, per hour (for + * example, 0.84).

          *
        • *
        */ @@ -9325,266 +8826,347 @@ export interface DescribeSecurityGroupsRequest { /** * @public - *

        The IDs of the security groups. Required for security groups in a nondefault VPC.

        - *

        Default: Describes all of your security groups.

        + *

        Include Reserved Instance Marketplace offerings in the response.

        */ - GroupIds?: string[]; + IncludeMarketplace?: boolean; /** * @public - *

        [Default VPC] The names of the security groups. You can specify either - * the security group name or the security group ID.

        - *

        Default: Describes all of your security groups.

        + *

        The instance type that the reservation will cover (for example, m1.small). For more information, see + * Instance types in the + * Amazon EC2 User Guide.

        */ - GroupNames?: string[]; + InstanceType?: _InstanceType; /** * @public - *

        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.

        + *

        The maximum duration (in seconds) to filter when searching for offerings.

        + *

        Default: 94608000 (3 years)

        */ - DryRun?: boolean; + MaxDuration?: number; /** * @public - *

        The token returned from a previous paginated request. - * Pagination continues from the end of the items returned by the previous request.

        + *

        The maximum number of instances to filter when searching for offerings.

        + *

        Default: 20

        */ - NextToken?: string; + MaxInstanceCount?: number; /** * @public - *

        The maximum number of items to return for this request. To get the next page of items, - * make another request with the token returned in the output. This value can be between 5 and 1000. - * If this parameter is not specified, then all items are returned. For more information, see - * Pagination.

        + *

        The minimum duration (in seconds) to filter when searching for offerings.

        + *

        Default: 2592000 (1 month)

        */ - MaxResults?: number; -} + MinDuration?: number; -/** - * @public - *

        Describes a security group.

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

        A description of the security group.

        + *

        The offering class of the Reserved Instance. Can be standard or convertible.

        */ - Description?: string; + OfferingClass?: OfferingClassType; /** * @public - *

        The name of the security group.

        + *

        The Reserved Instance product platform description. Instances that include (Amazon + * VPC) in the description are for use with Amazon VPC.

        */ - GroupName?: string; + ProductDescription?: RIProductDescription; /** * @public - *

        The inbound rules associated with the security group.

        + *

        One or more Reserved Instances offering IDs.

        */ - IpPermissions?: IpPermission[]; + ReservedInstancesOfferingIds?: string[]; /** * @public - *

        The Amazon Web Services account ID of the owner of the security group.

        + *

        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.

        */ - OwnerId?: string; + DryRun?: boolean; /** * @public - *

        The ID of the security group.

        + *

        The tenancy of the instances covered by the reservation. A Reserved Instance with a tenancy + * of dedicated is applied to instances that run in a VPC on single-tenant hardware + * (i.e., Dedicated Instances).

        + *

        + * Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

        + *

        Default: default + *

        */ - GroupId?: string; + InstanceTenancy?: Tenancy; /** * @public - *

        The outbound rules associated with the security group.

        + *

        The maximum number of results to return for the request in a single page. The remaining + * results of the initial request can be seen by sending another request with the returned + * NextToken value. The maximum is 100.

        + *

        Default: 100

        */ - IpPermissionsEgress?: IpPermission[]; + MaxResults?: number; /** * @public - *

        Any tags assigned to the security group.

        + *

        The token to retrieve the next page of results.

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

        The ID of the VPC for the security group.

        + *

        The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API + * version, you only have access to the Medium Utilization Reserved Instance + * offering type.

        */ - VpcId?: string; + OfferingType?: OfferingTypeValues; } /** * @public + *

        Describes a Reserved Instance offering.

        */ -export interface DescribeSecurityGroupsResult { +export interface PricingDetail { /** * @public - *

        Information about the security groups.

        + *

        The number of reservations available for the price.

        */ - SecurityGroups?: SecurityGroup[]; + Count?: number; /** * @public - *

        The token to include in another request to get the next page of items. - * This value is null when there are no more items to return.

        + *

        The price per instance.

        */ - NextToken?: string; + Price?: number; } /** * @public - * @enum + *

        Describes a Reserved Instance offering.

        */ -export const SnapshotAttributeName = { - createVolumePermission: "createVolumePermission", - productCodes: "productCodes", -} as const; +export interface ReservedInstancesOffering { + /** + * @public + *

        The Availability Zone in which the Reserved Instance can be used.

        + */ + AvailabilityZone?: string; -/** - * @public - */ -export type SnapshotAttributeName = (typeof SnapshotAttributeName)[keyof typeof SnapshotAttributeName]; + /** + * @public + *

        The duration of the Reserved Instance, in seconds.

        + */ + Duration?: number; -/** - * @public - */ -export interface DescribeSnapshotAttributeRequest { /** * @public - *

        The snapshot attribute you would like to view.

        + *

        The purchase price of the Reserved Instance.

        */ - Attribute: SnapshotAttributeName | undefined; + FixedPrice?: number; /** * @public - *

        The ID of the EBS snapshot.

        + *

        The instance type on which the Reserved Instance can be used.

        */ - SnapshotId: string | undefined; + InstanceType?: _InstanceType; /** * @public - *

        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.

        + *

        The Reserved Instance product platform description.

        */ - DryRun?: boolean; -} + ProductDescription?: RIProductDescription; -/** - * @public - *

        Describes the user or group to be added or removed from the list of create volume - * permissions for a volume.

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

        The group to be added or removed. The possible value is all.

        + *

        The ID of the Reserved Instance offering. This is the offering ID used in GetReservedInstancesExchangeQuote + * to confirm that an exchange can be made.

        */ - Group?: PermissionGroup; + ReservedInstancesOfferingId?: string; /** * @public - *

        The ID of the Amazon Web Services account to be added or removed.

        + *

        The usage price of the Reserved Instance, per hour.

        */ - UserId?: string; -} + UsagePrice?: number; -/** - * @public - */ -export interface DescribeSnapshotAttributeResult { /** * @public - *

        The users and groups that have the permissions for creating volumes from the - * snapshot.

        + *

        The currency of the Reserved Instance offering you are purchasing. It's + * specified using ISO 4217 standard currency codes. At this time, + * the only supported currency is USD.

        */ - CreateVolumePermissions?: CreateVolumePermission[]; + CurrencyCode?: CurrencyCodeValues; /** * @public - *

        The product codes.

        + *

        The tenancy of the instance.

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

        Indicates whether the offering is available through the Reserved Instance Marketplace (resale) or Amazon Web Services. + * If it's a Reserved Instance Marketplace offering, this is true.

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

        If convertible it can be exchanged for Reserved Instances of + * the same or higher monetary value, with different configurations. If standard, it is not + * possible to perform an exchange.

        + */ + OfferingClass?: OfferingClassType; + + /** + * @public + *

        The Reserved Instance offering type.

        + */ + OfferingType?: OfferingTypeValues; + + /** + * @public + *

        The pricing details of the Reserved Instance offering.

        + */ + PricingDetails?: PricingDetail[]; + + /** + * @public + *

        The recurring charge tag assigned to the resource.

        + */ + RecurringCharges?: RecurringCharge[]; + + /** + * @public + *

        Whether the Reserved Instance is applied to instances in a Region or an Availability Zone.

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

        Contains the output of DescribeReservedInstancesOfferings.

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

        A list of Reserved Instances offerings.

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

        The ID of the EBS snapshot.

        + *

        The token to use to retrieve the next page of results. This value is null when + * there are no more results to return.

        */ - SnapshotId?: string; + NextToken?: string; } /** * @public */ -export interface DescribeSnapshotsRequest { +export interface DescribeRouteTablesRequest { /** * @public *

        The filters.

        *
          *
        • *

          - * description - A description of the snapshot.

          + * association.route-table-association-id - The ID of an association + * ID for the route table.

          *
        • *
        • *

          - * encrypted - Indicates whether the snapshot is encrypted - * (true | false)

          + * association.route-table-id - The ID of the route table involved in + * the association.

          *
        • *
        • *

          - * owner-alias - The owner alias, from an Amazon-maintained list - * (amazon). - * This is not the user-configured Amazon Web Services account alias set using the IAM console. - * We recommend that you use the related parameter instead of this filter.

          + * association.subnet-id - The ID of the subnet involved in the + * association.

          *
        • *
        • *

          - * owner-id - The Amazon Web Services account ID of the owner. We recommend that - * you use the related parameter instead of this filter.

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

          *
        • *
        • *

          - * progress - The progress of the snapshot, as a percentage (for example, - * 80%).

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

          *
        • *
        • *

          - * snapshot-id - The snapshot ID.

          + * route-table-id - The ID of the route table.

          *
        • *
        • *

          - * start-time - The time stamp when the snapshot was initiated.

          + * route.destination-cidr-block - The IPv4 CIDR range specified in a + * route in the table.

          *
        • *
        • *

          - * status - The status of the snapshot (pending | - * completed | error).

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

          *
        • *
        • *

          - * storage-tier - The storage tier of the snapshot (archive | - * standard).

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

          *
        • *
        • *

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

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

          *
        • *
        • *

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

          + * route.gateway-id - The ID of a gateway specified in a route in the table.

          *
        • *
        • *

          - * volume-id - The ID of the volume the snapshot is for.

          + * route.instance-id - The ID of an instance specified in a route in the table.

          *
        • *
        • *

          - * volume-size - The size of the volume, in GiB.

          + * route.nat-gateway-id - The ID of a NAT gateway.

          + *
        • + *
        • + *

          + * route.transit-gateway-id - The ID of a transit gateway.

          + *
        • + *
        • + *

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

          + *
        • + *
        • + *

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

          + *
        • + *
        • + *

          + * route.vpc-peering-connection-id - The ID of a VPC peering + * connection specified in a route in the table.

          + *
        • + *
        • + *

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

          + *
        • + *
        • + *

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

          + *
        • + *
        • + *

          + * vpc-id - The ID of the VPC for the route table.

          *
        • *
        */ @@ -9592,1982 +9174,1965 @@ export interface DescribeSnapshotsRequest { /** * @public - *

        The maximum number of snapshots to return for this request. - * This value can be between 5 and 1,000; if this value is larger than 1,000, only 1,000 results are returned. - * If this parameter is not used, then the request returns all snapshots. - * You cannot specify this parameter and the snapshot IDs parameter in the same request. For more information, - * see Pagination.

        + *

        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.

        */ - MaxResults?: number; + DryRun?: boolean; /** * @public - *

        The token returned from a previous paginated request. - * Pagination continues from the end of the items returned by the previous request.

        + *

        The IDs of the route tables.

        + *

        Default: Describes all your route tables.

        */ - NextToken?: string; + RouteTableIds?: string[]; /** * @public - *

        Scopes the results to snapshots with the specified owners. You can specify a combination of - * Amazon Web Services account IDs, self, and amazon.

        + *

        The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

        */ - OwnerIds?: string[]; + NextToken?: string; /** * @public - *

        The IDs of the Amazon Web Services accounts that can create volumes from the snapshot.

        + *

        The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

        */ - RestorableByUserIds?: string[]; + MaxResults?: number; +} +/** + * @public + *

        Contains the output of DescribeRouteTables.

        + */ +export interface DescribeRouteTablesResult { /** * @public - *

        The snapshot IDs.

        - *

        Default: Describes the snapshots for which you have create volume permissions.

        + *

        Information about one or more route tables.

        */ - SnapshotIds?: string[]; + RouteTables?: RouteTable[]; /** * @public - *

        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.

        + *

        The token to include in another request to get the next page of items. This value is null when there are no more items to return.

        */ - DryRun?: boolean; + NextToken?: string; } /** * @public + *

        Describes the time period for a Scheduled Instance to start its first schedule. The time period must span less than one day.

        */ -export interface DescribeSnapshotsResult { +export interface SlotDateTimeRangeRequest { /** * @public - *

        Information about the snapshots.

        + *

        The earliest date and time, in UTC, for the Scheduled Instance to start.

        */ - Snapshots?: Snapshot[]; + EarliestTime: Date | undefined; /** * @public - *

        The token to include in another request to return the next page of snapshots. - * This value is null when there are no more snapshots to return.

        + *

        The latest date and time, in UTC, for the Scheduled Instance to start. This value must be later than or equal to the earliest date and at most three months in the future.

        */ - NextToken?: string; + LatestTime: Date | undefined; } /** * @public + *

        Describes the recurring schedule for a Scheduled Instance.

        */ -export interface DescribeSnapshotTierStatusRequest { +export interface ScheduledInstanceRecurrenceRequest { /** * @public - *

        The filters.

        - *
          - *
        • - *

          - * snapshot-id - The snapshot ID.

          - *
        • - *
        • - *

          - * volume-id - The ID of the volume the snapshot is for.

          - *
        • - *
        • - *

          - * last-tiering-operation - The state of the last archive or restore action. (archival-in-progress | archival-completed | - * archival-failed | permanent-restore-in-progress | permanent-restore-completed | permanent-restore-failed | - * temporary-restore-in-progress | temporary-restore-completed | temporary-restore-failed)

          - *
        • - *
        + *

        The frequency (Daily, Weekly, or Monthly).

        */ - Filters?: Filter[]; + Frequency?: string; /** * @public - *

        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.

        + *

        The interval quantity. The interval unit depends on the value of Frequency. For example, every 2 + * weeks or every 2 months.

        */ - DryRun?: boolean; + Interval?: number; /** * @public - *

        The token returned from a previous paginated request. - * Pagination continues from the end of the items returned by the previous request.

        + *

        The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday). You can't specify this value with a daily schedule. If the occurrence is relative to the end of the month, you can specify only a single day.

        */ - NextToken?: string; + OccurrenceDays?: number[]; /** * @public - *

        The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

        + *

        Indicates whether the occurrence is relative to the end of the specified week or month. You can't specify this value with a daily schedule.

        */ - MaxResults?: number; -} + OccurrenceRelativeToEnd?: boolean; -/** - * @public - * @enum - */ -export const TieringOperationStatus = { - archival_completed: "archival-completed", - archival_failed: "archival-failed", - archival_in_progress: "archival-in-progress", - permanent_restore_completed: "permanent-restore-completed", - permanent_restore_failed: "permanent-restore-failed", - permanent_restore_in_progress: "permanent-restore-in-progress", - temporary_restore_completed: "temporary-restore-completed", - temporary_restore_failed: "temporary-restore-failed", - temporary_restore_in_progress: "temporary-restore-in-progress", -} as const; + /** + * @public + *

        The unit for OccurrenceDays (DayOfWeek or DayOfMonth). + * This value is required for a monthly schedule. + * You can't specify DayOfWeek with a weekly schedule. + * You can't specify this value with a daily schedule.

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

        Contains the parameters for DescribeScheduledInstanceAvailability.

        */ -export type TieringOperationStatus = (typeof TieringOperationStatus)[keyof typeof TieringOperationStatus]; +export interface DescribeScheduledInstanceAvailabilityRequest { + /** + * @public + *

        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.

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

        Provides information about a snapshot's storage tier.

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

        The ID of the snapshot.

        + *

        The filters.

        + *
          + *
        • + *

          + * availability-zone - The Availability Zone (for example, us-west-2a).

          + *
        • + *
        • + *

          + * instance-type - The instance type (for example, c4.large).

          + *
        • + *
        • + *

          + * platform - The platform (Linux/UNIX or Windows).

          + *
        • + *
        */ - SnapshotId?: string; + Filters?: Filter[]; /** * @public - *

        The ID of the volume from which the snapshot was created.

        + *

        The time period for the first schedule to start.

        */ - VolumeId?: string; + FirstSlotStartTimeRange: SlotDateTimeRangeRequest | undefined; /** * @public - *

        The state of the snapshot.

        + *

        The maximum number of results to return in a single call. + * This value can be between 5 and 300. The default value is 300. + * To retrieve the remaining results, make another call with the returned + * NextToken value.

        */ - Status?: SnapshotState; + MaxResults?: number; /** * @public - *

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

        + *

        The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours + * and less than 1,720.

        */ - OwnerId?: string; + MaxSlotDurationInHours?: number; /** * @public - *

        The tags that are assigned to the snapshot.

        + *

        The minimum available duration, in hours. The minimum required duration is 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours.

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

        The storage tier in which the snapshot is stored. standard indicates - * that the snapshot is stored in the standard snapshot storage tier and that it is ready - * for use. archive indicates that the snapshot is currently archived and that - * it must be restored before it can be used.

        + *

        The token for the next set of results.

        */ - StorageTier?: StorageTier; + NextToken?: string; /** * @public - *

        The date and time when the last archive or restore process was started.

        + *

        The schedule recurrence.

        */ - LastTieringStartTime?: Date; + Recurrence: ScheduledInstanceRecurrenceRequest | undefined; +} +/** + * @public + *

        Describes the recurring schedule for a Scheduled Instance.

        + */ +export interface ScheduledInstanceRecurrence { /** * @public - *

        The progress of the last archive or restore process, as a percentage.

        + *

        The frequency (Daily, Weekly, or Monthly).

        */ - LastTieringProgress?: number; + Frequency?: string; /** * @public - *

        The status of the last archive or restore process.

        + *

        The interval quantity. The interval unit depends on the value of frequency. For example, every 2 + * weeks or every 2 months.

        */ - LastTieringOperationStatus?: TieringOperationStatus; + Interval?: number; /** * @public - *

        A message describing the status of the last archive or restore process.

        + *

        The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday).

        */ - LastTieringOperationStatusDetail?: string; + OccurrenceDaySet?: number[]; /** * @public - *

        The date and time when the last archive process was completed.

        + *

        Indicates whether the occurrence is relative to the end of the specified week or month.

        */ - ArchivalCompleteTime?: Date; + OccurrenceRelativeToEnd?: boolean; /** * @public - *

        Only for archived snapshots that are temporarily restored. Indicates the date and - * time when a temporarily restored snapshot will be automatically re-archived.

        + *

        The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).

        */ - RestoreExpiryTime?: Date; + OccurrenceUnit?: string; } /** * @public + *

        Describes a schedule that is available for your Scheduled Instances.

        */ -export interface DescribeSnapshotTierStatusResult { +export interface ScheduledInstanceAvailability { /** * @public - *

        Information about the snapshot's storage tier.

        + *

        The Availability Zone.

        */ - SnapshotTierStatuses?: SnapshotTierStatus[]; + AvailabilityZone?: string; /** * @public - *

        The token to include in another request to get the next page of items. - * This value is null when there are no more items to return.

        + *

        The number of available instances.

        */ - NextToken?: string; -} + AvailableInstanceCount?: number; -/** - * @public - *

        Contains the parameters for DescribeSpotDatafeedSubscription.

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

        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.

        + *

        The time period for the first schedule to start.

        */ - DryRun?: boolean; -} + FirstSlotStartTime?: Date; -/** - * @public - *

        Contains the output of DescribeSpotDatafeedSubscription.

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

        The Spot Instance data feed subscription.

        + *

        The hourly price for a single instance.

        */ - SpotDatafeedSubscription?: SpotDatafeedSubscription; -} + HourlyPrice?: string; -/** - * @public - *

        Contains the parameters for DescribeSpotFleetInstances.

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

        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.

        + *

        The instance type. You can specify one of the C3, C4, M4, or R3 instance types.

        */ - DryRun?: boolean; + InstanceType?: string; /** * @public - *

        The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

        + *

        The maximum term. The only possible value is 365 days.

        */ - MaxResults?: number; + MaxTermDurationInDays?: number; /** * @public - *

        The token to include in another request to get the next page of items. This value is null when there - * are no more items to return.

        + *

        The minimum term. The only possible value is 365 days.

        */ - NextToken?: string; + MinTermDurationInDays?: number; /** * @public - *

        The ID of the Spot Fleet request.

        + *

        The network platform.

        */ - SpotFleetRequestId: string | undefined; -} + NetworkPlatform?: string; -/** - * @public - *

        Contains the output of DescribeSpotFleetInstances.

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

        The running instances. This list is refreshed periodically and might be out of - * date.

        + *

        The platform (Linux/UNIX or Windows).

        */ - ActiveInstances?: ActiveInstance[]; + Platform?: string; /** * @public - *

        The token to include in another request to get the next page of items. This value is null when there - * are no more items to return.

        + *

        The purchase token. This token expires in two hours.

        */ - NextToken?: string; + PurchaseToken?: string; /** * @public - *

        The ID of the Spot Fleet request.

        + *

        The schedule recurrence.

        */ - SpotFleetRequestId?: string; -} - -/** - * @public - * @enum - */ -export const EventType = { - BATCH_CHANGE: "fleetRequestChange", - ERROR: "error", - INFORMATION: "information", - INSTANCE_CHANGE: "instanceChange", -} as const; - -/** - * @public - */ -export type EventType = (typeof EventType)[keyof typeof EventType]; + Recurrence?: ScheduledInstanceRecurrence; -/** - * @public - *

        Contains the parameters for DescribeSpotFleetRequestHistory.

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

        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.

        + *

        The number of hours in the schedule.

        */ - DryRun?: boolean; + SlotDurationInHours?: number; /** * @public - *

        The type of events to describe. By default, all events are described.

        + *

        The total number of hours for a single instance for the entire term.

        */ - EventType?: EventType; + TotalScheduledInstanceHours?: number; +} +/** + * @public + *

        Contains the output of DescribeScheduledInstanceAvailability.

        + */ +export interface DescribeScheduledInstanceAvailabilityResult { /** * @public - *

        The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

        + *

        The token required to retrieve the next set of results. This value is null when there are no more results to return.

        */ - MaxResults?: number; + NextToken?: string; /** * @public - *

        The token to include in another request to get the next page of items. This value is null when there - * are no more items to return.

        + *

        Information about the available Scheduled Instances.

        */ - NextToken?: string; + ScheduledInstanceAvailabilitySet?: ScheduledInstanceAvailability[]; +} +/** + * @public + *

        Describes the time period for a Scheduled Instance to start its first schedule.

        + */ +export interface SlotStartTimeRangeRequest { /** * @public - *

        The ID of the Spot Fleet request.

        + *

        The earliest date and time, in UTC, for the Scheduled Instance to start.

        */ - SpotFleetRequestId: string | undefined; + EarliestTime?: Date; /** * @public - *

        The starting date and time for the events, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

        + *

        The latest date and time, in UTC, for the Scheduled Instance to start.

        */ - StartTime: Date | undefined; + LatestTime?: Date; } /** * @public - *

        Describes an event in the history of the Spot Fleet request.

        + *

        Contains the parameters for DescribeScheduledInstances.

        */ -export interface HistoryRecord { +export interface DescribeScheduledInstancesRequest { /** * @public - *

        Information about the event.

        + *

        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.

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

        The event type.

        + *

        The filters.

        *
          *
        • *

          - * error - An error with the Spot Fleet request.

          - *
        • - *
        • - *

          - * fleetRequestChange - A change in the status or configuration of - * the Spot Fleet request.

          + * availability-zone - The Availability Zone (for example, us-west-2a).

          *
        • *
        • *

          - * instanceChange - An instance was launched or terminated.

          + * instance-type - The instance type (for example, c4.large).

          *
        • *
        • *

          - * Information - An informational event.

          + * platform - The platform (Linux/UNIX or Windows).

          *
        • *
        */ - EventType?: EventType; - - /** - * @public - *

        The date and time of the event, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

        - */ - Timestamp?: Date; -} - -/** - * @public - *

        Contains the output of DescribeSpotFleetRequestHistory.

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

        Information about the events in the history of the Spot Fleet request.

        - */ - HistoryRecords?: HistoryRecord[]; + Filters?: Filter[]; /** * @public - *

        The last date and time for the events, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ). - * All records up to this time were retrieved.

        - *

        If nextToken indicates that there are more items, this value is not - * present.

        + *

        The maximum number of results to return in a single call. + * This value can be between 5 and 300. The default value is 100. + * To retrieve the remaining results, make another call with the returned + * NextToken value.

        */ - LastEvaluatedTime?: Date; + MaxResults?: number; /** * @public - *

        The token to include in another request to get the next page of items. This value is null when there - * are no more items to return.

        + *

        The token for the next set of results.

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

        The ID of the Spot Fleet request.

        + *

        The Scheduled Instance IDs.

        */ - SpotFleetRequestId?: string; + ScheduledInstanceIds?: string[]; /** * @public - *

        The starting date and time for the events, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

        + *

        The time period for the first schedule to start.

        */ - StartTime?: Date; + SlotStartTimeRange?: SlotStartTimeRangeRequest; } /** * @public - *

        Contains the parameters for DescribeSpotFleetRequests.

        + *

        Describes a Scheduled Instance.

        */ -export interface DescribeSpotFleetRequestsRequest { +export interface ScheduledInstance { /** * @public - *

        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.

        + *

        The Availability Zone.

        */ - DryRun?: boolean; + AvailabilityZone?: string; /** * @public - *

        The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

        + *

        The date when the Scheduled Instance was purchased.

        */ - MaxResults?: number; + CreateDate?: Date; /** * @public - *

        The token to include in another request to get the next page of items. This value is null when there - * are no more items to return.

        + *

        The hourly price for a single instance.

        */ - NextToken?: string; + HourlyPrice?: string; /** * @public - *

        The IDs of the Spot Fleet requests.

        + *

        The number of instances.

        */ - SpotFleetRequestIds?: string[]; -} + InstanceCount?: number; -/** - * @public - * @enum - */ -export const ExcessCapacityTerminationPolicy = { - DEFAULT: "default", - NO_TERMINATION: "noTermination", -} as const; + /** + * @public + *

        The instance type.

        + */ + InstanceType?: string; -/** - * @public - */ -export type ExcessCapacityTerminationPolicy = - (typeof ExcessCapacityTerminationPolicy)[keyof typeof ExcessCapacityTerminationPolicy]; + /** + * @public + *

        The network platform.

        + */ + NetworkPlatform?: string; -/** - * @public - *

        Describes whether monitoring is enabled.

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

        Enables monitoring for the instance.

        - *

        Default: false - *

        + *

        The time for the next schedule to start.

        */ - Enabled?: boolean; -} + NextSlotStartTime?: Date; -/** - * @public - *

        Describes a network interface.

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

        Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The - * public IP address can only be assigned to a network interface for eth0, and can only be - * assigned to a new network interface, not an existing one. You cannot specify more than one - * network interface in the request. If launching into a default subnet, the default value is - * true.

        + *

        The platform (Linux/UNIX or Windows).

        */ - AssociatePublicIpAddress?: boolean; + Platform?: string; /** * @public - *

        If set to true, the interface is deleted when the instance is terminated. You can - * specify true only if creating a new network interface when launching an - * instance.

        + *

        The time that the previous schedule ended or will end.

        */ - DeleteOnTermination?: boolean; + PreviousSlotEndTime?: Date; /** * @public - *

        The description of the network interface. Applies only if creating a network interface when launching an instance.

        + *

        The schedule recurrence.

        */ - Description?: string; + Recurrence?: ScheduledInstanceRecurrence; /** * @public - *

        The position of the network interface in the attachment order. - * A primary network interface has a device index of 0.

        - *

        If you specify a network interface when launching an instance, - * you must specify the device index.

        + *

        The Scheduled Instance ID.

        */ - DeviceIndex?: number; + ScheduledInstanceId?: string; /** * @public - *

        The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.

        + *

        The number of hours in the schedule.

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

        A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses - * the IPv6 addresses from the range of the subnet. You cannot specify this option and the - * option to assign specific IPv6 addresses in the same request. You can specify this - * option if you've specified a minimum number of instances to launch.

        + *

        The end date for the Scheduled Instance.

        */ - Ipv6AddressCount?: number; + TermEndDate?: Date; /** * @public - *

        The IPv6 addresses to assign to the network interface. You cannot specify - * this option and the option to assign a number of IPv6 addresses in the same request. You - * cannot specify this option if you've specified a minimum number of instances to - * launch.

        + *

        The start date for the Scheduled Instance.

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

        The ID of the network interface.

        - *

        If you are creating a Spot Fleet, omit this parameter because you can’t specify a network interface ID in a launch specification.

        + *

        The total number of hours for a single instance for the entire term.

        */ - NetworkInterfaceId?: string; + TotalScheduledInstanceHours?: number; +} +/** + * @public + *

        Contains the output of DescribeScheduledInstances.

        + */ +export interface DescribeScheduledInstancesResult { /** * @public - *

        The private IPv4 address of the network interface. Applies only if creating a network interface when launching an instance. You cannot specify this option if you're launching - * more than one instance in a RunInstances request.

        + *

        The token required to retrieve the next set of results. This value is null when there are no more results to return.

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

        The private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary. You cannot specify this option if you're - * launching more than one instance in a RunInstances request.

        + *

        Information about the Scheduled Instances.

        */ - PrivateIpAddresses?: PrivateIpAddressSpecification[]; + ScheduledInstanceSet?: ScheduledInstance[]; +} +/** + * @public + */ +export interface DescribeSecurityGroupReferencesRequest { /** * @public - *

        The number of secondary private IPv4 addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option. You cannot specify this option if you're - * launching more than one instance in a RunInstances request.

        + *

        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.

        */ - SecondaryPrivateIpAddressCount?: number; + DryRun?: boolean; /** * @public - *

        The ID of the subnet associated with the network interface. Applies only if creating a network interface when launching an instance.

        + *

        The IDs of the security groups in your account.

        */ - SubnetId?: string; + GroupId: string[] | undefined; +} +/** + * @public + *

        Describes a VPC with a security group that references your security group.

        + */ +export interface SecurityGroupReference { /** * @public - *

        Indicates whether to assign a carrier IP address to the network interface.

        - *

        You can only assign a carrier IP address to a network interface that is in a subnet in - * a Wavelength Zone. For more information about carrier IP addresses, see Carrier IP address in the Amazon Web Services Wavelength Developer - * Guide.

        + *

        The ID of your security group.

        */ - AssociateCarrierIpAddress?: boolean; + GroupId?: string; /** * @public - *

        The type of network interface.

        - *

        Valid values: interface | efa - *

        + *

        The ID of the VPC with the referencing security group.

        */ - InterfaceType?: string; + ReferencingVpcId?: string; /** * @public - *

        The index of the network card. Some instance types support multiple network cards. - * The primary network interface must be assigned to network card index 0. - * The default is network card index 0.

        - *

        If you are using RequestSpotInstances to create Spot Instances, omit this parameter because - * you can’t specify the network card index when using this API. To specify the network - * card index, use RunInstances.

        + *

        The ID of the VPC peering connection.

        */ - NetworkCardIndex?: number; + VpcPeeringConnectionId?: string; +} +/** + * @public + */ +export interface DescribeSecurityGroupReferencesResult { /** * @public - *

        The IPv4 delegated prefixes to be assigned to the network interface. You cannot - * use this option if you use the Ipv4PrefixCount option.

        + *

        Information about the VPCs with the referencing security groups.

        */ - Ipv4Prefixes?: Ipv4PrefixSpecificationRequest[]; + SecurityGroupReferenceSet?: SecurityGroupReference[]; +} +/** + * @public + */ +export interface DescribeSecurityGroupRulesRequest { /** * @public - *

        The number of IPv4 delegated prefixes to be automatically assigned to the network interface. - * You cannot use this option if you use the Ipv4Prefix option.

        + *

        One or more filters.

        + *
          + *
        • + *

          + * group-id - The ID of the security group.

          + *
        • + *
        • + *

          + * security-group-rule-id - The ID of the security group rule.

          + *
        • + *
        • + *

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

          + *
        • + *
        */ - Ipv4PrefixCount?: number; + Filters?: Filter[]; /** * @public - *

        The IPv6 delegated prefixes to be assigned to the network interface. You cannot - * use this option if you use the Ipv6PrefixCount option.

        + *

        The IDs of the security group rules.

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

        The number of IPv6 delegated prefixes to be automatically assigned to the network interface. - * You cannot use this option if you use the Ipv6Prefix option.

        + *

        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.

        */ - Ipv6PrefixCount?: number; + DryRun?: boolean; /** * @public - *

        The primary IPv6 address of the network interface. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. For more information about primary IPv6 addresses, see RunInstances.

        + *

        The token returned from a previous paginated request. + * Pagination continues from the end of the items returned by the previous request.

        */ - PrimaryIpv6?: boolean; + NextToken?: string; /** * @public - *

        Specifies the ENA Express settings for the network interface that's attached to - * the instance.

        + *

        The maximum number of items to return for this request. To get the next page of + * items, make another request with the token returned in the output. This value + * can be between 5 and 1000. If this parameter is not specified, then all items are + * returned. For more information, see Pagination.

        */ - EnaSrdSpecification?: EnaSrdSpecificationRequest; + MaxResults?: number; } /** * @public - *

        Describes Spot Instance placement.

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

        The Availability Zone.

        - *

        [Spot Fleet only] To specify multiple Availability Zones, separate them using commas; - * for example, "us-west-2a, us-west-2b".

        - */ - AvailabilityZone?: string; - +export interface DescribeSecurityGroupRulesResult { /** * @public - *

        The name of the placement group.

        + *

        Information about security group rules.

        */ - GroupName?: string; + SecurityGroupRules?: SecurityGroupRule[]; /** * @public - *

        The tenancy of the instance (if the instance is running in a VPC). An instance with a - * tenancy of dedicated runs on single-tenant hardware. The host - * tenancy is not supported for Spot Instances.

        + *

        The token to include in another request to get the next page of items. + * This value is null when there are no more items to return.

        */ - Tenancy?: Tenancy; + NextToken?: string; } /** * @public - *

        The tags for a Spot Fleet resource.

        */ -export interface SpotFleetTagSpecification { +export interface DescribeSecurityGroupsRequest { /** * @public - *

        The type of resource. Currently, the only resource type that is supported is - * instance. To tag the Spot Fleet request on creation, use the - * TagSpecifications parameter in - * SpotFleetRequestConfigData - * .

        + *

        The filters. If using multiple filters for rules, the results include security groups for which any combination of rules - not necessarily a single rule - match all filters.

        + *
          + *
        • + *

          + * description - The description of the security group.

          + *
        • + *
        • + *

          + * egress.ip-permission.cidr - An IPv4 CIDR block for an outbound + * security group rule.

          + *
        • + *
        • + *

          + * egress.ip-permission.from-port - For an outbound rule, the + * start of port range for the TCP and UDP protocols, or an ICMP type + * number.

          + *
        • + *
        • + *

          + * egress.ip-permission.group-id - The ID of a security group + * that has been referenced in an outbound security group rule.

          + *
        • + *
        • + *

          + * egress.ip-permission.group-name - The name of a security group + * that is referenced in an outbound security group rule.

          + *
        • + *
        • + *

          + * egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an + * outbound security group rule.

          + *
        • + *
        • + *

          + * egress.ip-permission.prefix-list-id - The ID of a prefix list to which a security group rule allows outbound access.

          + *
        • + *
        • + *

          + * egress.ip-permission.protocol - The IP protocol for an + * outbound security group rule (tcp | udp | + * icmp, a protocol number, or -1 for all protocols).

          + *
        • + *
        • + *

          + * egress.ip-permission.to-port - For an outbound rule, the end + * of port range for the TCP and UDP protocols, or an ICMP code.

          + *
        • + *
        • + *

          + * egress.ip-permission.user-id - The ID of an Amazon Web Services account that + * has been referenced in an outbound security group rule.

          + *
        • + *
        • + *

          + * group-id - The ID of the security group.

          + *
        • + *
        • + *

          + * group-name - The name of the security group.

          + *
        • + *
        • + *

          + * ip-permission.cidr - An IPv4 CIDR block for an inbound security + * group rule.

          + *
        • + *
        • + *

          + * ip-permission.from-port - For an inbound rule, the start of port + * range for the TCP and UDP protocols, or an ICMP type number.

          + *
        • + *
        • + *

          + * ip-permission.group-id - The ID of a security group that has been + * referenced in an inbound security group rule.

          + *
        • + *
        • + *

          + * ip-permission.group-name - The name of a security group that is + * referenced in an inbound security group rule.

          + *
        • + *
        • + *

          + * ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security + * group rule.

          + *
        • + *
        • + *

          + * ip-permission.prefix-list-id - The ID of a prefix list from which a security group rule allows inbound access.

          + *
        • + *
        • + *

          + * ip-permission.protocol - The IP protocol for an inbound security + * group rule (tcp | udp | icmp, a + * protocol number, or -1 for all protocols).

          + *
        • + *
        • + *

          + * ip-permission.to-port - For an inbound rule, the end of port range + * for the TCP and UDP protocols, or an ICMP code.

          + *
        • + *
        • + *

          + * ip-permission.user-id - The ID of an Amazon Web Services account that has been + * referenced in an inbound security group rule.

          + *
        • + *
        • + *

          + * owner-id - The Amazon Web Services account ID of the owner of the security group.

          + *
        • + *
        • + *

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

          + *
        • + *
        • + *

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

          + *
        • + *
        • + *

          + * vpc-id - The ID of the VPC specified when the security group was created.

          + *
        • + *
        */ - ResourceType?: ResourceType; + Filters?: Filter[]; /** * @public - *

        The tags.

        + *

        The IDs of the security groups. Required for security groups in a nondefault VPC.

        + *

        Default: Describes all of your security groups.

        */ - Tags?: Tag[]; -} + GroupIds?: string[]; -/** - * @public - *

        Describes the launch specification for one or more Spot Instances. If you include - * On-Demand capacity in your fleet request or want to specify an EFA network device, you - * can't use SpotFleetLaunchSpecification; you must use LaunchTemplateConfig.

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

        The security groups.

        + *

        [Default VPC] The names of the security groups. You can specify either + * the security group name or the security group ID.

        + *

        Default: Describes all of your security groups.

        */ - SecurityGroups?: GroupIdentifier[]; + GroupNames?: string[]; /** * @public - *

        Deprecated.

        + *

        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.

        */ - AddressingType?: string; + DryRun?: boolean; /** * @public - *

        One or more block devices that are mapped to the Spot Instances. You can't specify both - * a snapshot ID and an encryption value. This is because only blank volumes can be - * encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its - * encryption status is used for the volume encryption status.

        + *

        The token returned from a previous paginated request. + * Pagination continues from the end of the items returned by the previous request.

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

        Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

        - *

        Default: false - *

        + *

        The maximum number of items to return for this request. To get the next page of items, + * make another request with the token returned in the output. This value can be between 5 and 1000. + * If this parameter is not specified, then all items are returned. For more information, see + * Pagination.

        */ - EbsOptimized?: boolean; + MaxResults?: number; +} +/** + * @public + *

        Describes a security group.

        + */ +export interface SecurityGroup { /** * @public - *

        The IAM instance profile.

        + *

        A description of the security group.

        */ - IamInstanceProfile?: IamInstanceProfileSpecification; + Description?: string; /** * @public - *

        The ID of the AMI.

        + *

        The name of the security group.

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

        The instance type.

        + *

        The inbound rules associated with the security group.

        */ - InstanceType?: _InstanceType; + IpPermissions?: IpPermission[]; /** * @public - *

        The ID of the kernel.

        + *

        The Amazon Web Services account ID of the owner of the security group.

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

        The name of the key pair.

        + *

        The ID of the security group.

        */ - KeyName?: string; + GroupId?: string; /** * @public - *

        Enable or disable monitoring for the instances.

        + *

        The outbound rules associated with the security group.

        */ - Monitoring?: SpotFleetMonitoring; + IpPermissionsEgress?: IpPermission[]; /** * @public - *

        One or more network interfaces. If you specify a network interface, you must specify - * subnet IDs and security group IDs using the network interface.

        - * - *

        - * SpotFleetLaunchSpecification currently does not support Elastic Fabric Adapter (EFA). To specify an EFA, you must use LaunchTemplateConfig.

        - *
        + *

        Any tags assigned to the security group.

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

        The placement information.

        + *

        The ID of the VPC for the security group.

        */ - Placement?: SpotPlacement; + VpcId?: string; +} +/** + * @public + */ +export interface DescribeSecurityGroupsResult { /** * @public - *

        The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel - * requirements for information about whether you need to specify a RAM disk. To find kernel - * requirements, refer to the Amazon Web Services Resource Center and search for the kernel ID.

        + *

        Information about the security groups.

        */ - RamdiskId?: string; + SecurityGroups?: SecurityGroup[]; /** * @public - *

        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.

        - *
        + *

        The token to include in another request to get the next page of items. + * This value is null when there are no more items to return.

        */ - SpotPrice?: string; + NextToken?: string; +} + +/** + * @public + * @enum + */ +export const SnapshotAttributeName = { + createVolumePermission: "createVolumePermission", + productCodes: "productCodes", +} as const; + +/** + * @public + */ +export type SnapshotAttributeName = (typeof SnapshotAttributeName)[keyof typeof SnapshotAttributeName]; +/** + * @public + */ +export interface DescribeSnapshotAttributeRequest { /** * @public - *

        The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate - * them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".

        + *

        The snapshot attribute you would like to view.

        */ - SubnetId?: string; + Attribute: SnapshotAttributeName | undefined; /** * @public - *

        The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.

        + *

        The ID of the EBS snapshot.

        */ - UserData?: string; + SnapshotId: string | undefined; /** * @public - *

        The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

        - *

        If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

        + *

        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.

        */ - WeightedCapacity?: number; + DryRun?: boolean; +} +/** + * @public + *

        Describes the user or group to be added or removed from the list of create volume + * permissions for a volume.

        + */ +export interface CreateVolumePermission { /** * @public - *

        The tags to apply during creation.

        + *

        The group to be added or removed. The possible value is all.

        */ - TagSpecifications?: SpotFleetTagSpecification[]; + Group?: PermissionGroup; /** * @public - *

        The attributes for the instance types. When you specify instance attributes, Amazon EC2 will - * identify instance types with those attributes.

        - * - *

        If you specify InstanceRequirements, you can't specify - * InstanceType.

        - *
        + *

        The ID of the Amazon Web Services account to be added or removed.

        */ - InstanceRequirements?: InstanceRequirements; + UserId?: string; } /** * @public - *

        Describes overrides for a launch template.

        */ -export interface LaunchTemplateOverrides { +export interface DescribeSnapshotAttributeResult { /** * @public - *

        The instance type.

        + *

        The users and groups that have the permissions for creating volumes from the + * snapshot.

        */ - InstanceType?: _InstanceType; + CreateVolumePermissions?: CreateVolumePermission[]; /** * @public - *

        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.

        - *
        + *

        The product codes.

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

        The ID of the subnet in which to launch the instances.

        + *

        The ID of the EBS snapshot.

        */ - SubnetId?: string; + SnapshotId?: string; +} +/** + * @public + */ +export interface DescribeSnapshotsRequest { /** * @public - *

        The Availability Zone in which to launch the instances.

        + *

        The filters.

        + *
          + *
        • + *

          + * description - A description of the snapshot.

          + *
        • + *
        • + *

          + * encrypted - Indicates whether the snapshot is encrypted + * (true | false)

          + *
        • + *
        • + *

          + * owner-alias - The owner alias, from an Amazon-maintained list + * (amazon). + * This is not the user-configured Amazon Web Services account alias set using the IAM console. + * We recommend that you use the related parameter instead of this filter.

          + *
        • + *
        • + *

          + * owner-id - The Amazon Web Services account ID of the owner. We recommend that + * you use the related parameter instead of this filter.

          + *
        • + *
        • + *

          + * progress - The progress of the snapshot, as a percentage (for example, + * 80%).

          + *
        • + *
        • + *

          + * snapshot-id - The snapshot ID.

          + *
        • + *
        • + *

          + * start-time - The time stamp when the snapshot was initiated.

          + *
        • + *
        • + *

          + * status - The status of the snapshot (pending | + * completed | error).

          + *
        • + *
        • + *

          + * storage-tier - The storage tier of the snapshot (archive | + * standard).

          + *
        • + *
        • + *

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

          + *
        • + *
        • + *

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

          + *
        • + *
        • + *

          + * volume-id - The ID of the volume the snapshot is for.

          + *
        • + *
        • + *

          + * volume-size - The size of the volume, in GiB.

          + *
        • + *
        */ - AvailabilityZone?: string; + Filters?: Filter[]; /** * @public - *

        The number of units provided by the specified instance type.

        + *

        The maximum number of snapshots to return for this request. + * This value can be between 5 and 1,000; if this value is larger than 1,000, only 1,000 results are returned. + * If this parameter is not used, then the request returns all snapshots. + * You cannot specify this parameter and the snapshot IDs parameter in the same request. For more information, + * see Pagination.

        */ - WeightedCapacity?: number; + MaxResults?: number; /** * @public - *

        The priority for the launch template override. The highest priority is launched - * first.

        - *

        If OnDemandAllocationStrategy is set to prioritized, Spot Fleet - * uses priority to determine which launch template override to use first in fulfilling - * On-Demand capacity.

        - *

        If the Spot AllocationStrategy is set to - * capacityOptimizedPrioritized, Spot Fleet uses priority on a best-effort basis - * to determine which launch template override to use in fulfilling Spot capacity, but - * optimizes for capacity first.

        - *

        Valid values are whole numbers starting at 0. The lower the number, the - * higher the priority. If no number is set, the launch template override has the lowest - * priority. You can set the same priority for different launch template overrides.

        + *

        The token returned from a previous paginated request. + * Pagination continues from the end of the items returned by the previous request.

        */ - Priority?: number; + NextToken?: string; /** * @public - *

        The instance requirements. When you specify instance requirements, Amazon EC2 will identify - * instance types with the provided requirements, and then use your On-Demand and Spot - * allocation strategies to launch instances from these instance types, in the same way as - * when you specify a list of instance types.

        - * - *

        If you specify InstanceRequirements, you can't specify - * InstanceType.

        - *
        + *

        Scopes the results to snapshots with the specified owners. You can specify a combination of + * Amazon Web Services account IDs, self, and amazon.

        */ - InstanceRequirements?: InstanceRequirements; -} + OwnerIds?: string[]; -/** - * @public - *

        Describes a launch template and overrides.

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

        The launch template to use. Make sure that the launch template does not contain the - * NetworkInterfaceId parameter because you can't specify a network interface - * ID in a Spot Fleet.

        + *

        The IDs of the Amazon Web Services accounts that can create volumes from the snapshot.

        */ - LaunchTemplateSpecification?: FleetLaunchTemplateSpecification; + RestorableByUserIds?: string[]; /** * @public - *

        Any parameters that you specify override the same parameters in the launch - * template.

        + *

        The snapshot IDs.

        + *

        Default: Describes the snapshots for which you have create volume permissions.

        */ - Overrides?: LaunchTemplateOverrides[]; -} + SnapshotIds?: string[]; -/** - * @public - *

        Describes a Classic Load Balancer.

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

        The name of the load balancer.

        + *

        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.

        */ - Name?: string; + DryRun?: boolean; } /** * @public - *

        Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet registers - * the running Spot Instances with these Classic Load Balancers.

        */ -export interface ClassicLoadBalancersConfig { +export interface DescribeSnapshotsResult { /** * @public - *

        One or more Classic Load Balancers.

        + *

        Information about the snapshots.

        */ - ClassicLoadBalancers?: ClassicLoadBalancer[]; -} + Snapshots?: Snapshot[]; -/** - * @public - *

        Describes a load balancer target group.

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

        The Amazon Resource Name (ARN) of the target group.

        + *

        The token to include in another request to return the next page of snapshots. + * This value is null when there are no more snapshots to return.

        */ - Arn?: string; + NextToken?: string; } /** * @public - *

        Describes the target groups to attach to a Spot Fleet. Spot Fleet registers the - * running Spot Instances with these target groups.

        */ -export interface TargetGroupsConfig { +export interface DescribeSnapshotTierStatusRequest { /** * @public - *

        One or more target groups.

        + *

        The filters.

        + *
          + *
        • + *

          + * snapshot-id - The snapshot ID.

          + *
        • + *
        • + *

          + * volume-id - The ID of the volume the snapshot is for.

          + *
        • + *
        • + *

          + * last-tiering-operation - The state of the last archive or restore action. (archival-in-progress | archival-completed | + * archival-failed | permanent-restore-in-progress | permanent-restore-completed | permanent-restore-failed | + * temporary-restore-in-progress | temporary-restore-completed | temporary-restore-failed)

          + *
        • + *
        */ - TargetGroups?: TargetGroup[]; -} + Filters?: Filter[]; + + /** + * @public + *

        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.

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

        Describes the Classic Load Balancers and target groups to attach to a Spot Fleet - * request.

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

        The Classic Load Balancers.

        + *

        The token returned from a previous paginated request. + * Pagination continues from the end of the items returned by the previous request.

        */ - ClassicLoadBalancersConfig?: ClassicLoadBalancersConfig; + NextToken?: string; /** * @public - *

        The target groups.

        + *

        The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

        */ - TargetGroupsConfig?: TargetGroupsConfig; + MaxResults?: number; } /** * @public * @enum */ -export const OnDemandAllocationStrategy = { - LOWEST_PRICE: "lowestPrice", - PRIORITIZED: "prioritized", +export const TieringOperationStatus = { + archival_completed: "archival-completed", + archival_failed: "archival-failed", + archival_in_progress: "archival-in-progress", + permanent_restore_completed: "permanent-restore-completed", + permanent_restore_failed: "permanent-restore-failed", + permanent_restore_in_progress: "permanent-restore-in-progress", + temporary_restore_completed: "temporary-restore-completed", + temporary_restore_failed: "temporary-restore-failed", + temporary_restore_in_progress: "temporary-restore-in-progress", } as const; /** * @public */ -export type OnDemandAllocationStrategy = (typeof OnDemandAllocationStrategy)[keyof typeof OnDemandAllocationStrategy]; +export type TieringOperationStatus = (typeof TieringOperationStatus)[keyof typeof TieringOperationStatus]; /** * @public - * @enum + *

        Provides information about a snapshot's storage tier.

        */ -export const ReplacementStrategy = { - LAUNCH: "launch", - LAUNCH_BEFORE_TERMINATE: "launch-before-terminate", -} as const; +export interface SnapshotTierStatus { + /** + * @public + *

        The ID of the snapshot.

        + */ + SnapshotId?: string; -/** - * @public - */ -export type ReplacementStrategy = (typeof ReplacementStrategy)[keyof typeof ReplacementStrategy]; + /** + * @public + *

        The ID of the volume from which the snapshot was created.

        + */ + VolumeId?: string; -/** - * @public - *

        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 for Linux Instances.

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

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

        - *

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

        - *

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

        + *

        The state of the snapshot.

        */ - ReplacementStrategy?: ReplacementStrategy; + Status?: SnapshotState; /** * @public - *

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

        - *

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

        - *

        Not valid when ReplacementStrategy is set to launch.

        - *

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

        + *

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

        */ - TerminationDelay?: number; -} + OwnerId?: string; -/** - * @public - *

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

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

        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 for Linux Instances.

        + *

        The tags that are assigned to the snapshot.

        */ - CapacityRebalance?: SpotCapacityRebalance; -} + Tags?: Tag[]; -/** - * @public - *

        Describes the configuration of a Spot Fleet request.

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

        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
        - *
        - *

        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 - *

        + *

        The storage tier in which the snapshot is stored. standard indicates + * that the snapshot is stored in the standard snapshot storage tier and that it is ready + * for use. archive indicates that the snapshot is currently archived and that + * it must be restored before it can be used.

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

        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.

        + *

        The date and time when the last archive or restore process was started.

        */ - OnDemandAllocationStrategy?: OnDemandAllocationStrategy; + LastTieringStartTime?: Date; /** * @public - *

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

        + *

        The progress of the last archive or restore process, as a percentage.

        */ - SpotMaintenanceStrategies?: SpotMaintenanceStrategies; + LastTieringProgress?: number; /** * @public - *

        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.

        + *

        The status of the last archive or restore process.

        */ - ClientToken?: string; + LastTieringOperationStatus?: TieringOperationStatus; /** * @public - *

        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.

        + *

        A message describing the status of the last archive or restore process.

        */ - ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy; + LastTieringOperationStatusDetail?: string; /** * @public - *

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

        + *

        The date and time when the last archive process was completed.

        */ - FulfilledCapacity?: number; + ArchivalCompleteTime?: Date; /** * @public - *

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

        + *

        Only for archived snapshots that are temporarily restored. Indicates the date and + * time when a temporarily restored snapshot will be automatically re-archived.

        */ - OnDemandFulfilledCapacity?: number; + RestoreExpiryTime?: Date; +} + +/** + * @public + */ +export interface DescribeSnapshotTierStatusResult { + /** + * @public + *

        Information about the snapshot's storage tier.

        + */ + SnapshotTierStatuses?: SnapshotTierStatus[]; /** * @public - *

        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.

        + *

        The token to include in another request to get the next page of items. + * This value is null when there are no more items to return.

        */ - IamFleetRole: string | undefined; + NextToken?: string; +} +/** + * @public + *

        Contains the parameters for DescribeSpotDatafeedSubscription.

        + */ +export interface DescribeSpotDatafeedSubscriptionRequest { /** * @public - *

        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.

        + *

        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.

        */ - LaunchSpecifications?: SpotFleetLaunchSpecification[]; + DryRun?: boolean; +} +/** + * @public + *

        Contains the output of DescribeSpotDatafeedSubscription.

        + */ +export interface DescribeSpotDatafeedSubscriptionResult { /** * @public - *

        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.

        + *

        The Spot Instance data feed subscription.

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

        Contains the parameters for DescribeSpotFleetInstances.

        + */ +export interface DescribeSpotFleetInstancesRequest { /** * @public - *

        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.

        - *
        + *

        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.

        */ - SpotPrice?: string; + DryRun?: boolean; /** * @public - *

        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.

        + *

        The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

        */ - TargetCapacity: number | undefined; + MaxResults?: number; /** * @public - *

        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.

        + *

        The token to include in another request to get the next page of items. This value is null when there + * are no more items to return.

        */ - OnDemandTargetCapacity?: number; + NextToken?: string; /** * @public - *

        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 EC2 User - * Guide.

        - *
        + *

        The ID of the Spot Fleet request.

        */ - OnDemandMaxTotalPrice?: string; + SpotFleetRequestId: string | undefined; +} +/** + * @public + *

        Contains the output of DescribeSpotFleetInstances.

        + */ +export interface DescribeSpotFleetInstancesResponse { /** * @public - *

        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 EC2 User - * Guide.

        - *
        + *

        The running instances. This list is refreshed periodically and might be out of + * date.

        */ - SpotMaxTotalPrice?: string; + ActiveInstances?: ActiveInstance[]; /** * @public - *

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

        + *

        The token to include in another request to get the next page of items. This value is null when there + * are no more items to return.

        */ - TerminateInstancesWithExpiration?: boolean; + NextToken?: string; /** * @public - *

        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.

        + *

        The ID of the Spot Fleet request.

        */ - Type?: FleetType; + SpotFleetRequestId?: string; +} + +/** + * @public + * @enum + */ +export const EventType = { + BATCH_CHANGE: "fleetRequestChange", + ERROR: "error", + INFORMATION: "information", + INSTANCE_CHANGE: "instanceChange", +} as const; + +/** + * @public + */ +export type EventType = (typeof EventType)[keyof typeof EventType]; +/** + * @public + *

        Contains the parameters for DescribeSpotFleetRequestHistory.

        + */ +export interface DescribeSpotFleetRequestHistoryRequest { /** * @public - *

        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.

        + *

        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.

        */ - ValidFrom?: Date; + DryRun?: boolean; /** * @public - *

        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.

        + *

        The type of events to describe. By default, all events are described.

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

        Indicates whether Spot Fleet should replace unhealthy instances.

        + *

        The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

        */ - ReplaceUnhealthyInstances?: boolean; + MaxResults?: number; /** * @public - *

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

        + *

        The token to include in another request to get the next page of items. This value is null when there + * are no more items to return.

        */ - InstanceInterruptionBehavior?: InstanceInterruptionBehavior; + NextToken?: string; /** * @public - *

        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.

        + *

        The ID of the Spot Fleet request.

        */ - LoadBalancersConfig?: LoadBalancersConfig; + SpotFleetRequestId: string | undefined; /** * @public - *

        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.

        + *

        The starting date and time for the events, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

        */ - InstancePoolsToUseCount?: number; + StartTime: Date | undefined; +} +/** + * @public + *

        Describes an event in the history of the Spot Fleet request.

        + */ +export interface HistoryRecord { /** * @public - *

        Reserved.

        + *

        Information about the event.

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

        The unit for the target capacity. TargetCapacityUnitType can only be specified when InstanceRequirements is specified.

        - *

        Default: units (translates to number of instances)

        + *

        The event type.

        + *
          + *
        • + *

          + * error - An error with the Spot Fleet request.

          + *
        • + *
        • + *

          + * fleetRequestChange - A change in the status or configuration of + * the Spot Fleet request.

          + *
        • + *
        • + *

          + * instanceChange - An instance was launched or terminated.

          + *
        • + *
        • + *

          + * Information - An informational event.

          + *
        • + *
        */ - TargetCapacityUnitType?: TargetCapacityUnitType; + EventType?: EventType; /** * @public - *

        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.

        + *

        The date and time of the event, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

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

        Describes a Spot Fleet request.

        + *

        Contains the output of DescribeSpotFleetRequestHistory.

        */ -export interface SpotFleetRequestConfig { +export interface DescribeSpotFleetRequestHistoryResponse { /** * @public - *

        The progress of the Spot Fleet request. - * If there is an error, the status is error. - * After all requests are placed, the status is pending_fulfillment. - * If the size of the fleet is equal to or greater than its target capacity, the status is fulfilled. - * If the size of the fleet is decreased, the status is pending_termination - * while Spot Instances are terminating.

        + *

        Information about the events in the history of the Spot Fleet request.

        */ - ActivityStatus?: ActivityStatus; + HistoryRecords?: HistoryRecord[]; /** * @public - *

        The creation date and time of the request.

        + *

        The last date and time for the events, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ). + * All records up to this time were retrieved.

        + *

        If nextToken indicates that there are more items, this value is not + * present.

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

        The configuration of the Spot Fleet request.

        + *

        The token to include in another request to get the next page of items. This value is null when there + * are no more items to return.

        */ - SpotFleetRequestConfig?: SpotFleetRequestConfigData; + NextToken?: string; /** * @public *

        The ID of the Spot Fleet request.

        */ - SpotFleetRequestId?: string; + SpotFleetRequestId?: string; + + /** + * @public + *

        The starting date and time for the events, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

        + */ + StartTime?: Date; +} + +/** + * @public + *

        Contains the parameters for DescribeSpotFleetRequests.

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

        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.

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

        The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

        + */ + MaxResults?: number; /** * @public - *

        The state of the Spot Fleet request.

        + *

        The token to include in another request to get the next page of items. This value is null when there + * are no more items to return.

        */ - SpotFleetRequestState?: BatchState; + NextToken?: string; /** * @public - *

        The tags for a Spot Fleet resource.

        + *

        The IDs of the Spot Fleet requests.

        */ - Tags?: Tag[]; + SpotFleetRequestIds?: string[]; } /** * @public - *

        Contains the output of DescribeSpotFleetRequests.

        + * @enum */ -export interface DescribeSpotFleetRequestsResponse { - /** - * @public - *

        The token to include in another request to get the next page of items. This value is null when there - * are no more items to return.

        - */ - NextToken?: string; +export const ExcessCapacityTerminationPolicy = { + DEFAULT: "default", + NO_TERMINATION: "noTermination", +} as const; + +/** + * @public + */ +export type ExcessCapacityTerminationPolicy = + (typeof ExcessCapacityTerminationPolicy)[keyof typeof ExcessCapacityTerminationPolicy]; +/** + * @public + *

        Describes whether monitoring is enabled.

        + */ +export interface SpotFleetMonitoring { /** * @public - *

        Information about the configuration of your Spot Fleet.

        + *

        Enables monitoring for the instance.

        + *

        Default: false + *

        */ - SpotFleetRequestConfigs?: SpotFleetRequestConfig[]; + Enabled?: boolean; } /** * @public - *

        Contains the parameters for DescribeSpotInstanceRequests.

        + *

        Describes a network interface.

        */ -export interface DescribeSpotInstanceRequestsRequest { +export interface InstanceNetworkInterfaceSpecification { /** * @public - *

        The filters.

        - *
          - *
        • - *

          - * availability-zone-group - The Availability Zone group.

          - *
        • - *
        • - *

          - * create-time - The time stamp when the Spot Instance request was - * created.

          - *
        • - *
        • - *

          - * fault-code - The fault code related to the request.

          - *
        • - *
        • - *

          - * fault-message - The fault message related to the request.

          - *
        • - *
        • - *

          - * instance-id - The ID of the instance that fulfilled the - * request.

          - *
        • - *
        • - *

          - * launch-group - The Spot Instance launch group.

          - *
        • - *
        • - *

          - * launch.block-device-mapping.delete-on-termination - Indicates - * whether the EBS volume is deleted on instance termination.

          - *
        • - *
        • - *

          - * launch.block-device-mapping.device-name - The device name for the - * volume in the block device mapping (for example, /dev/sdh or - * xvdh).

          - *
        • - *
        • - *

          - * launch.block-device-mapping.snapshot-id - The ID of the snapshot - * for the EBS volume.

          - *
        • - *
        • - *

          - * launch.block-device-mapping.volume-size - The size of the EBS - * volume, in GiB.

          - *
        • - *
        • - *

          - * launch.block-device-mapping.volume-type - The type of EBS volume: - * gp2 for General Purpose SSD, io1 or - * io2 for Provisioned IOPS SSD, st1 for Throughput - * Optimized HDD, sc1for Cold HDD, or standard for - * Magnetic.

          - *
        • - *
        • - *

          - * launch.group-id - The ID of the security group for the - * instance.

          - *
        • - *
        • - *

          - * launch.group-name - The name of the security group for the - * instance.

          - *
        • - *
        • - *

          - * launch.image-id - The ID of the AMI.

          - *
        • - *
        • - *

          - * launch.instance-type - The type of instance (for example, - * m3.medium).

          - *
        • - *
        • - *

          - * launch.kernel-id - The kernel ID.

          - *
        • - *
        • - *

          - * launch.key-name - The name of the key pair the instance launched - * with.

          - *
        • - *
        • - *

          - * launch.monitoring-enabled - Whether detailed monitoring is - * enabled for the Spot Instance.

          - *
        • - *
        • - *

          - * launch.ramdisk-id - The RAM disk ID.

          - *
        • - *
        • - *

          - * launched-availability-zone - The Availability Zone in which the - * request is launched.

          - *
        • - *
        • - *

          - * network-interface.addresses.primary - Indicates whether the IP - * address is the primary private IP address.

          - *
        • - *
        • - *

          - * network-interface.delete-on-termination - Indicates whether the - * network interface is deleted when the instance is terminated.

          - *
        • - *
        • - *

          - * network-interface.description - A description of the network - * interface.

          - *
        • - *
        • - *

          - * network-interface.device-index - The index of the device for the - * network interface attachment on the instance.

          - *
        • - *
        • - *

          - * network-interface.group-id - The ID of the security group - * associated with the network interface.

          - *
        • - *
        • - *

          - * network-interface.network-interface-id - The ID of the network - * interface.

          - *
        • - *
        • - *

          - * network-interface.private-ip-address - The primary private IP - * address of the network interface.

          - *
        • - *
        • - *

          - * network-interface.subnet-id - The ID of the subnet for the - * instance.

          - *
        • - *
        • - *

          - * product-description - The product description associated with the - * instance (Linux/UNIX | Windows).

          - *
        • - *
        • - *

          - * spot-instance-request-id - The Spot Instance request ID.

          - *
        • - *
        • - *

          - * spot-price - The maximum hourly price for any Spot Instance - * launched to fulfill the request.

          - *
        • - *
        • - *

          - * state - The state of the Spot Instance request (open - * | active | closed | cancelled | - * failed). Spot request status information can help you track - * your Amazon EC2 Spot Instance requests. For more information, see Spot - * request status in the Amazon EC2 User Guide for Linux Instances.

          - *
        • - *
        • - *

          - * status-code - The short code describing the most recent - * evaluation of your Spot Instance request.

          - *
        • - *
        • - *

          - * status-message - The message explaining the status of the Spot - * Instance request.

          - *
        • - *
        • - *

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

          - *
        • - *
        • - *

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

          - *
        • - *
        • - *

          - * type - The type of Spot Instance request (one-time | - * persistent).

          - *
        • - *
        • - *

          - * valid-from - The start date of the request.

          - *
        • - *
        • - *

          - * valid-until - The end date of the request.

          - *
        • - *
        + *

        Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The + * public IP address can only be assigned to a network interface for eth0, and can only be + * assigned to a new network interface, not an existing one. You cannot specify more than one + * network interface in the request. If launching into a default subnet, the default value is + * true.

        */ - Filters?: Filter[]; + AssociatePublicIpAddress?: boolean; + + /** + * @public + *

        If set to true, the interface is deleted when the instance is terminated. You can + * specify true only if creating a new network interface when launching an + * instance.

        + */ + DeleteOnTermination?: boolean; /** * @public - *

        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.

        + *

        The description of the network interface. Applies only if creating a network interface when launching an instance.

        */ - DryRun?: boolean; + Description?: string; /** * @public - *

        The IDs of the Spot Instance requests.

        + *

        The position of the network interface in the attachment order. + * A primary network interface has a device index of 0.

        + *

        If you specify a network interface when launching an instance, + * you must specify the device index.

        */ - SpotInstanceRequestIds?: string[]; + DeviceIndex?: number; /** * @public - *

        The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

        + *

        The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.

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

        The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

        + *

        A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses + * the IPv6 addresses from the range of the subnet. You cannot specify this option and the + * option to assign specific IPv6 addresses in the same request. You can specify this + * option if you've specified a minimum number of instances to launch.

        */ - MaxResults?: number; -} + Ipv6AddressCount?: number; -/** - * @public - *

        Describes the monitoring of an instance.

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

        Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is - * enabled.

        + *

        The IPv6 addresses to assign to the network interface. You cannot specify + * this option and the option to assign a number of IPv6 addresses in the same request. You + * cannot specify this option if you've specified a minimum number of instances to + * launch.

        */ - Enabled: boolean | undefined; -} + Ipv6Addresses?: InstanceIpv6Address[]; -/** - * @public - *

        Describes the launch specification for an instance.

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

        The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.

        + *

        The ID of the network interface.

        + *

        If you are creating a Spot Fleet, omit this parameter because you can’t specify a network interface ID in a launch specification.

        */ - UserData?: string; + NetworkInterfaceId?: string; /** * @public - *

        The IDs of the security groups.

        + *

        The private IPv4 address of the network interface. Applies only if creating a network interface when launching an instance. You cannot specify this option if you're launching + * more than one instance in a RunInstances request.

        */ - SecurityGroups?: GroupIdentifier[]; + PrivateIpAddress?: string; /** * @public - *

        Deprecated.

        + *

        The private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary. You cannot specify this option if you're + * launching more than one instance in a RunInstances request.

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

        The block device mapping entries.

        + *

        The number of secondary private IPv4 addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option. You cannot specify this option if you're + * launching more than one instance in a RunInstances request.

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

        Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

        - *

        Default: false - *

        + *

        The ID of the subnet associated with the network interface. Applies only if creating a network interface when launching an instance.

        */ - EbsOptimized?: boolean; + SubnetId?: string; /** * @public - *

        The IAM instance profile.

        + *

        Indicates whether to assign a carrier IP address to the network interface.

        + *

        You can only assign a carrier IP address to a network interface that is in a subnet in + * a Wavelength Zone. For more information about carrier IP addresses, see Carrier IP address in the Amazon Web Services Wavelength Developer + * Guide.

        */ - IamInstanceProfile?: IamInstanceProfileSpecification; + AssociateCarrierIpAddress?: boolean; /** * @public - *

        The ID of the AMI.

        + *

        The type of network interface.

        + *

        Valid values: interface | efa + *

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

        The instance type. Only one instance type can be specified.

        + *

        The index of the network card. Some instance types support multiple network cards. + * The primary network interface must be assigned to network card index 0. + * The default is network card index 0.

        + *

        If you are using RequestSpotInstances to create Spot Instances, omit this parameter because + * you can’t specify the network card index when using this API. To specify the network + * card index, use RunInstances.

        */ - InstanceType?: _InstanceType; + NetworkCardIndex?: number; /** * @public - *

        The ID of the kernel.

        + *

        The IPv4 delegated prefixes to be assigned to the network interface. You cannot + * use this option if you use the Ipv4PrefixCount option.

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

        The name of the key pair.

        + *

        The number of IPv4 delegated prefixes to be automatically assigned to the network interface. + * You cannot use this option if you use the Ipv4Prefix option.

        */ - KeyName?: string; + Ipv4PrefixCount?: number; /** * @public - *

        The network interfaces. If you specify a network interface, you must specify - * subnet IDs and security group IDs using the network interface.

        + *

        The IPv6 delegated prefixes to be assigned to the network interface. You cannot + * use this option if you use the Ipv6PrefixCount option.

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

        The placement information for the instance.

        + *

        The number of IPv6 delegated prefixes to be automatically assigned to the network interface. + * You cannot use this option if you use the Ipv6Prefix option.

        */ - Placement?: SpotPlacement; + Ipv6PrefixCount?: number; /** * @public - *

        The ID of the RAM disk.

        + *

        The primary IPv6 address of the network interface. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. For more information about primary IPv6 addresses, see RunInstances.

        */ - RamdiskId?: string; + PrimaryIpv6?: boolean; /** * @public - *

        The ID of the subnet in which to launch the instance.

        + *

        Specifies the ENA Express settings for the network interface that's attached to + * the instance.

        */ - SubnetId?: string; + EnaSrdSpecification?: EnaSrdSpecificationRequest; /** * @public - *

        Describes the monitoring of an instance.

        + *

        A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

        */ - Monitoring?: RunInstancesMonitoringEnabled; + ConnectionTrackingSpecification?: ConnectionTrackingSpecificationRequest; } /** * @public - * @enum + *

        Describes Spot Instance placement.

        */ -export const SpotInstanceState = { - active: "active", - cancelled: "cancelled", - closed: "closed", - disabled: "disabled", - failed: "failed", - open: "open", -} as const; +export interface SpotPlacement { + /** + * @public + *

        The Availability Zone.

        + *

        [Spot Fleet only] To specify multiple Availability Zones, separate them using commas; + * for example, "us-west-2a, us-west-2b".

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

        The name of the placement group.

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

        The tenancy of the instance (if the instance is running in a VPC). An instance with a + * tenancy of dedicated runs on single-tenant hardware. The host + * tenancy is not supported for Spot Instances.

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

        The tags for a Spot Fleet resource.

        */ -export type SpotInstanceState = (typeof SpotInstanceState)[keyof typeof SpotInstanceState]; +export interface SpotFleetTagSpecification { + /** + * @public + *

        The type of resource. Currently, the only resource type that is supported is + * instance. To tag the Spot Fleet request on creation, use the + * TagSpecifications parameter in + * SpotFleetRequestConfigData + * .

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

        The tags.

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

        Describes the status of a Spot Instance request.

        + *

        Describes the launch specification for one or more Spot Instances. If you include + * On-Demand capacity in your fleet request or want to specify an EFA network device, you + * can't use SpotFleetLaunchSpecification; you must use LaunchTemplateConfig.

        */ -export interface SpotInstanceStatus { +export interface SpotFleetLaunchSpecification { /** * @public - *

        The status code. For a list of status codes, see Spot request status codes in the Amazon EC2 User Guide for Linux Instances.

        + *

        The security groups.

        */ - Code?: string; + SecurityGroups?: GroupIdentifier[]; /** * @public - *

        The description for the status code.

        + *

        Deprecated.

        */ - Message?: string; + AddressingType?: string; /** * @public - *

        The date and time of the most recent status update, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

        + *

        One or more block devices that are mapped to the Spot Instances. You can't specify both + * a snapshot ID and an encryption value. This is because only blank volumes can be + * encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its + * encryption status is used for the volume encryption status.

        */ - UpdateTime?: Date; -} + BlockDeviceMappings?: BlockDeviceMapping[]; -/** - * @public - *

        Describes a Spot Instance request.

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

        Deprecated.

        + *

        Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

        + *

        Default: false + *

        */ - ActualBlockHourlyPrice?: string; + EbsOptimized?: boolean; /** * @public - *

        The Availability Zone group. If you specify the same Availability Zone group for all Spot Instance requests, all Spot Instances are launched in the same Availability Zone.

        + *

        The IAM instance profile.

        + */ + IamInstanceProfile?: IamInstanceProfileSpecification; + + /** + * @public + *

        The ID of the AMI.

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

        The instance type.

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

        The ID of the kernel.

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

        The name of the key pair.

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

        Enable or disable monitoring for the instances.

        + */ + Monitoring?: SpotFleetMonitoring; + + /** + * @public + *

        One or more network interfaces. If you specify a network interface, you must specify + * subnet IDs and security group IDs using the network interface.

        + * + *

        + * SpotFleetLaunchSpecification currently does not support Elastic Fabric Adapter (EFA). To specify an EFA, you must use LaunchTemplateConfig.

        + *
        */ - AvailabilityZoneGroup?: string; + NetworkInterfaces?: InstanceNetworkInterfaceSpecification[]; /** * @public - *

        Deprecated.

        + *

        The placement information.

        */ - BlockDurationMinutes?: number; + Placement?: SpotPlacement; /** * @public - *

        The date and time when the Spot Instance request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

        + *

        The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel + * requirements for information about whether you need to specify a RAM disk. To find kernel + * requirements, refer to the Amazon Web Services Resource Center and search for the kernel ID.

        */ - CreateTime?: Date; + RamdiskId?: string; /** * @public - *

        The fault codes for the Spot Instance request, if any.

        + *

        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.

        + *
        */ - Fault?: SpotInstanceStateFault; + SpotPrice?: string; /** * @public - *

        The instance ID, if an instance has been launched to fulfill the Spot Instance request.

        + *

        The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate + * them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".

        */ - InstanceId?: string; + SubnetId?: string; /** * @public - *

        The instance launch group. Launch groups are Spot Instances that launch together and terminate together.

        + *

        The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.

        */ - LaunchGroup?: string; + UserData?: string; /** * @public - *

        Additional information for launching instances.

        + *

        The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

        + *

        If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

        */ - LaunchSpecification?: LaunchSpecification; + WeightedCapacity?: number; /** * @public - *

        The Availability Zone in which the request is launched.

        + *

        The tags to apply during creation.

        */ - LaunchedAvailabilityZone?: string; + TagSpecifications?: SpotFleetTagSpecification[]; /** * @public - *

        The product description associated with the Spot Instance.

        + *

        The attributes for the instance types. When you specify instance attributes, Amazon EC2 will + * identify instance types with those attributes.

        + * + *

        If you specify InstanceRequirements, you can't specify + * InstanceType.

        + *
        */ - ProductDescription?: RIProductDescription; + InstanceRequirements?: InstanceRequirements; +} +/** + * @public + *

        Describes overrides for a launch template.

        + */ +export interface LaunchTemplateOverrides { /** * @public - *

        The ID of the Spot Instance request.

        + *

        The instance type.

        */ - SpotInstanceRequestId?: string; + InstanceType?: _InstanceType; /** * @public - *

        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.

        + *

        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.

        *
        @@ -11576,643 +11141,777 @@ export interface SpotInstanceRequest { /** * @public - *

        The state of the Spot Instance request. Spot request status information helps track your Spot - * Instance requests. For more information, see Spot request status in the - * Amazon EC2 User Guide for Linux Instances.

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

        The status code and status message describing the Spot Instance request.

        - */ - Status?: SpotInstanceStatus; - - /** - * @public - *

        Any tags assigned to the resource.

        + *

        The ID of the subnet in which to launch the instances.

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

        The Spot Instance request type.

        + *

        The Availability Zone in which to launch the instances.

        */ - Type?: SpotInstanceType; + AvailabilityZone?: string; /** * @public - *

        The start date of the request, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ). - * The request becomes active at this date and time.

        + *

        The number of units provided by the specified instance type.

        */ - ValidFrom?: Date; + WeightedCapacity?: number; /** * @public - *

        The end date of the request, in UTC format - * (YYYY-MM-DDTHH:MM:SSZ).

        - *
          - *
        • - *

          For a persistent request, the request remains active until the validUntil date - * and time is reached. Otherwise, the request remains active until you cancel it. - *

          - *
        • - *
        • - *

          For a one-time request, the request remains active until all instances launch, - * the request is canceled, or the validUntil date and time is reached. By default, the - * request is valid for 7 days from the date the request was created.

          - *
        • - *
        + *

        The priority for the launch template override. The highest priority is launched + * first.

        + *

        If OnDemandAllocationStrategy is set to prioritized, Spot Fleet + * uses priority to determine which launch template override to use first in fulfilling + * On-Demand capacity.

        + *

        If the Spot AllocationStrategy is set to + * capacityOptimizedPrioritized, Spot Fleet uses priority on a best-effort basis + * to determine which launch template override to use in fulfilling Spot capacity, but + * optimizes for capacity first.

        + *

        Valid values are whole numbers starting at 0. The lower the number, the + * higher the priority. If no number is set, the launch template override has the lowest + * priority. You can set the same priority for different launch template overrides.

        */ - ValidUntil?: Date; + Priority?: number; /** * @public - *

        The behavior when a Spot Instance is interrupted.

        + *

        The instance requirements. When you specify instance requirements, Amazon EC2 will identify + * instance types with the provided requirements, and then use your On-Demand and Spot + * allocation strategies to launch instances from these instance types, in the same way as + * when you specify a list of instance types.

        + * + *

        If you specify InstanceRequirements, you can't specify + * InstanceType.

        + *
        */ - InstanceInterruptionBehavior?: InstanceInterruptionBehavior; + InstanceRequirements?: InstanceRequirements; } /** * @public - *

        Contains the output of DescribeSpotInstanceRequests.

        + *

        Describes a launch template and overrides.

        */ -export interface DescribeSpotInstanceRequestsResult { +export interface LaunchTemplateConfig { /** * @public - *

        The Spot Instance requests.

        + *

        The launch template to use. Make sure that the launch template does not contain the + * NetworkInterfaceId parameter because you can't specify a network interface + * ID in a Spot Fleet.

        */ - SpotInstanceRequests?: SpotInstanceRequest[]; + LaunchTemplateSpecification?: FleetLaunchTemplateSpecification; /** * @public - *

        The token to include in another request to get the next page of items. This value is null when there - * are no more items to return.

        + *

        Any parameters that you specify override the same parameters in the launch + * template.

        */ - NextToken?: string; + Overrides?: LaunchTemplateOverrides[]; } /** * @public - *

        Contains the parameters for DescribeSpotPriceHistory.

        + *

        Describes a Classic Load Balancer.

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

        The filters.

        - *
          - *
        • - *

          - * availability-zone - The Availability Zone for which prices should - * be returned.

          - *
        • - *
        • - *

          - * instance-type - The type of instance (for example, - * m3.medium).

          - *
        • - *
        • - *

          - * product-description - The product description for the Spot price - * (Linux/UNIX | Red Hat Enterprise Linux | - * SUSE Linux | Windows | Linux/UNIX (Amazon - * VPC) | Red Hat Enterprise Linux (Amazon VPC) | - * SUSE Linux (Amazon VPC) | Windows (Amazon - * VPC)).

          - *
        • - *
        • - *

          - * spot-price - The Spot price. The value must match exactly (or use - * wildcards; greater than or less than comparison is not supported).

          - *
        • - *
        • - *

          - * timestamp - The time stamp of the Spot price history, in UTC format - * (for example, ddd MMM dd - * HH:mm:ss UTC - * YYYY). You can use wildcards (* and - * ?). Greater than or less than comparison is not - * supported.

          - *
        • - *
        - */ - Filters?: Filter[]; - - /** - * @public - *

        Filters the results by the specified Availability Zone.

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

        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.

        - */ - DryRun?: boolean; - +export interface ClassicLoadBalancer { /** * @public - *

        The date and time, up to the current date, from which to stop retrieving the price - * history data, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

        + *

        The name of the load balancer.

        */ - EndTime?: Date; + Name?: string; +} +/** + * @public + *

        Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet registers + * the running Spot Instances with these Classic Load Balancers.

        + */ +export interface ClassicLoadBalancersConfig { /** * @public - *

        Filters the results by the specified instance types.

        + *

        One or more Classic Load Balancers.

        */ - InstanceTypes?: _InstanceType[]; + ClassicLoadBalancers?: ClassicLoadBalancer[]; +} +/** + * @public + *

        Describes a load balancer target group.

        + */ +export interface TargetGroup { /** * @public - *

        The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

        + *

        The Amazon Resource Name (ARN) of the target group.

        */ - MaxResults?: number; + Arn?: string; +} +/** + * @public + *

        Describes the target groups to attach to a Spot Fleet. Spot Fleet registers the + * running Spot Instances with these target groups.

        + */ +export interface TargetGroupsConfig { /** * @public - *

        The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

        + *

        One or more target groups.

        */ - NextToken?: string; + TargetGroups?: TargetGroup[]; +} +/** + * @public + *

        Describes the Classic Load Balancers and target groups to attach to a Spot Fleet + * request.

        + */ +export interface LoadBalancersConfig { /** * @public - *

        Filters the results by the specified basic product descriptions.

        + *

        The Classic Load Balancers.

        */ - ProductDescriptions?: string[]; + ClassicLoadBalancersConfig?: ClassicLoadBalancersConfig; /** * @public - *

        The date and time, up to the past 90 days, from which to start retrieving the price - * history data, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

        + *

        The target groups.

        */ - StartTime?: Date; + TargetGroupsConfig?: TargetGroupsConfig; } /** * @public - *

        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.

        - *
        + * @enum */ -export interface SpotPrice { - /** - * @public - *

        The Availability Zone.

        - */ - AvailabilityZone?: string; +export const OnDemandAllocationStrategy = { + LOWEST_PRICE: "lowestPrice", + PRIORITIZED: "prioritized", +} as const; - /** - * @public - *

        The instance type.

        - */ - InstanceType?: _InstanceType; +/** + * @public + */ +export type OnDemandAllocationStrategy = (typeof OnDemandAllocationStrategy)[keyof typeof OnDemandAllocationStrategy]; + +/** + * @public + * @enum + */ +export const ReplacementStrategy = { + LAUNCH: "launch", + LAUNCH_BEFORE_TERMINATE: "launch-before-terminate", +} as const; +/** + * @public + */ +export type ReplacementStrategy = (typeof ReplacementStrategy)[keyof typeof ReplacementStrategy]; + +/** + * @public + *

        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 for Linux Instances.

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

        A general description of the AMI.

        + *

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

        + *

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

        + *

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

        */ - ProductDescription?: RIProductDescription; + ReplacementStrategy?: ReplacementStrategy; /** * @public - *

        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.

        - *
        + *

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

        + *

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

        + *

        Not valid when ReplacementStrategy is set to launch.

        + *

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

        */ - SpotPrice?: string; + TerminationDelay?: number; +} +/** + * @public + *

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

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

        The date and time the request was created, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

        + *

        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 for Linux Instances.

        */ - Timestamp?: Date; + CapacityRebalance?: SpotCapacityRebalance; } /** * @public - *

        Contains the output of DescribeSpotPriceHistory.

        + *

        Describes the configuration of a Spot Fleet request.

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

        The token to include in another request to get the next page of items. This value is null when there - * are no more items to return.

        + *

        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
        + *
        + *

        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 + *

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

        The historical Spot prices.

        + *

        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.

        */ - SpotPriceHistory?: SpotPrice[]; -} + OnDemandAllocationStrategy?: OnDemandAllocationStrategy; -/** - * @public - */ -export interface DescribeStaleSecurityGroupsRequest { /** * @public - *

        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.

        + *

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

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

        The maximum number of items to return for this request. To get the next page of items, - * make another request with the token returned in the output. For more information, - * see Pagination.

        + *

        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.

        */ - MaxResults?: number; + ClientToken?: string; /** * @public - *

        The token returned from a previous paginated request. - * Pagination continues from the end of the items returned by the previous request.

        + *

        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.

        */ - NextToken?: string; + ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy; /** * @public - *

        The ID of the VPC.

        + *

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

        */ - VpcId: string | undefined; -} + FulfilledCapacity?: number; -/** - * @public - *

        Describes a stale rule in a security group.

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

        The start of the port range for the TCP and UDP protocols, or an ICMP type number. A value of - * -1 indicates all ICMP types.

        + *

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

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

        The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers).

        + *

        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.

        */ - IpProtocol?: string; + IamFleetRole: string | undefined; /** * @public - *

        The IP ranges. Not applicable for stale security group rules.

        + *

        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.

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

        The prefix list IDs. Not applicable for stale security group rules.

        + *

        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.

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

        The end of the port range for the TCP and UDP protocols, or an ICMP type number. A value of - * -1 indicates all ICMP types.

        + *

        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.

        + *
        */ - ToPort?: number; + SpotPrice?: string; /** * @public - *

        The security group pairs. Returns the ID of the referenced security group and VPC, and the ID and status of the VPC peering connection.

        + *

        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.

        */ - UserIdGroupPairs?: UserIdGroupPair[]; -} + TargetCapacity: number | undefined; -/** - * @public - *

        Describes a stale security group (a security group that contains stale rules).

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

        The description of the security group.

        + *

        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.

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

        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 EC2 User + * Guide.

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

        The ID of the security group.

        + *

        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 EC2 User + * Guide.

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

        The name of the security group.

        + *

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

        */ - GroupName?: string; + TerminateInstancesWithExpiration?: boolean; /** * @public - *

        Information about the stale inbound rules in the security group.

        + *

        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.

        */ - StaleIpPermissions?: StaleIpPermission[]; + Type?: FleetType; /** * @public - *

        Information about the stale outbound rules in the security group.

        + *

        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.

        */ - StaleIpPermissionsEgress?: StaleIpPermission[]; + ValidFrom?: Date; /** * @public - *

        The ID of the VPC for the security group.

        + *

        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.

        */ - VpcId?: string; -} + ValidUntil?: Date; -/** - * @public - */ -export interface DescribeStaleSecurityGroupsResult { /** * @public - *

        The token to include in another request to get the next page of items. - * If there are no additional items to return, the string is empty.

        + *

        Indicates whether Spot Fleet should replace unhealthy instances.

        */ - NextToken?: string; + ReplaceUnhealthyInstances?: boolean; /** * @public - *

        Information about the stale security groups.

        + *

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

        */ - StaleSecurityGroupSet?: StaleSecurityGroup[]; -} + InstanceInterruptionBehavior?: InstanceInterruptionBehavior; -/** - * @public - */ -export interface DescribeStoreImageTasksRequest { /** * @public - *

        The AMI IDs for which to show progress. Up to 20 AMI IDs can be included in a request.

        + *

        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.

        */ - ImageIds?: string[]; + LoadBalancersConfig?: LoadBalancersConfig; /** * @public - *

        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.

        + *

        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.

        */ - DryRun?: boolean; + InstancePoolsToUseCount?: number; /** * @public - *

        The filters.

        - *
          - *
        • - *

          - * task-state - Returns tasks in a certain state (InProgress | - * Completed | Failed)

          - *
        • - *
        • - *

          - * bucket - Returns task information for tasks that targeted a specific - * bucket. For the filter value, specify the bucket name.

          - *
        • - *
        - * - *

        When you specify the ImageIds parameter, any filters that you specify are - * ignored. To use the filters, you must remove the ImageIds parameter.

        - *
        + *

        Reserved.

        */ - Filters?: Filter[]; + Context?: string; /** * @public - *

        The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

        + *

        The unit for the target capacity. TargetCapacityUnitType can only be specified when InstanceRequirements is specified.

        + *

        Default: units (translates to number of instances)

        */ - NextToken?: string; + TargetCapacityUnitType?: TargetCapacityUnitType; /** * @public - *

        The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

        - *

        You cannot specify this parameter and the ImageIds parameter in the same - * call.

        + *

        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.

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

        The information about the AMI store task, including the progress of the task.

        + *

        Describes a Spot Fleet request.

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

        The ID of the AMI that is being stored.

        - */ - AmiId?: string; - +export interface SpotFleetRequestConfig { /** * @public - *

        The time the task started.

        + *

        The progress of the Spot Fleet request. + * If there is an error, the status is error. + * After all requests are placed, the status is pending_fulfillment. + * If the size of the fleet is equal to or greater than its target capacity, the status is fulfilled. + * If the size of the fleet is decreased, the status is pending_termination + * while Spot Instances are terminating.

        */ - TaskStartTime?: Date; + ActivityStatus?: ActivityStatus; /** * @public - *

        The name of the Amazon S3 bucket that contains the stored AMI object.

        + *

        The creation date and time of the request.

        */ - Bucket?: string; + CreateTime?: Date; /** * @public - *

        The name of the stored AMI object in the bucket.

        + *

        The configuration of the Spot Fleet request.

        */ - S3objectKey?: string; + SpotFleetRequestConfig?: SpotFleetRequestConfigData; /** * @public - *

        The progress of the task as a percentage.

        + *

        The ID of the Spot Fleet request.

        */ - ProgressPercentage?: number; + SpotFleetRequestId?: string; /** * @public - *

        The state of the store task (InProgress, Completed, or - * Failed).

        + *

        The state of the Spot Fleet request.

        */ - StoreTaskState?: string; + SpotFleetRequestState?: BatchState; /** * @public - *

        If the tasks fails, the reason for the failure is returned. If the task succeeds, - * null is returned.

        + *

        The tags for a Spot Fleet resource.

        */ - StoreTaskFailureReason?: string; + Tags?: Tag[]; } /** * @public + *

        Contains the output of DescribeSpotFleetRequests.

        */ -export interface DescribeStoreImageTasksResult { +export interface DescribeSpotFleetRequestsResponse { /** * @public - *

        The information about the AMI store tasks.

        + *

        The token to include in another request to get the next page of items. This value is null when there + * are no more items to return.

        */ - StoreImageTaskResults?: StoreImageTaskResult[]; + NextToken?: string; /** * @public - *

        The token to include in another request to get the next page of items. This value is null when there - * are no more items to return.

        + *

        Information about the configuration of your Spot Fleet.

        */ - NextToken?: string; + SpotFleetRequestConfigs?: SpotFleetRequestConfig[]; } /** * @public + *

        Contains the parameters for DescribeSpotInstanceRequests.

        */ -export interface DescribeSubnetsRequest { +export interface DescribeSpotInstanceRequestsRequest { /** * @public *

        The filters.

        *
          *
        • *

          - * availability-zone - The Availability Zone for the subnet. You can also use - * availabilityZone as the filter name.

          + * availability-zone-group - The Availability Zone group.

          + *
        • + *
        • + *

          + * create-time - The time stamp when the Spot Instance request was + * created.

          + *
        • + *
        • + *

          + * fault-code - The fault code related to the request.

          + *
        • + *
        • + *

          + * fault-message - The fault message related to the request.

          + *
        • + *
        • + *

          + * instance-id - The ID of the instance that fulfilled the + * request.

          + *
        • + *
        • + *

          + * launch-group - The Spot Instance launch group.

          + *
        • + *
        • + *

          + * launch.block-device-mapping.delete-on-termination - Indicates + * whether the EBS volume is deleted on instance termination.

          + *
        • + *
        • + *

          + * launch.block-device-mapping.device-name - The device name for the + * volume in the block device mapping (for example, /dev/sdh or + * xvdh).

          + *
        • + *
        • + *

          + * launch.block-device-mapping.snapshot-id - The ID of the snapshot + * for the EBS volume.

          + *
        • + *
        • + *

          + * launch.block-device-mapping.volume-size - The size of the EBS + * volume, in GiB.

          + *
        • + *
        • + *

          + * launch.block-device-mapping.volume-type - The type of EBS volume: + * gp2 for General Purpose SSD, io1 or + * io2 for Provisioned IOPS SSD, st1 for Throughput + * Optimized HDD, sc1for Cold HDD, or standard for + * Magnetic.

          *
        • *
        • *

          - * availability-zone-id - The ID of the Availability Zone for the subnet. - * You can also use availabilityZoneId as the filter name.

          + * launch.group-id - The ID of the security group for the + * instance.

          *
        • *
        • *

          - * available-ip-address-count - The number of IPv4 addresses in the - * subnet that are available.

          + * launch.group-name - The name of the security group for the + * instance.

          *
        • *
        • *

          - * cidr-block - The IPv4 CIDR block of the subnet. The CIDR block - * you specify must exactly match the subnet's CIDR block for information to be - * returned for the subnet. You can also use cidr or - * cidrBlock as the filter names.

          + * launch.image-id - The ID of the AMI.

          *
        • *
        • *

          - * customer-owned-ipv4-pool - The customer-owned IPv4 address pool - * associated with the subnet.

          + * launch.instance-type - The type of instance (for example, + * m3.medium).

          *
        • *
        • *

          - * default-for-az - Indicates whether this is the default subnet for - * the Availability Zone (true | false). You can also use - * defaultForAz as the filter name.

          + * launch.kernel-id - The kernel ID.

          *
        • *
        • *

          - * enable-dns64 - Indicates whether DNS queries made to the - * Amazon-provided DNS Resolver in this subnet should return synthetic IPv6 - * addresses for IPv4-only destinations.

          + * launch.key-name - The name of the key pair the instance launched + * with.

          *
        • *
        • *

          - * enable-lni-at-device-index - Indicates the device position for - * local network interfaces in this subnet. For example, 1 indicates - * local network interfaces in this subnet are the secondary network interface - * (eth1).

          + * launch.monitoring-enabled - Whether detailed monitoring is + * enabled for the Spot Instance.

          *
        • *
        • *

          - * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR - * block associated with the subnet.

          + * launch.ramdisk-id - The RAM disk ID.

          *
        • *
        • *

          - * ipv6-cidr-block-association.association-id - An association ID - * for an IPv6 CIDR block associated with the subnet.

          + * launched-availability-zone - The Availability Zone in which the + * request is launched.

          *
        • *
        • *

          - * ipv6-cidr-block-association.state - The state of an IPv6 CIDR - * block associated with the subnet.

          + * network-interface.addresses.primary - Indicates whether the IP + * address is the primary private IP address.

          *
        • *
        • *

          - * ipv6-native - Indicates whether this is an IPv6 only subnet - * (true | false).

          + * network-interface.delete-on-termination - Indicates whether the + * network interface is deleted when the instance is terminated.

          *
        • *
        • *

          - * map-customer-owned-ip-on-launch - Indicates whether a network - * interface created in this subnet (including a network interface created by RunInstances) receives a customer-owned IPv4 address.

          + * network-interface.description - A description of the network + * interface.

          *
        • *
        • *

          - * map-public-ip-on-launch - Indicates whether instances launched in - * this subnet receive a public IPv4 address.

          + * network-interface.device-index - The index of the device for the + * network interface attachment on the instance.

          *
        • *
        • *

          - * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

          + * network-interface.group-id - The ID of the security group + * associated with the network interface.

          *
        • *
        • *

          - * owner-id - The ID of the Amazon Web Services account that owns the - * subnet.

          + * network-interface.network-interface-id - The ID of the network + * interface.

          *
        • *
        • *

          - * private-dns-name-options-on-launch.hostname-type - The type of - * hostname to assign to instances in the subnet at launch. For IPv4-only and - * dual-stack (IPv4 and IPv6) subnets, an instance DNS name can be based on the - * instance IPv4 address (ip-name) or the instance ID (resource-name). For IPv6 - * only subnets, an instance DNS name must be based on the instance ID - * (resource-name).

          + * network-interface.private-ip-address - The primary private IP + * address of the network interface.

          *
        • *
        • *

          - * private-dns-name-options-on-launch.enable-resource-name-dns-a-record - * - Indicates whether to respond to DNS queries for instance hostnames with DNS A - * records.

          + * network-interface.subnet-id - The ID of the subnet for the + * instance.

          *
        • *
        • *

          - * private-dns-name-options-on-launch.enable-resource-name-dns-aaaa-record - * - Indicates whether to respond to DNS queries for instance hostnames with DNS - * AAAA records.

          + * product-description - The product description associated with the + * instance (Linux/UNIX | Windows).

          *
        • *
        • *

          - * state - The state of the subnet (pending | available).

          + * spot-instance-request-id - The Spot Instance request ID.

          *
        • *
        • *

          - * subnet-arn - The Amazon Resource Name (ARN) of the subnet.

          + * spot-price - The maximum hourly price for any Spot Instance + * launched to fulfill the request.

          *
        • *
        • *

          - * subnet-id - The ID of the subnet.

          + * state - The state of the Spot Instance request (open + * | active | closed | cancelled | + * failed). Spot request status information can help you track + * your Amazon EC2 Spot Instance requests. For more information, see Spot + * request status in the Amazon EC2 User Guide for Linux Instances.

          *
        • *
        • *

          - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * status-code - The short code describing the most recent + * evaluation of your Spot Instance request.

          + *
        • + *
        • + *

          + * status-message - The message explaining the status of the Spot + * Instance request.

          + *
        • + *
        • + *

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

          *
        • *
        • @@ -12221,7 +11920,16 @@ export interface DescribeSubnetsRequest { *
        • *
        • *

          - * vpc-id - The ID of the VPC for the subnet.

          + * type - The type of Spot Instance request (one-time | + * persistent).

          + *
        • + *
        • + *

          + * valid-from - The start date of the request.

          + *
        • + *
        • + *

          + * valid-until - The end date of the request.

          *
        • *
        */ @@ -12229,325 +11937,521 @@ export interface DescribeSubnetsRequest { /** * @public - *

        The IDs of the subnets.

        - *

        Default: Describes all your subnets.

        + *

        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.

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

        The IDs of the Spot Instance requests.

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

        The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

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

        The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

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

        Describes the monitoring of an instance.

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

        Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is + * enabled.

        + */ + Enabled: boolean | undefined; +} + +/** + * @public + *

        Describes the launch specification for an instance.

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

        The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.

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

        The IDs of the security groups.

        + */ + SecurityGroups?: GroupIdentifier[]; + + /** + * @public + *

        Deprecated.

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

        The block device mapping entries.

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

        Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

        + *

        Default: false + *

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

        The IAM instance profile.

        + */ + IamInstanceProfile?: IamInstanceProfileSpecification; + + /** + * @public + *

        The ID of the AMI.

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

        The instance type. Only one instance type can be specified.

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

        The ID of the kernel.

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

        The name of the key pair.

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

        The network interfaces. If you specify a network interface, you must specify + * subnet IDs and security group IDs using the network interface.

        + */ + NetworkInterfaces?: InstanceNetworkInterfaceSpecification[]; + + /** + * @public + *

        The placement information for the instance.

        + */ + Placement?: SpotPlacement; + + /** + * @public + *

        The ID of the RAM disk.

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

        The ID of the subnet in which to launch the instance.

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

        Describes the monitoring of an instance.

        */ - SubnetIds?: string[]; + Monitoring?: RunInstancesMonitoringEnabled; +} + +/** + * @public + * @enum + */ +export const SpotInstanceState = { + active: "active", + cancelled: "cancelled", + closed: "closed", + disabled: "disabled", + failed: "failed", + open: "open", +} as const; + +/** + * @public + */ +export type SpotInstanceState = (typeof SpotInstanceState)[keyof typeof SpotInstanceState]; +/** + * @public + *

        Describes the status of a Spot Instance request.

        + */ +export interface SpotInstanceStatus { /** * @public - *

        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.

        + *

        The status code. For a list of status codes, see Spot request status codes in the Amazon EC2 User Guide for Linux Instances.

        */ - DryRun?: boolean; + Code?: string; /** * @public - *

        The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

        + *

        The description for the status code.

        */ - NextToken?: string; + Message?: string; /** * @public - *

        The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

        + *

        The date and time of the most recent status update, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

        */ - MaxResults?: number; + UpdateTime?: Date; } /** * @public + *

        Describes a Spot Instance request.

        */ -export interface DescribeSubnetsResult { +export interface SpotInstanceRequest { /** * @public - *

        Information about one or more subnets.

        + *

        Deprecated.

        */ - Subnets?: Subnet[]; + ActualBlockHourlyPrice?: string; /** * @public - *

        The token to include in another request to get the next page of items. This value is null when there are no more items to return.

        + *

        The Availability Zone group. If you specify the same Availability Zone group for all Spot Instance requests, all Spot Instances are launched in the same Availability Zone.

        */ - NextToken?: string; -} + AvailabilityZoneGroup?: string; -/** - * @public - */ -export interface DescribeTagsRequest { /** * @public - *

        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.

        + *

        Deprecated.

        */ - DryRun?: boolean; + BlockDurationMinutes?: number; /** * @public - *

        The filters.

        - *
          - *
        • - *

          - * key - The tag key.

          - *
        • - *
        • - *

          - * resource-id - The ID of the resource.

          - *
        • - *
        • - *

          - * resource-type - The resource type (customer-gateway | dedicated-host | dhcp-options | elastic-ip | fleet | fpga-image | host-reservation | image | instance | internet-gateway | key-pair | launch-template | natgateway | network-acl | network-interface | placement-group | reserved-instances | route-table | security-group | snapshot | spot-instances-request | subnet | volume | vpc | vpc-endpoint | vpc-endpoint-service | vpc-peering-connection | vpn-connection | vpn-gateway).

          - *
        • - *
        • - *

          - * tag: - The key/value combination of the tag. For example, - * specify "tag:Owner" for the filter name and "TeamA" for the filter value to find - * resources with the tag "Owner=TeamA".

          - *
        • - *
        • - *

          - * value - The tag value.

          - *
        • - *
        + *

        The date and time when the Spot Instance request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

        */ - Filters?: Filter[]; + CreateTime?: Date; /** * @public - *

        The maximum number of items to return for this request. This value can be between 5 and 1000. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

        + *

        The fault codes for the Spot Instance request, if any.

        */ - MaxResults?: number; + Fault?: SpotInstanceStateFault; /** * @public - *

        The token returned from a previous paginated request. - * Pagination continues from the end of the items returned by the previous request.

        + *

        The instance ID, if an instance has been launched to fulfill the Spot Instance request.

        */ - NextToken?: string; -} + InstanceId?: string; -/** - * @public - *

        Describes a tag.

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

        The tag key.

        + *

        The instance launch group. Launch groups are Spot Instances that launch together and terminate together.

        */ - Key?: string; + LaunchGroup?: string; /** * @public - *

        The ID of the resource.

        + *

        Additional information for launching instances.

        */ - ResourceId?: string; + LaunchSpecification?: LaunchSpecification; /** * @public - *

        The resource type.

        + *

        The Availability Zone in which the request is launched.

        */ - ResourceType?: ResourceType; + LaunchedAvailabilityZone?: string; /** * @public - *

        The tag value.

        + *

        The product description associated with the Spot Instance.

        */ - Value?: string; -} + ProductDescription?: RIProductDescription; -/** - * @public - */ -export interface DescribeTagsResult { /** * @public - *

        The token to include in another request to get the next page of items. - * This value is null when there are no more items to return.

        + *

        The ID of the Spot Instance request.

        */ - NextToken?: string; + SpotInstanceRequestId?: string; /** * @public - *

        The tags.

        + *

        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.

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

        The state of the Spot Instance request. Spot request status information helps track your Spot + * Instance requests. For more information, see Spot request status in the + * Amazon EC2 User Guide for Linux Instances.

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

        The status code and status message describing the Spot Instance request.

        + */ + Status?: SpotInstanceStatus; + + /** + * @public + *

        Any tags assigned to the resource.

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

        The Spot Instance request type.

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

        The start date of the request, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ). + * The request becomes active at this date and time.

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

        The end date of the request, in UTC format + * (YYYY-MM-DDTHH:MM:SSZ).

        + *
          + *
        • + *

          For a persistent request, the request remains active until the validUntil date + * and time is reached. Otherwise, the request remains active until you cancel it. + *

          + *
        • + *
        • + *

          For a one-time request, the request remains active until all instances launch, + * the request is canceled, or the validUntil date and time is reached. By default, the + * request is valid for 7 days from the date the request was created.

          + *
        • + *
        */ - Tags?: TagDescription[]; + ValidUntil?: Date; + + /** + * @public + *

        The behavior when a Spot Instance is interrupted.

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

        Contains the output of DescribeSpotInstanceRequests.

        */ -export interface DescribeTrafficMirrorFiltersRequest { +export interface DescribeSpotInstanceRequestsResult { /** * @public - *

        The ID of the Traffic Mirror filter.

        + *

        The Spot Instance requests.

        */ - TrafficMirrorFilterIds?: string[]; + SpotInstanceRequests?: SpotInstanceRequest[]; /** * @public - *

        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.

        + *

        The token to include in another request to get the next page of items. This value is null when there + * are no more items to return.

        */ - DryRun?: boolean; + NextToken?: string; +} +/** + * @public + *

        Contains the parameters for DescribeSpotPriceHistory.

        + */ +export interface DescribeSpotPriceHistoryRequest { /** * @public - *

        One or more filters. The possible values are:

        + *

        The filters.

        *
          *
        • *

          - * description: The Traffic Mirror filter description.

          + * availability-zone - The Availability Zone for which prices should + * be returned.

          + *
        • + *
        • + *

          + * instance-type - The type of instance (for example, + * m3.medium).

          + *
        • + *
        • + *

          + * product-description - The product description for the Spot price + * (Linux/UNIX | Red Hat Enterprise Linux | + * SUSE Linux | Windows | Linux/UNIX (Amazon + * VPC) | Red Hat Enterprise Linux (Amazon VPC) | + * SUSE Linux (Amazon VPC) | Windows (Amazon + * VPC)).

          + *
        • + *
        • + *

          + * spot-price - The Spot price. The value must match exactly (or use + * wildcards; greater than or less than comparison is not supported).

          *
        • *
        • *

          - * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

          + * timestamp - The time stamp of the Spot price history, in UTC format + * (for example, ddd MMM dd + * HH:mm:ss UTC + * YYYY). You can use wildcards (* and + * ?). Greater than or less than comparison is not + * supported.

          *
        • *
        */ - Filters?: Filter[]; + Filters?: Filter[]; + + /** + * @public + *

        Filters the results by the specified Availability Zone.

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

        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.

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

        The date and time, up to the current date, from which to stop retrieving the price + * history data, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

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

        Filters the results by the specified instance types.

        + */ + InstanceTypes?: _InstanceType[]; /** * @public - *

        The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

        + *

        The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

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

        The token for the next page of results.

        + *

        The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

        */ NextToken?: string; -} -/** - * @public - */ -export interface DescribeTrafficMirrorFiltersResult { /** * @public - *

        Information about one or more Traffic Mirror filters.

        + *

        Filters the results by the specified basic product descriptions.

        */ - TrafficMirrorFilters?: TrafficMirrorFilter[]; + ProductDescriptions?: string[]; /** * @public - *

        The token to use to retrieve the next page of results. The value is null when there are no more results to return.

        + *

        The date and time, up to the past 90 days, from which to start retrieving the price + * history data, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

        */ - NextToken?: string; + StartTime?: Date; } /** * @public + *

        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.

        + *
        */ -export interface DescribeTrafficMirrorSessionsRequest { +export interface SpotPrice { /** * @public - *

        The ID of the Traffic Mirror session.

        + *

        The Availability Zone.

        */ - TrafficMirrorSessionIds?: string[]; + AvailabilityZone?: string; /** * @public - *

        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.

        + *

        The instance type.

        */ - DryRun?: boolean; + InstanceType?: _InstanceType; /** * @public - *

        One or more filters. The possible values are:

        - *
          - *
        • - *

          - * description: The Traffic Mirror session description.

          - *
        • - *
        • - *

          - * network-interface-id: The ID of the Traffic Mirror session network interface.

          - *
        • - *
        • - *

          - * owner-id: The ID of the account that owns the Traffic Mirror session.

          - *
        • - *
        • - *

          - * packet-length: The assigned number of packets to mirror.

          - *
        • - *
        • - *

          - * session-number: The assigned session number.

          - *
        • - *
        • - *

          - * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

          - *
        • - *
        • - *

          - * traffic-mirror-session-id: The ID of the Traffic Mirror session.

          - *
        • - *
        • - *

          - * traffic-mirror-target-id: The ID of the Traffic Mirror target.

          - *
        • - *
        • - *

          - * virtual-network-id: The virtual network ID of the Traffic Mirror session.

          - *
        • - *
        + *

        A general description of the AMI.

        */ - Filters?: Filter[]; + ProductDescription?: RIProductDescription; /** * @public - *

        The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

        + *

        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.

        + *
        */ - MaxResults?: number; + SpotPrice?: string; /** * @public - *

        The token for the next page of results.

        + *

        The date and time the request was created, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

        */ - NextToken?: string; + Timestamp?: Date; } /** * @public + *

        Contains the output of DescribeSpotPriceHistory.

        */ -export interface DescribeTrafficMirrorSessionsResult { +export interface DescribeSpotPriceHistoryResult { /** * @public - *

        Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror sessions are described. Alternatively, you can filter the results.

        + *

        The token to include in another request to get the next page of items. This value is null when there + * are no more items to return.

        */ - TrafficMirrorSessions?: TrafficMirrorSession[]; + NextToken?: string; /** * @public - *

        The token to use to retrieve the next page of results. The value is null when there are no more results to return.

        + *

        The historical Spot prices.

        */ - NextToken?: string; + SpotPriceHistory?: SpotPrice[]; } /** * @public */ -export interface DescribeTrafficMirrorTargetsRequest { - /** - * @public - *

        The ID of the Traffic Mirror targets.

        - */ - TrafficMirrorTargetIds?: string[]; - +export interface DescribeStaleSecurityGroupsRequest { /** * @public *

        Checks whether you have the required permissions for the action, without actually making the request, @@ -12558,310 +12462,251 @@ export interface DescribeTrafficMirrorTargetsRequest { /** * @public - *

        One or more filters. The possible values are:

        - *
          - *
        • - *

          - * description: The Traffic Mirror target description.

          - *
        • - *
        • - *

          - * network-interface-id: The ID of the Traffic Mirror session network interface.

          - *
        • - *
        • - *

          - * network-load-balancer-arn: The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the session.

          - *
        • - *
        • - *

          - * owner-id: The ID of the account that owns the Traffic Mirror session.

          - *
        • - *
        • - *

          - * traffic-mirror-target-id: The ID of the Traffic Mirror target.

          - *
        • - *
        + *

        The maximum number of items to return for this request. To get the next page of items, + * make another request with the token returned in the output. For more information, + * see Pagination.

        */ - Filters?: Filter[]; + MaxResults?: number; /** * @public - *

        The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

        + *

        The token returned from a previous paginated request. + * Pagination continues from the end of the items returned by the previous request.

        */ - MaxResults?: number; + NextToken?: string; /** * @public - *

        The token for the next page of results.

        + *

        The ID of the VPC.

        */ - NextToken?: string; + VpcId: string | undefined; } /** * @public + *

        Describes a stale rule in a security group.

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

        Information about one or more Traffic Mirror targets.

        - */ - TrafficMirrorTargets?: TrafficMirrorTarget[]; - +export interface StaleIpPermission { /** * @public - *

        The token to use to retrieve the next page of results. The value is null when there are no more results to return.

        + *

        The start of the port range for the TCP and UDP protocols, or an ICMP type number. A value of + * -1 indicates all ICMP types.

        */ - NextToken?: string; -} + FromPort?: number; -/** - * @public - */ -export interface DescribeTransitGatewayAttachmentsRequest { /** * @public - *

        The IDs of the attachments.

        + *

        The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers).

        */ - TransitGatewayAttachmentIds?: string[]; + IpProtocol?: string; /** * @public - *

        One or more filters. The possible values are:

        - *
          - *
        • - *

          - * association.state - The state of the association (associating | associated | - * disassociating).

          - *
        • - *
        • - *

          - * association.transit-gateway-route-table-id - The ID of the route table for the transit gateway.

          - *
        • - *
        • - *

          - * resource-id - The ID of the resource.

          - *
        • - *
        • - *

          - * resource-owner-id - The ID of the Amazon Web Services account that owns the resource.

          - *
        • - *
        • - *

          - * resource-type - The resource type. Valid values are vpc - * | vpn | direct-connect-gateway | peering - * | connect.

          - *
        • - *
        • - *

          - * state - The state of the attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting.

          - *
        • - *
        • - *

          - * transit-gateway-attachment-id - The ID of the attachment.

          - *
        • - *
        • - *

          - * transit-gateway-id - The ID of the transit gateway.

          - *
        • - *
        • - *

          - * transit-gateway-owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

          - *
        • - *
        + *

        The IP ranges. Not applicable for stale security group rules.

        */ - Filters?: Filter[]; + IpRanges?: string[]; /** * @public - *

        The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

        + *

        The prefix list IDs. Not applicable for stale security group rules.

        */ - MaxResults?: number; + PrefixListIds?: string[]; /** * @public - *

        The token for the next page of results.

        + *

        The end of the port range for the TCP and UDP protocols, or an ICMP type number. A value of + * -1 indicates all ICMP types.

        */ - NextToken?: string; + ToPort?: number; /** * @public - *

        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.

        + *

        The security group pairs. Returns the ID of the referenced security group and VPC, and the ID and status of the VPC peering connection.

        */ - DryRun?: boolean; + UserIdGroupPairs?: UserIdGroupPair[]; } /** * @public - *

        Describes an association.

        + *

        Describes a stale security group (a security group that contains stale rules).

        */ -export interface TransitGatewayAttachmentAssociation { +export interface StaleSecurityGroup { /** * @public - *

        The ID of the route table for the transit gateway.

        + *

        The description of the security group.

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

        The state of the association.

        + *

        The ID of the security group.

        */ - State?: TransitGatewayAssociationState; -} + GroupId?: string; -/** - * @public - *

        Describes an attachment between a resource and a transit gateway.

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

        The ID of the attachment.

        + *

        The name of the security group.

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

        Information about the stale inbound rules in the security group.

        */ - TransitGatewayAttachmentId?: string; + StaleIpPermissions?: StaleIpPermission[]; /** * @public - *

        The ID of the transit gateway.

        + *

        Information about the stale outbound rules in the security group.

        */ - TransitGatewayId?: string; + StaleIpPermissionsEgress?: StaleIpPermission[]; /** * @public - *

        The ID of the Amazon Web Services account that owns the transit gateway.

        + *

        The ID of the VPC for the security group.

        */ - TransitGatewayOwnerId?: string; + VpcId?: string; +} +/** + * @public + */ +export interface DescribeStaleSecurityGroupsResult { /** * @public - *

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

        + *

        The token to include in another request to get the next page of items. + * If there are no additional items to return, the string is empty.

        */ - ResourceOwnerId?: string; + NextToken?: string; /** * @public - *

        The resource type. Note that the tgw-peering resource type has been deprecated.

        + *

        Information about the stale security groups.

        */ - ResourceType?: TransitGatewayAttachmentResourceType; + StaleSecurityGroupSet?: StaleSecurityGroup[]; +} +/** + * @public + */ +export interface DescribeStoreImageTasksRequest { /** * @public - *

        The ID of the resource.

        + *

        The AMI IDs for which to show progress. Up to 20 AMI IDs can be included in a request.

        */ - ResourceId?: string; + ImageIds?: string[]; /** * @public - *

        The attachment state. Note that the initiating state has been deprecated.

        + *

        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.

        */ - State?: TransitGatewayAttachmentState; + DryRun?: boolean; /** * @public - *

        The association.

        + *

        The filters.

        + *
          + *
        • + *

          + * task-state - Returns tasks in a certain state (InProgress | + * Completed | Failed)

          + *
        • + *
        • + *

          + * bucket - Returns task information for tasks that targeted a specific + * bucket. For the filter value, specify the bucket name.

          + *
        • + *
        + * + *

        When you specify the ImageIds parameter, any filters that you specify are + * ignored. To use the filters, you must remove the ImageIds parameter.

        + *
        */ - Association?: TransitGatewayAttachmentAssociation; + Filters?: Filter[]; /** * @public - *

        The creation time.

        + *

        The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

        */ - CreationTime?: Date; + NextToken?: string; /** * @public - *

        The tags for the attachment.

        + *

        The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

        + *

        You cannot specify this parameter and the ImageIds parameter in the same + * call.

        */ - Tags?: Tag[]; + MaxResults?: number; } /** * @public + *

        The information about the AMI store task, including the progress of the task.

        */ -export interface DescribeTransitGatewayAttachmentsResult { +export interface StoreImageTaskResult { /** * @public - *

        Information about the attachments.

        + *

        The ID of the AMI that is being stored.

        */ - TransitGatewayAttachments?: TransitGatewayAttachment[]; + AmiId?: string; /** * @public - *

        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

        + *

        The time the task started.

        */ - NextToken?: string; -} + TaskStartTime?: Date; -/** - * @public - */ -export interface DescribeTransitGatewayConnectPeersRequest { /** * @public - *

        The IDs of the Connect peers.

        + *

        The name of the Amazon S3 bucket that contains the stored AMI object.

        */ - TransitGatewayConnectPeerIds?: string[]; + Bucket?: string; /** * @public - *

        One or more filters. The possible values are:

        - *
          - *
        • - *

          - * state - The state of the Connect peer (pending | - * available | deleting | - * deleted).

          - *
        • - *
        • - *

          - * transit-gateway-attachment-id - The ID of the attachment.

          - *
        • - *
        • - *

          - * transit-gateway-connect-peer-id - The ID of the Connect peer.

          - *
        • - *
        + *

        The name of the stored AMI object in the bucket.

        */ - Filters?: Filter[]; + S3objectKey?: string; /** * @public - *

        The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

        + *

        The progress of the task as a percentage.

        */ - MaxResults?: number; + ProgressPercentage?: number; /** * @public - *

        The token for the next page of results.

        + *

        The state of the store task (InProgress, Completed, or + * Failed).

        */ - NextToken?: string; + StoreTaskState?: string; /** * @public - *

        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.

        + *

        If the tasks fails, the reason for the failure is returned. If the task succeeds, + * null is returned.

        */ - DryRun?: boolean; + StoreTaskFailureReason?: string; } /** * @public */ -export interface DescribeTransitGatewayConnectPeersResult { +export interface DescribeStoreImageTasksResult { /** * @public - *

        Information about the Connect peers.

        + *

        The information about the AMI store tasks.

        */ - TransitGatewayConnectPeers?: TransitGatewayConnectPeer[]; + StoreImageTaskResults?: StoreImageTaskResult[]; /** * @public - *

        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

        + *

        The token to include in another request to get the next page of items. This value is null when there + * are no more items to return.

        */ NextToken?: string; } @@ -12869,42 +12714,141 @@ export interface DescribeTransitGatewayConnectPeersResult { /** * @public */ -export interface DescribeTransitGatewayConnectsRequest { - /** - * @public - *

        The IDs of the attachments.

        - */ - TransitGatewayAttachmentIds?: string[]; - +export interface DescribeSubnetsRequest { /** * @public - *

        One or more filters. The possible values are:

        + *

        The filters.

        *
          *
        • *

          - * options.protocol - The tunnel protocol (gre).

          + * availability-zone - The Availability Zone for the subnet. You can also use + * availabilityZone as the filter name.

          + *
        • + *
        • + *

          + * availability-zone-id - The ID of the Availability Zone for the subnet. + * You can also use availabilityZoneId as the filter name.

          + *
        • + *
        • + *

          + * available-ip-address-count - The number of IPv4 addresses in the + * subnet that are available.

          + *
        • + *
        • + *

          + * cidr-block - The IPv4 CIDR block of the subnet. The CIDR block + * you specify must exactly match the subnet's CIDR block for information to be + * returned for the subnet. You can also use cidr or + * cidrBlock as the filter names.

          + *
        • + *
        • + *

          + * customer-owned-ipv4-pool - The customer-owned IPv4 address pool + * associated with the subnet.

          + *
        • + *
        • + *

          + * default-for-az - Indicates whether this is the default subnet for + * the Availability Zone (true | false). You can also use + * defaultForAz as the filter name.

          + *
        • + *
        • + *

          + * enable-dns64 - Indicates whether DNS queries made to the + * Amazon-provided DNS Resolver in this subnet should return synthetic IPv6 + * addresses for IPv4-only destinations.

          + *
        • + *
        • + *

          + * enable-lni-at-device-index - Indicates the device position for + * local network interfaces in this subnet. For example, 1 indicates + * local network interfaces in this subnet are the secondary network interface + * (eth1).

          + *
        • + *
        • + *

          + * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR + * block associated with the subnet.

          + *
        • + *
        • + *

          + * ipv6-cidr-block-association.association-id - An association ID + * for an IPv6 CIDR block associated with the subnet.

          + *
        • + *
        • + *

          + * ipv6-cidr-block-association.state - The state of an IPv6 CIDR + * block associated with the subnet.

          + *
        • + *
        • + *

          + * ipv6-native - Indicates whether this is an IPv6 only subnet + * (true | false).

          + *
        • + *
        • + *

          + * map-customer-owned-ip-on-launch - Indicates whether a network + * interface created in this subnet (including a network interface created by RunInstances) receives a customer-owned IPv4 address.

          + *
        • + *
        • + *

          + * map-public-ip-on-launch - Indicates whether instances launched in + * this subnet receive a public IPv4 address.

          + *
        • + *
        • + *

          + * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

          + *
        • + *
        • + *

          + * owner-id - The ID of the Amazon Web Services account that owns the + * subnet.

          + *
        • + *
        • + *

          + * private-dns-name-options-on-launch.hostname-type - The type of + * hostname to assign to instances in the subnet at launch. For IPv4-only and + * dual-stack (IPv4 and IPv6) subnets, an instance DNS name can be based on the + * instance IPv4 address (ip-name) or the instance ID (resource-name). For IPv6 + * only subnets, an instance DNS name must be based on the instance ID + * (resource-name).

          + *
        • + *
        • + *

          + * private-dns-name-options-on-launch.enable-resource-name-dns-a-record + * - Indicates whether to respond to DNS queries for instance hostnames with DNS A + * records.

          + *
        • + *
        • + *

          + * private-dns-name-options-on-launch.enable-resource-name-dns-aaaa-record + * - Indicates whether to respond to DNS queries for instance hostnames with DNS + * AAAA records.

          + *
        • + *
        • + *

          + * state - The state of the subnet (pending | available).

          + *
        • + *
        • + *

          + * subnet-arn - The Amazon Resource Name (ARN) of the subnet.

          *
        • *
        • *

          - * state - The state of the attachment (initiating | - * initiatingRequest | pendingAcceptance | - * rollingBack | pending | available | - * modifying | deleting | deleted | - * failed | rejected | rejecting | - * failing).

          + * subnet-id - The ID of the subnet.

          *
        • *
        • *

          - * transit-gateway-attachment-id - The ID of the - * Connect attachment.

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

          *
        • *
        • *

          - * transit-gateway-id - The ID of the transit gateway.

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

          *
        • *
        • *

          - * transport-transit-gateway-attachment-id - The ID of the transit gateway attachment from which the Connect attachment was created.

          + * vpc-id - The ID of the VPC for the subnet.

          *
        • *
        */ @@ -12912,16 +12856,10 @@ export interface DescribeTransitGatewayConnectsRequest { /** * @public - *

        The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

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

        The token for the next page of results.

        + *

        The IDs of the subnets.

        + *

        Default: Describes all your subnets.

        */ - NextToken?: string; + SubnetIds?: string[]; /** * @public @@ -12930,76 +12868,64 @@ export interface DescribeTransitGatewayConnectsRequest { * Otherwise, it is UnauthorizedOperation.

        */ DryRun?: boolean; -} -/** - * @public - */ -export interface DescribeTransitGatewayConnectsResult { /** * @public - *

        Information about the Connect attachments.

        + *

        The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

        */ - TransitGatewayConnects?: TransitGatewayConnect[]; + NextToken?: string; /** * @public - *

        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

        + *

        The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

        */ - NextToken?: string; + MaxResults?: number; } /** * @public */ -export interface DescribeTransitGatewayMulticastDomainsRequest { +export interface DescribeSubnetsResult { /** * @public - *

        The ID of the transit gateway multicast domain.

        + *

        Information about one or more subnets.

        */ - TransitGatewayMulticastDomainIds?: string[]; + Subnets?: Subnet[]; /** * @public - *

        One or more filters. The possible values are:

        - *
          - *
        • - *

          - * state - The state of the transit gateway multicast domain. Valid values are pending | available | deleting | deleted.

          - *
        • - *
        • - *

          - * transit-gateway-id - The ID of the transit gateway.

          - *
        • - *
        • - *

          - * transit-gateway-multicast-domain-id - The ID of the transit gateway multicast domain.

          - *
        • - *
        + *

        The token to include in another request to get the next page of items. This value is null when there are no more items to return.

        */ - Filters?: Filter[]; + NextToken?: string; +} - /** - * @public - *

        The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

        - */ - MaxResults?: number; +/** + * @internal + */ +export const SnapshotTaskDetailFilterSensitiveLog = (obj: SnapshotTaskDetail): any => ({ + ...obj, + ...(obj.Url && { Url: SENSITIVE_STRING }), +}); - /** - * @public - *

        The token for the next page of results.

        - */ - NextToken?: string; +/** + * @internal + */ +export const ImportSnapshotTaskFilterSensitiveLog = (obj: ImportSnapshotTask): any => ({ + ...obj, + ...(obj.SnapshotTaskDetail && { SnapshotTaskDetail: SnapshotTaskDetailFilterSensitiveLog(obj.SnapshotTaskDetail) }), +}); - /** - * @public - *

        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.

        - */ - DryRun?: boolean; -} +/** + * @internal + */ +export const DescribeImportSnapshotTasksResultFilterSensitiveLog = (obj: DescribeImportSnapshotTasksResult): any => ({ + ...obj, + ...(obj.ImportSnapshotTasks && { + ImportSnapshotTasks: obj.ImportSnapshotTasks.map((item) => ImportSnapshotTaskFilterSensitiveLog(item)), + }), +}); /** * @internal diff --git a/clients/client-ec2/src/models/models_5.ts b/clients/client-ec2/src/models/models_5.ts index 38068c9ca1130..de8163f89dc07 100644 --- a/clients/client-ec2/src/models/models_5.ts +++ b/clients/client-ec2/src/models/models_5.ts @@ -1,10 +1,8 @@ // smithy-typescript generated code -import { SENSITIVE_STRING } from "@smithy/smithy-client"; - import { - AccessScopeAnalysisFinding, AddressTransfer, AllowedPrincipal, + AsnAssociation, AssociationStatus, CapacityReservationState, CurrencyCodeValues, @@ -13,12 +11,14 @@ import { IpamPoolAllocation, IpamResourceDiscoveryAssociation, NatGatewayAddress, + ResourceType, SubnetIpv6CidrBlockAssociation, Tag, TagSpecification, - TargetConfigurationRequest, TransitGatewayAssociation, + TransitGatewayAssociationState, TransitGatewayAttachmentResourceType, + TransitGatewayAttachmentState, TransitGatewayMulticastDomainAssociations, TransitGatewayPeeringAttachment, TransitGatewayPolicyTableAssociation, @@ -31,17 +31,7 @@ import { VpcIpv6CidrBlockAssociation, VpcPeeringConnection, } from "./models_0"; -import { - DiskImageFormat, - InstanceRequirementsRequest, - IpamResourceTag, - NetworkInsightsAccessScopeContent, - RequestIpamResourceTag, - ResponseLaunchTemplateData, - ResponseLaunchTemplateDataFilterSensitiveLog, - VolumeType, - Vpc, -} from "./models_1"; +import { DiskImageFormat, InstanceRequirementsRequest, IpamResourceTag, VolumeType, Vpc } from "./models_1"; import { ConnectionNotification, DnsEntry, @@ -53,7 +43,12 @@ import { ServiceTypeDetail, SSEType, State, + TrafficMirrorFilter, + TrafficMirrorSession, + TrafficMirrorTarget, TransitGateway, + TransitGatewayConnect, + TransitGatewayConnectPeer, TransitGatewayMulticastDomain, TransitGatewayPolicyTable, TransitGatewayRouteTable, @@ -67,7 +62,6 @@ import { VpnGateway, } from "./models_2"; import { - AttributeBooleanValue, ExportTaskS3Location, FastLaunchLaunchTemplateSpecificationResponse, FastLaunchResourceType, @@ -83,67 +77,45 @@ import { StatisticType, VirtualizationType, } from "./models_3"; -import { AnalysisStatus, ArchitectureType } from "./models_4"; - -/** - * @public - */ -export interface DescribeTransitGatewayMulticastDomainsResult { - /** - * @public - *

        Information about the transit gateway multicast domains.

        - */ - TransitGatewayMulticastDomains?: TransitGatewayMulticastDomain[]; - - /** - * @public - *

        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

        - */ - NextToken?: string; -} +import { ArchitectureType, AttributeBooleanValue } from "./models_4"; /** * @public */ -export interface DescribeTransitGatewayPeeringAttachmentsRequest { +export interface DescribeTagsRequest { /** * @public - *

        One or more IDs of the transit gateway peering attachments.

        + *

        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.

        */ - TransitGatewayAttachmentIds?: string[]; + DryRun?: boolean; /** * @public - *

        One or more filters. The possible values are:

        + *

        The filters.

        *
          *
        • *

          - * transit-gateway-attachment-id - The ID of the transit gateway attachment.

          - *
        • - *
        • - *

          - * local-owner-id - The ID of your Amazon Web Services account.

          - *
        • - *
        • - *

          - * remote-owner-id - The ID of the Amazon Web Services account in the remote Region that owns the transit gateway.

          + * key - The tag key.

          *
        • *
        • *

          - * state - The state of the peering attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

          + * resource-id - The ID of the resource.

          *
        • *
        • *

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

          + * resource-type - The resource type (customer-gateway | dedicated-host | dhcp-options | elastic-ip | fleet | fpga-image | host-reservation | image | instance | internet-gateway | key-pair | launch-template | natgateway | network-acl | network-interface | placement-group | reserved-instances | route-table | security-group | snapshot | spot-instances-request | subnet | volume | vpc | vpc-endpoint | vpc-endpoint-service | vpc-peering-connection | vpn-connection | vpn-gateway).

          *
        • *
        • *

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

          + * tag: - The key/value combination of the tag. For example, + * specify "tag:Owner" for the filter name and "TeamA" for the filter value to find + * resources with the tag "Owner=TeamA".

          *
        • *
        • *

          - * transit-gateway-id - The ID of the transit gateway.

          + * value - The tag value.

          *
        • *
        */ @@ -151,111 +123,99 @@ export interface DescribeTransitGatewayPeeringAttachmentsRequest { /** * @public - *

        The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

        + *

        The maximum number of items to return for this request. This value can be between 5 and 1000. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

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

        The token for the next page of results.

        + *

        The token returned from a previous paginated request. + * Pagination continues from the end of the items returned by the previous request.

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

        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.

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

        Describes a tag.

        */ -export interface DescribeTransitGatewayPeeringAttachmentsResult { +export interface TagDescription { /** * @public - *

        The transit gateway peering attachments.

        - */ - TransitGatewayPeeringAttachments?: TransitGatewayPeeringAttachment[]; - - /** - * @public - *

        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

        + *

        The tag key.

        */ - NextToken?: string; -} + Key?: string; -/** - * @public - */ -export interface DescribeTransitGatewayPolicyTablesRequest { /** * @public - *

        The IDs of the transit gateway policy tables.

        + *

        The ID of the resource.

        */ - TransitGatewayPolicyTableIds?: string[]; + ResourceId?: string; /** * @public - *

        The filters associated with the transit gateway policy table.

        + *

        The resource type.

        */ - Filters?: Filter[]; + ResourceType?: ResourceType; /** * @public - *

        The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

        + *

        The tag value.

        */ - MaxResults?: number; + Value?: string; +} +/** + * @public + */ +export interface DescribeTagsResult { /** * @public - *

        The token for the next page of results.

        + *

        The token to include in another request to get the next page of items. + * This value is null when there are no more items to return.

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

        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.

        + *

        The tags.

        */ - DryRun?: boolean; + Tags?: TagDescription[]; } /** * @public */ -export interface DescribeTransitGatewayPolicyTablesResult { - /** - * @public - *

        Describes the transit gateway policy tables.

        - */ - TransitGatewayPolicyTables?: TransitGatewayPolicyTable[]; - +export interface DescribeTrafficMirrorFiltersRequest { /** * @public - *

        The token for the next page of results.

        + *

        The ID of the Traffic Mirror filter.

        */ - NextToken?: string; -} + TrafficMirrorFilterIds?: string[]; -/** - * @public - */ -export interface DescribeTransitGatewayRouteTableAnnouncementsRequest { /** * @public - *

        The IDs of the transit gateway route tables that are being advertised.

        + *

        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.

        */ - TransitGatewayRouteTableAnnouncementIds?: string[]; + DryRun?: boolean; /** * @public - *

        The filters associated with the transit gateway policy table.

        + *

        One or more filters. The possible values are:

        + *
          + *
        • + *

          + * description: The Traffic Mirror filter description.

          + *
        • + *
        • + *

          + * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

          + *
        • + *
        */ Filters?: Filter[]; @@ -271,29 +231,21 @@ export interface DescribeTransitGatewayRouteTableAnnouncementsRequest { *

        The token for the next page of results.

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

        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.

        - */ - DryRun?: boolean; } /** * @public */ -export interface DescribeTransitGatewayRouteTableAnnouncementsResult { +export interface DescribeTrafficMirrorFiltersResult { /** * @public - *

        Describes the transit gateway route table announcement.

        + *

        Information about one or more Traffic Mirror filters.

        */ - TransitGatewayRouteTableAnnouncements?: TransitGatewayRouteTableAnnouncement[]; + TrafficMirrorFilters?: TrafficMirrorFilter[]; /** * @public - *

        The token for the next page of results.

        + *

        The token to use to retrieve the next page of results. The value is null when there are no more results to return.

        */ NextToken?: string; } @@ -301,12 +253,20 @@ export interface DescribeTransitGatewayRouteTableAnnouncementsResult { /** * @public */ -export interface DescribeTransitGatewayRouteTablesRequest { +export interface DescribeTrafficMirrorSessionsRequest { /** * @public - *

        The IDs of the transit gateway route tables.

        + *

        The ID of the Traffic Mirror session.

        */ - TransitGatewayRouteTableIds?: string[]; + TrafficMirrorSessionIds?: string[]; + + /** + * @public + *

        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.

        + */ + DryRun?: boolean; /** * @public @@ -314,25 +274,39 @@ export interface DescribeTransitGatewayRouteTablesRequest { *
          *
        • *

          - * default-association-route-table - Indicates whether this is the default - * association route table for the transit gateway (true | false).

          + * description: The Traffic Mirror session description.

          *
        • *
        • *

          - * default-propagation-route-table - Indicates whether this is the default - * propagation route table for the transit gateway (true | false).

          + * network-interface-id: The ID of the Traffic Mirror session network interface.

          *
        • *
        • *

          - * state - The state of the route table (available | deleting | deleted | pending).

          + * owner-id: The ID of the account that owns the Traffic Mirror session.

          *
        • *
        • *

          - * transit-gateway-id - The ID of the transit gateway.

          + * packet-length: The assigned number of packets to mirror.

          *
        • *
        • *

          - * transit-gateway-route-table-id - The ID of the transit gateway route table.

          + * session-number: The assigned session number.

          + *
        • + *
        • + *

          + * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

          + *
        • + *
        • + *

          + * traffic-mirror-session-id: The ID of the Traffic Mirror session.

          + *
        • + *
        • + *

          + * traffic-mirror-target-id: The ID of the Traffic Mirror target.

          + *
        • + *
        • + *

          + * virtual-network-id: The virtual network ID of the Traffic Mirror session.

          *
        • *
        */ @@ -350,29 +324,21 @@ export interface DescribeTransitGatewayRouteTablesRequest { *

        The token for the next page of results.

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

        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.

        - */ - DryRun?: boolean; } /** * @public */ -export interface DescribeTransitGatewayRouteTablesResult { +export interface DescribeTrafficMirrorSessionsResult { /** * @public - *

        Information about the transit gateway route tables.

        + *

        Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror sessions are described. Alternatively, you can filter the results.

        */ - TransitGatewayRouteTables?: TransitGatewayRouteTable[]; + TrafficMirrorSessions?: TrafficMirrorSession[]; /** * @public - *

        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

        + *

        The token to use to retrieve the next page of results. The value is null when there are no more results to return.

        */ NextToken?: string; } @@ -380,12 +346,20 @@ export interface DescribeTransitGatewayRouteTablesResult { /** * @public */ -export interface DescribeTransitGatewaysRequest { +export interface DescribeTrafficMirrorTargetsRequest { /** * @public - *

        The IDs of the transit gateways.

        + *

        The ID of the Traffic Mirror targets.

        */ - TransitGatewayIds?: string[]; + TrafficMirrorTargetIds?: string[]; + + /** + * @public + *

        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.

        + */ + DryRun?: boolean; /** * @public @@ -393,49 +367,23 @@ export interface DescribeTransitGatewaysRequest { *
          *
        • *

          - * options.propagation-default-route-table-id - The ID of the default propagation route table.

          - *
        • - *
        • - *

          - * options.amazon-side-asn - The private ASN for the Amazon side of a BGP session.

          - *
        • - *
        • - *

          - * options.association-default-route-table-id - The ID of the default association route table.

          - *
        • - *
        • - *

          - * options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable).

          - *
        • - *
        • - *

          - * options.default-route-table-association - Indicates whether resource attachments are automatically - * associated with the default association route table (enable | disable).

          - *
        • - *
        • - *

          - * options.default-route-table-propagation - Indicates whether resource attachments automatically propagate - * routes to the default propagation route table (enable | disable).

          - *
        • - *
        • - *

          - * options.dns-support - Indicates whether DNS support is enabled (enable | disable).

          + * description: The Traffic Mirror target description.

          *
        • *
        • *

          - * options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol support is enabled (enable | disable).

          + * network-interface-id: The ID of the Traffic Mirror session network interface.

          *
        • *
        • *

          - * owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

          + * network-load-balancer-arn: The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the session.

          *
        • *
        • *

          - * state - The state of the transit gateway (available | deleted | deleting | modifying | pending).

          + * owner-id: The ID of the account that owns the Traffic Mirror session.

          *
        • *
        • *

          - * transit-gateway-id - The ID of the transit gateway.

          + * traffic-mirror-target-id: The ID of the Traffic Mirror target.

          *
        • *
        */ @@ -453,29 +401,21 @@ export interface DescribeTransitGatewaysRequest { *

        The token for the next page of results.

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

        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.

        - */ - DryRun?: boolean; } /** * @public */ -export interface DescribeTransitGatewaysResult { +export interface DescribeTrafficMirrorTargetsResult { /** * @public - *

        Information about the transit gateways.

        + *

        Information about one or more Traffic Mirror targets.

        */ - TransitGateways?: TransitGateway[]; + TrafficMirrorTargets?: TrafficMirrorTarget[]; /** * @public - *

        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

        + *

        The token to use to retrieve the next page of results. The value is null when there are no more results to return.

        */ NextToken?: string; } @@ -483,7 +423,7 @@ export interface DescribeTransitGatewaysResult { /** * @public */ -export interface DescribeTransitGatewayVpcAttachmentsRequest { +export interface DescribeTransitGatewayAttachmentsRequest { /** * @public *

        The IDs of the attachments.

        @@ -496,6 +436,29 @@ export interface DescribeTransitGatewayVpcAttachmentsRequest { *
          *
        • *

          + * association.state - The state of the association (associating | associated | + * disassociating).

          + *
        • + *
        • + *

          + * association.transit-gateway-route-table-id - The ID of the route table for the transit gateway.

          + *
        • + *
        • + *

          + * resource-id - The ID of the resource.

          + *
        • + *
        • + *

          + * resource-owner-id - The ID of the Amazon Web Services account that owns the resource.

          + *
        • + *
        • + *

          + * resource-type - The resource type. Valid values are vpc + * | vpn | direct-connect-gateway | peering + * | connect.

          + *
        • + *
        • + *

          * state - The state of the attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting.

          *
        • *
        • @@ -508,7 +471,7 @@ export interface DescribeTransitGatewayVpcAttachmentsRequest { *
        • *
        • *

          - * vpc-id - The ID of the VPC.

          + * transit-gateway-owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

          *
        • *
        */ @@ -538,78 +501,97 @@ export interface DescribeTransitGatewayVpcAttachmentsRequest { /** * @public + *

        Describes an association.

        */ -export interface DescribeTransitGatewayVpcAttachmentsResult { +export interface TransitGatewayAttachmentAssociation { /** * @public - *

        Information about the VPC attachments.

        + *

        The ID of the route table for the transit gateway.

        */ - TransitGatewayVpcAttachments?: TransitGatewayVpcAttachment[]; + TransitGatewayRouteTableId?: string; /** * @public - *

        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

        + *

        The state of the association.

        */ - NextToken?: string; + State?: TransitGatewayAssociationState; } /** * @public + *

        Describes an attachment between a resource and a transit gateway.

        */ -export interface DescribeTrunkInterfaceAssociationsRequest { +export interface TransitGatewayAttachment { /** * @public - *

        The IDs of the associations.

        + *

        The ID of the attachment.

        */ - AssociationIds?: string[]; + TransitGatewayAttachmentId?: string; /** * @public - *

        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.

        + *

        The ID of the transit gateway.

        */ - DryRun?: boolean; + TransitGatewayId?: string; /** * @public - *

        One or more filters.

        - *
          - *
        • - *

          - * gre-key - The ID of a trunk interface association.

          - *
        • - *
        • - *

          - * interface-protocol - The interface protocol. Valid values are VLAN and GRE.

          - *
        • - *
        + *

        The ID of the Amazon Web Services account that owns the transit gateway.

        */ - Filters?: Filter[]; + TransitGatewayOwnerId?: string; /** * @public - *

        The token for the next page of results.

        + *

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

        */ - NextToken?: string; + ResourceOwnerId?: string; /** * @public - *

        The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

        + *

        The resource type. Note that the tgw-peering resource type has been deprecated.

        */ - MaxResults?: number; + ResourceType?: TransitGatewayAttachmentResourceType; + + /** + * @public + *

        The ID of the resource.

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

        The attachment state. Note that the initiating state has been deprecated.

        + */ + State?: TransitGatewayAttachmentState; + + /** + * @public + *

        The association.

        + */ + Association?: TransitGatewayAttachmentAssociation; + + /** + * @public + *

        The creation time.

        + */ + CreationTime?: Date; + + /** + * @public + *

        The tags for the attachment.

        + */ + Tags?: Tag[]; } /** * @public */ -export interface DescribeTrunkInterfaceAssociationsResult { +export interface DescribeTransitGatewayAttachmentsResult { /** * @public - *

        Information about the trunk associations.

        + *

        Information about the attachments.

        */ - InterfaceAssociations?: TrunkInterfaceAssociation[]; + TransitGatewayAttachments?: TransitGatewayAttachment[]; /** * @public @@ -621,24 +603,34 @@ export interface DescribeTrunkInterfaceAssociationsResult { /** * @public */ -export interface DescribeVerifiedAccessEndpointsRequest { - /** - * @public - *

        The ID of the Verified Access endpoint.

        - */ - VerifiedAccessEndpointIds?: string[]; - +export interface DescribeTransitGatewayConnectPeersRequest { /** * @public - *

        The ID of the Verified Access instance.

        + *

        The IDs of the Connect peers.

        */ - VerifiedAccessInstanceId?: string; + TransitGatewayConnectPeerIds?: string[]; /** * @public - *

        The ID of the Verified Access group.

        + *

        One or more filters. The possible values are:

        + *
          + *
        • + *

          + * state - The state of the Connect peer (pending | + * available | deleting | + * deleted).

          + *
        • + *
        • + *

          + * transit-gateway-attachment-id - The ID of the attachment.

          + *
        • + *
        • + *

          + * transit-gateway-connect-peer-id - The ID of the Connect peer.

          + *
        • + *
        */ - VerifiedAccessGroupId?: string; + Filters?: Filter[]; /** * @public @@ -653,12 +645,6 @@ export interface DescribeVerifiedAccessEndpointsRequest { */ NextToken?: string; - /** - * @public - *

        One or more filters. Filter names and values are case-sensitive.

        - */ - Filters?: Filter[]; - /** * @public *

        Checks whether you have the required permissions for the action, without actually making the request, @@ -671,12 +657,12 @@ export interface DescribeVerifiedAccessEndpointsRequest { /** * @public */ -export interface DescribeVerifiedAccessEndpointsResult { +export interface DescribeTransitGatewayConnectPeersResult { /** * @public - *

        Details about the Verified Access endpoints.

        + *

        Information about the Connect peers.

        */ - VerifiedAccessEndpoints?: VerifiedAccessEndpoint[]; + TransitGatewayConnectPeers?: TransitGatewayConnectPeer[]; /** * @public @@ -688,18 +674,46 @@ export interface DescribeVerifiedAccessEndpointsResult { /** * @public */ -export interface DescribeVerifiedAccessGroupsRequest { +export interface DescribeTransitGatewayConnectsRequest { /** * @public - *

        The ID of the Verified Access groups.

        + *

        The IDs of the attachments.

        */ - VerifiedAccessGroupIds?: string[]; + TransitGatewayAttachmentIds?: string[]; /** * @public - *

        The ID of the Verified Access instance.

        + *

        One or more filters. The possible values are:

        + *
          + *
        • + *

          + * options.protocol - The tunnel protocol (gre).

          + *
        • + *
        • + *

          + * state - The state of the attachment (initiating | + * initiatingRequest | pendingAcceptance | + * rollingBack | pending | available | + * modifying | deleting | deleted | + * failed | rejected | rejecting | + * failing).

          + *
        • + *
        • + *

          + * transit-gateway-attachment-id - The ID of the + * Connect attachment.

          + *
        • + *
        • + *

          + * transit-gateway-id - The ID of the transit gateway.

          + *
        • + *
        • + *

          + * transport-transit-gateway-attachment-id - The ID of the transit gateway attachment from which the Connect attachment was created.

          + *
        • + *
        */ - VerifiedAccessInstanceId?: string; + Filters?: Filter[]; /** * @public @@ -714,12 +728,6 @@ export interface DescribeVerifiedAccessGroupsRequest { */ NextToken?: string; - /** - * @public - *

        One or more filters. Filter names and values are case-sensitive.

        - */ - Filters?: Filter[]; - /** * @public *

        Checks whether you have the required permissions for the action, without actually making the request, @@ -732,12 +740,12 @@ export interface DescribeVerifiedAccessGroupsRequest { /** * @public */ -export interface DescribeVerifiedAccessGroupsResult { +export interface DescribeTransitGatewayConnectsResult { /** * @public - *

        Details about the Verified Access groups.

        + *

        Information about the Connect attachments.

        */ - VerifiedAccessGroups?: VerifiedAccessGroup[]; + TransitGatewayConnects?: TransitGatewayConnect[]; /** * @public @@ -749,12 +757,32 @@ export interface DescribeVerifiedAccessGroupsResult { /** * @public */ -export interface DescribeVerifiedAccessInstanceLoggingConfigurationsRequest { +export interface DescribeTransitGatewayMulticastDomainsRequest { /** * @public - *

        The IDs of the Verified Access instances.

        + *

        The ID of the transit gateway multicast domain.

        */ - VerifiedAccessInstanceIds?: string[]; + TransitGatewayMulticastDomainIds?: string[]; + + /** + * @public + *

        One or more filters. The possible values are:

        + *
          + *
        • + *

          + * state - The state of the transit gateway multicast domain. Valid values are pending | available | deleting | deleted.

          + *
        • + *
        • + *

          + * transit-gateway-id - The ID of the transit gateway.

          + *
        • + *
        • + *

          + * transit-gateway-multicast-domain-id - The ID of the transit gateway multicast domain.

          + *
        • + *
        + */ + Filters?: Filter[]; /** * @public @@ -769,12 +797,6 @@ export interface DescribeVerifiedAccessInstanceLoggingConfigurationsRequest { */ NextToken?: string; - /** - * @public - *

        One or more filters. Filter names and values are case-sensitive.

        - */ - Filters?: Filter[]; - /** * @public *

        Checks whether you have the required permissions for the action, without actually making the request, @@ -784,203 +806,179 @@ export interface DescribeVerifiedAccessInstanceLoggingConfigurationsRequest { DryRun?: boolean; } -/** - * @public - * @enum - */ -export const VerifiedAccessLogDeliveryStatusCode = { - FAILED: "failed", - SUCCESS: "success", -} as const; - /** * @public */ -export type VerifiedAccessLogDeliveryStatusCode = - (typeof VerifiedAccessLogDeliveryStatusCode)[keyof typeof VerifiedAccessLogDeliveryStatusCode]; - -/** - * @public - *

        Describes a log delivery status.

        - */ -export interface VerifiedAccessLogDeliveryStatus { +export interface DescribeTransitGatewayMulticastDomainsResult { /** * @public - *

        The status code.

        + *

        Information about the transit gateway multicast domains.

        */ - Code?: VerifiedAccessLogDeliveryStatusCode; + TransitGatewayMulticastDomains?: TransitGatewayMulticastDomain[]; /** * @public - *

        The status message.

        + *

        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

        */ - Message?: string; + NextToken?: string; } /** * @public - *

        Options for CloudWatch Logs as a logging destination.

        */ -export interface VerifiedAccessLogCloudWatchLogsDestination { - /** - * @public - *

        Indicates whether logging is enabled.

        - */ - Enabled?: boolean; - +export interface DescribeTransitGatewayPeeringAttachmentsRequest { /** * @public - *

        The delivery status for access logs.

        + *

        One or more IDs of the transit gateway peering attachments.

        */ - DeliveryStatus?: VerifiedAccessLogDeliveryStatus; + TransitGatewayAttachmentIds?: string[]; /** * @public - *

        The ID of the CloudWatch Logs log group.

        + *

        One or more filters. The possible values are:

        + *
          + *
        • + *

          + * transit-gateway-attachment-id - The ID of the transit gateway attachment.

          + *
        • + *
        • + *

          + * local-owner-id - The ID of your Amazon Web Services account.

          + *
        • + *
        • + *

          + * remote-owner-id - The ID of the Amazon Web Services account in the remote Region that owns the transit gateway.

          + *
        • + *
        • + *

          + * state - The state of the peering attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

          + *
        • + *
        • + *

          + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

          + *
        • + *
        • + *

          + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

          + *
        • + *
        • + *

          + * transit-gateway-id - The ID of the transit gateway.

          + *
        • + *
        */ - LogGroup?: string; -} + Filters?: Filter[]; -/** - * @public - *

        Options for Kinesis as a logging destination.

        - */ -export interface VerifiedAccessLogKinesisDataFirehoseDestination { /** * @public - *

        Indicates whether logging is enabled.

        + *

        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

        */ - Enabled?: boolean; + MaxResults?: number; /** * @public - *

        The delivery status.

        + *

        The token for the next page of results.

        */ - DeliveryStatus?: VerifiedAccessLogDeliveryStatus; + NextToken?: string; /** * @public - *

        The ID of the delivery stream.

        + *

        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.

        */ - DeliveryStream?: string; + DryRun?: boolean; } /** * @public - *

        Options for Amazon S3 as a logging destination.

        */ -export interface VerifiedAccessLogS3Destination { +export interface DescribeTransitGatewayPeeringAttachmentsResult { /** * @public - *

        Indicates whether logging is enabled.

        + *

        The transit gateway peering attachments.

        */ - Enabled?: boolean; + TransitGatewayPeeringAttachments?: TransitGatewayPeeringAttachment[]; /** * @public - *

        The delivery status.

        + *

        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

        */ - DeliveryStatus?: VerifiedAccessLogDeliveryStatus; - - /** - * @public - *

        The bucket name.

        - */ - BucketName?: string; - - /** - * @public - *

        The bucket prefix.

        - */ - Prefix?: string; - - /** - * @public - *

        The Amazon Web Services account number that owns the bucket.

        - */ - BucketOwner?: string; + NextToken?: string; } /** * @public - *

        Describes the options for Verified Access logs.

        */ -export interface VerifiedAccessLogs { +export interface DescribeTransitGatewayPolicyTablesRequest { /** * @public - *

        Amazon S3 logging options.

        + *

        The IDs of the transit gateway policy tables.

        */ - S3?: VerifiedAccessLogS3Destination; + TransitGatewayPolicyTableIds?: string[]; /** * @public - *

        CloudWatch Logs logging destination.

        + *

        The filters associated with the transit gateway policy table.

        */ - CloudWatchLogs?: VerifiedAccessLogCloudWatchLogsDestination; + Filters?: Filter[]; /** * @public - *

        Kinesis logging destination.

        + *

        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

        */ - KinesisDataFirehose?: VerifiedAccessLogKinesisDataFirehoseDestination; + MaxResults?: number; /** * @public - *

        The log version.

        + *

        The token for the next page of results.

        */ - LogVersion?: string; + NextToken?: string; /** * @public - *

        Indicates whether trust data is included in the logs.

        + *

        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.

        */ - IncludeTrustContext?: boolean; + DryRun?: boolean; } /** * @public - *

        Describes logging options for an Amazon Web Services Verified Access instance.

        */ -export interface VerifiedAccessInstanceLoggingConfiguration { +export interface DescribeTransitGatewayPolicyTablesResult { /** * @public - *

        The ID of the Amazon Web Services Verified Access instance.

        + *

        Describes the transit gateway policy tables.

        */ - VerifiedAccessInstanceId?: string; + TransitGatewayPolicyTables?: TransitGatewayPolicyTable[]; /** * @public - *

        Details about the logging options.

        + *

        The token for the next page of results.

        */ - AccessLogs?: VerifiedAccessLogs; + NextToken?: string; } /** * @public */ -export interface DescribeVerifiedAccessInstanceLoggingConfigurationsResult { - /** - * @public - *

        The logging configuration for the Verified Access instances.

        - */ - LoggingConfigurations?: VerifiedAccessInstanceLoggingConfiguration[]; - +export interface DescribeTransitGatewayRouteTableAnnouncementsRequest { /** * @public - *

        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

        + *

        The IDs of the transit gateway route tables that are being advertised.

        */ - NextToken?: string; -} + TransitGatewayRouteTableAnnouncementIds?: string[]; -/** - * @public - */ -export interface DescribeVerifiedAccessInstancesRequest { /** * @public - *

        The IDs of the Verified Access instances.

        + *

        The filters associated with the transit gateway policy table.

        */ - VerifiedAccessInstanceIds?: string[]; + Filters?: Filter[]; /** * @public @@ -995,12 +993,6 @@ export interface DescribeVerifiedAccessInstancesRequest { */ NextToken?: string; - /** - * @public - *

        One or more filters. Filter names and values are case-sensitive.

        - */ - Filters?: Filter[]; - /** * @public *

        Checks whether you have the required permissions for the action, without actually making the request, @@ -1013,16 +1005,16 @@ export interface DescribeVerifiedAccessInstancesRequest { /** * @public */ -export interface DescribeVerifiedAccessInstancesResult { +export interface DescribeTransitGatewayRouteTableAnnouncementsResult { /** * @public - *

        Details about the Verified Access instances.

        + *

        Describes the transit gateway route table announcement.

        */ - VerifiedAccessInstances?: VerifiedAccessInstance[]; + TransitGatewayRouteTableAnnouncements?: TransitGatewayRouteTableAnnouncement[]; /** * @public - *

        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

        + *

        The token for the next page of results.

        */ NextToken?: string; } @@ -1030,12 +1022,42 @@ export interface DescribeVerifiedAccessInstancesResult { /** * @public */ -export interface DescribeVerifiedAccessTrustProvidersRequest { +export interface DescribeTransitGatewayRouteTablesRequest { /** * @public - *

        The IDs of the Verified Access trust providers.

        + *

        The IDs of the transit gateway route tables.

        */ - VerifiedAccessTrustProviderIds?: string[]; + TransitGatewayRouteTableIds?: string[]; + + /** + * @public + *

        One or more filters. The possible values are:

        + *
          + *
        • + *

          + * default-association-route-table - Indicates whether this is the default + * association route table for the transit gateway (true | false).

          + *
        • + *
        • + *

          + * default-propagation-route-table - Indicates whether this is the default + * propagation route table for the transit gateway (true | false).

          + *
        • + *
        • + *

          + * state - The state of the route table (available | deleting | deleted | pending).

          + *
        • + *
        • + *

          + * transit-gateway-id - The ID of the transit gateway.

          + *
        • + *
        • + *

          + * transit-gateway-route-table-id - The ID of the transit gateway route table.

          + *
        • + *
        + */ + Filters?: Filter[]; /** * @public @@ -1050,12 +1072,6 @@ export interface DescribeVerifiedAccessTrustProvidersRequest { */ NextToken?: string; - /** - * @public - *

        One or more filters. Filter names and values are case-sensitive.

        - */ - Filters?: Filter[]; - /** * @public *

        Checks whether you have the required permissions for the action, without actually making the request, @@ -1068,12 +1084,12 @@ export interface DescribeVerifiedAccessTrustProvidersRequest { /** * @public */ -export interface DescribeVerifiedAccessTrustProvidersResult { +export interface DescribeTransitGatewayRouteTablesResult { /** * @public - *

        Details about the Verified Access trust providers.

        + *

        Information about the transit gateway route tables.

        */ - VerifiedAccessTrustProviders?: VerifiedAccessTrustProvider[]; + TransitGatewayRouteTables?: TransitGatewayRouteTable[]; /** * @public @@ -1084,33 +1100,80 @@ export interface DescribeVerifiedAccessTrustProvidersResult { /** * @public - * @enum */ -export const VolumeAttributeName = { - autoEnableIO: "autoEnableIO", - productCodes: "productCodes", -} as const; +export interface DescribeTransitGatewaysRequest { + /** + * @public + *

        The IDs of the transit gateways.

        + */ + TransitGatewayIds?: string[]; -/** - * @public - */ -export type VolumeAttributeName = (typeof VolumeAttributeName)[keyof typeof VolumeAttributeName]; + /** + * @public + *

        One or more filters. The possible values are:

        + *
          + *
        • + *

          + * options.propagation-default-route-table-id - The ID of the default propagation route table.

          + *
        • + *
        • + *

          + * options.amazon-side-asn - The private ASN for the Amazon side of a BGP session.

          + *
        • + *
        • + *

          + * options.association-default-route-table-id - The ID of the default association route table.

          + *
        • + *
        • + *

          + * options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable).

          + *
        • + *
        • + *

          + * options.default-route-table-association - Indicates whether resource attachments are automatically + * associated with the default association route table (enable | disable).

          + *
        • + *
        • + *

          + * options.default-route-table-propagation - Indicates whether resource attachments automatically propagate + * routes to the default propagation route table (enable | disable).

          + *
        • + *
        • + *

          + * options.dns-support - Indicates whether DNS support is enabled (enable | disable).

          + *
        • + *
        • + *

          + * options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol support is enabled (enable | disable).

          + *
        • + *
        • + *

          + * owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

          + *
        • + *
        • + *

          + * state - The state of the transit gateway (available | deleted | deleting | modifying | pending).

          + *
        • + *
        • + *

          + * transit-gateway-id - The ID of the transit gateway.

          + *
        • + *
        + */ + Filters?: Filter[]; -/** - * @public - */ -export interface DescribeVolumeAttributeRequest { /** * @public - *

        The attribute of the volume. This parameter is required.

        + *

        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

        */ - Attribute: VolumeAttributeName | undefined; + MaxResults?: number; /** * @public - *

        The ID of the volume.

        + *

        The token for the next page of results.

        */ - VolumeId: string | undefined; + NextToken?: string; /** * @public @@ -1124,115 +1187,49 @@ export interface DescribeVolumeAttributeRequest { /** * @public */ -export interface DescribeVolumeAttributeResult { - /** - * @public - *

        The state of autoEnableIO attribute.

        - */ - AutoEnableIO?: AttributeBooleanValue; - +export interface DescribeTransitGatewaysResult { /** * @public - *

        A list of product codes.

        + *

        Information about the transit gateways.

        */ - ProductCodes?: ProductCode[]; + TransitGateways?: TransitGateway[]; /** * @public - *

        The ID of the volume.

        + *

        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

        */ - VolumeId?: string; + NextToken?: string; } /** * @public */ -export interface DescribeVolumesRequest { +export interface DescribeTransitGatewayVpcAttachmentsRequest { /** * @public - *

        The filters.

        + *

        The IDs of the attachments.

        + */ + TransitGatewayAttachmentIds?: string[]; + + /** + * @public + *

        One or more filters. The possible values are:

        *
          *
        • *

          - * attachment.attach-time - The time stamp when the attachment - * initiated.

          + * state - The state of the attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting.

          *
        • *
        • *

          - * attachment.delete-on-termination - Whether the volume is deleted on - * instance termination.

          + * transit-gateway-attachment-id - The ID of the attachment.

          *
        • *
        • *

          - * attachment.device - The device name specified in the block device mapping - * (for example, /dev/sda1).

          + * transit-gateway-id - The ID of the transit gateway.

          *
        • *
        • *

          - * attachment.instance-id - The ID of the instance the volume is attached - * to.

          - *
        • - *
        • - *

          - * attachment.status - The attachment state (attaching | - * attached | detaching).

          - *
        • - *
        • - *

          - * availability-zone - The Availability Zone in which the volume was - * created.

          - *
        • - *
        • - *

          - * create-time - The time stamp when the volume was created.

          - *
        • - *
        • - *

          - * encrypted - Indicates whether the volume is encrypted (true - * | false)

          - *
        • - *
        • - *

          - * multi-attach-enabled - Indicates whether the volume is enabled for Multi-Attach (true - * | false)

          - *
        • - *
        • - *

          - * fast-restored - Indicates whether the volume was created from a - * snapshot that is enabled for fast snapshot restore (true | - * false).

          - *
        • - *
        • - *

          - * size - The size of the volume, in GiB.

          - *
        • - *
        • - *

          - * snapshot-id - The snapshot from which the volume was created.

          - *
        • - *
        • - *

          - * status - The state of the volume (creating | - * available | in-use | deleting | - * deleted | error).

          - *
        • - *
        • - *

          - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

          - *
        • - *
        • - *

          - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

          - *
        • - *
        • - *

          - * volume-id - The volume ID.

          - *
        • - *
        • - *

          - * volume-type - The Amazon EBS volume type (gp2 | gp3 | io1 | io2 | - * st1 | sc1| standard)

          + * vpc-id - The ID of the VPC.

          *
        • *
        */ @@ -1240,49 +1237,39 @@ export interface DescribeVolumesRequest { /** * @public - *

        The volume IDs.

        - */ - VolumeIds?: string[]; - - /** - * @public - *

        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.

        + *

        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

        */ - DryRun?: boolean; + MaxResults?: number; /** * @public - *

        The maximum number of volumes to return for this request. - * This value can be between 5 and 500; if you specify a value larger than 500, only 500 items are returned. - * If this parameter is not used, then all items are returned. You cannot specify this parameter and the - * volume IDs parameter in the same request. For more information, see Pagination.

        + *

        The token for the next page of results.

        */ - MaxResults?: number; + NextToken?: string; /** * @public - *

        The token returned from a previous paginated request. - * Pagination continues from the end of the items returned from the previous request.

        + *

        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.

        */ - NextToken?: string; + DryRun?: boolean; } /** * @public */ -export interface DescribeVolumesResult { +export interface DescribeTransitGatewayVpcAttachmentsResult { /** * @public - *

        Information about the volumes.

        + *

        Information about the VPC attachments.

        */ - Volumes?: Volume[]; + TransitGatewayVpcAttachments?: TransitGatewayVpcAttachment[]; /** * @public - *

        The token to include in another request to get the next page of items. - * This value is null when there are no more items to return.

        + *

        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

        */ NextToken?: string; } @@ -1290,71 +1277,32 @@ export interface DescribeVolumesResult { /** * @public */ -export interface DescribeVolumesModificationsRequest { +export interface DescribeTrunkInterfaceAssociationsRequest { /** * @public - *

        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.

        + *

        The IDs of the associations.

        */ - DryRun?: boolean; + AssociationIds?: string[]; /** * @public - *

        The IDs of the volumes.

        + *

        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.

        */ - VolumeIds?: string[]; + DryRun?: boolean; /** * @public - *

        The filters.

        + *

        One or more filters.

        *
          *
        • *

          - * modification-state - The current modification state (modifying | - * optimizing | completed | failed).

          - *
        • - *
        • - *

          - * original-iops - The original IOPS rate of the volume.

          - *
        • - *
        • - *

          - * original-size - The original size of the volume, in GiB.

          - *
        • - *
        • - *

          - * original-volume-type - The original volume type of the volume (standard | - * io1 | io2 | gp2 | sc1 | st1).

          - *
        • - *
        • - *

          - * originalMultiAttachEnabled - Indicates whether Multi-Attach support was enabled (true | false).

          - *
        • - *
        • - *

          - * start-time - The modification start time.

          - *
        • - *
        • - *

          - * target-iops - The target IOPS rate of the volume.

          - *
        • - *
        • - *

          - * target-size - The target size of the volume, in GiB.

          - *
        • - *
        • - *

          - * target-volume-type - The target volume type of the volume (standard | - * io1 | io2 | gp2 | sc1 | st1).

          - *
        • - *
        • - *

          - * targetMultiAttachEnabled - Indicates whether Multi-Attach support is to be enabled (true | false).

          + * gre-key - The ID of a trunk interface association.

          *
        • *
        • *

          - * volume-id - The ID of the volume.

          + * interface-protocol - The interface protocol. Valid values are VLAN and GRE.

          *
        • *
        */ @@ -1362,153 +1310,159 @@ export interface DescribeVolumesModificationsRequest { /** * @public - *

        The token returned by a previous paginated request. - * Pagination continues from the end of the items returned by the previous request.

        + *

        The token for the next page of results.

        */ NextToken?: string; /** * @public - *

        The maximum number of results (up to a limit of 500) to be returned in a paginated - * request. For more information, see Pagination.

        + *

        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

        */ MaxResults?: number; } /** * @public - * @enum */ -export const VolumeModificationState = { - completed: "completed", - failed: "failed", - modifying: "modifying", - optimizing: "optimizing", -} as const; +export interface DescribeTrunkInterfaceAssociationsResult { + /** + * @public + *

        Information about the trunk associations.

        + */ + InterfaceAssociations?: TrunkInterfaceAssociation[]; -/** - * @public - */ -export type VolumeModificationState = (typeof VolumeModificationState)[keyof typeof VolumeModificationState]; + /** + * @public + *

        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

        + */ + NextToken?: string; +} /** * @public - *

        Describes the modification status of an EBS volume.

        - *

        If the volume has never been modified, some element values will be null.

        */ -export interface VolumeModification { +export interface DescribeVerifiedAccessEndpointsRequest { /** * @public - *

        The ID of the volume.

        + *

        The ID of the Verified Access endpoint.

        */ - VolumeId?: string; + VerifiedAccessEndpointIds?: string[]; /** * @public - *

        The current modification state. The modification state is null for unmodified - * volumes.

        + *

        The ID of the Verified Access instance.

        */ - ModificationState?: VolumeModificationState; + VerifiedAccessInstanceId?: string; /** * @public - *

        A status message about the modification progress or failure.

        + *

        The ID of the Verified Access group.

        */ - StatusMessage?: string; + VerifiedAccessGroupId?: string; /** * @public - *

        The target size of the volume, in GiB.

        + *

        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

        */ - TargetSize?: number; + MaxResults?: number; /** * @public - *

        The target IOPS rate of the volume.

        + *

        The token for the next page of results.

        */ - TargetIops?: number; + NextToken?: string; /** * @public - *

        The target EBS volume type of the volume.

        + *

        One or more filters. Filter names and values are case-sensitive.

        */ - TargetVolumeType?: VolumeType; + Filters?: Filter[]; /** * @public - *

        The target throughput of the volume, in MiB/s.

        + *

        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.

        */ - TargetThroughput?: number; + DryRun?: boolean; +} +/** + * @public + */ +export interface DescribeVerifiedAccessEndpointsResult { /** * @public - *

        The target setting for Amazon EBS Multi-Attach.

        + *

        Details about the Verified Access endpoints.

        */ - TargetMultiAttachEnabled?: boolean; + VerifiedAccessEndpoints?: VerifiedAccessEndpoint[]; /** * @public - *

        The original size of the volume, in GiB.

        + *

        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

        */ - OriginalSize?: number; + NextToken?: string; +} +/** + * @public + */ +export interface DescribeVerifiedAccessGroupsRequest { /** * @public - *

        The original IOPS rate of the volume.

        + *

        The ID of the Verified Access groups.

        */ - OriginalIops?: number; + VerifiedAccessGroupIds?: string[]; /** * @public - *

        The original EBS volume type of the volume.

        + *

        The ID of the Verified Access instance.

        */ - OriginalVolumeType?: VolumeType; + VerifiedAccessInstanceId?: string; /** * @public - *

        The original throughput of the volume, in MiB/s.

        + *

        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

        */ - OriginalThroughput?: number; + MaxResults?: number; /** * @public - *

        The original setting for Amazon EBS Multi-Attach.

        - */ - OriginalMultiAttachEnabled?: boolean; - - /** - * @public - *

        The modification progress, from 0 to 100 percent complete.

        + *

        The token for the next page of results.

        */ - Progress?: number; + NextToken?: string; /** * @public - *

        The modification start time.

        + *

        One or more filters. Filter names and values are case-sensitive.

        */ - StartTime?: Date; + Filters?: Filter[]; /** * @public - *

        The modification completion or failure time.

        + *

        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.

        */ - EndTime?: Date; + DryRun?: boolean; } /** * @public */ -export interface DescribeVolumesModificationsResult { +export interface DescribeVerifiedAccessGroupsResult { /** * @public - *

        Information about the volume modifications.

        + *

        Details about the Verified Access groups.

        */ - VolumesModifications?: VolumeModification[]; + VerifiedAccessGroups?: VerifiedAccessGroup[]; /** * @public - *

        The token to include in another request to get the next page of items. - * This value is null if there are no more items to return.

        + *

        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

        */ NextToken?: string; } @@ -1516,97 +1470,31 @@ export interface DescribeVolumesModificationsResult { /** * @public */ -export interface DescribeVolumeStatusRequest { +export interface DescribeVerifiedAccessInstanceLoggingConfigurationsRequest { /** * @public - *

        The filters.

        - *
          - *
        • - *

          - * action.code - The action code for the event (for example, - * enable-volume-io).

          - *
        • - *
        • - *

          - * action.description - A description of the action.

          - *
        • - *
        • - *

          - * action.event-id - The event ID associated with the action.

          - *
        • - *
        • - *

          - * availability-zone - The Availability Zone of the instance.

          - *
        • - *
        • - *

          - * event.description - A description of the event.

          - *
        • - *
        • - *

          - * event.event-id - The event ID.

          - *
        • - *
        • - *

          - * event.event-type - The event type (for io-enabled: - * passed | failed; for io-performance: - * io-performance:degraded | io-performance:severely-degraded | - * io-performance:stalled).

          - *
        • - *
        • - *

          - * event.not-after - The latest end time for the event.

          - *
        • - *
        • - *

          - * event.not-before - The earliest start time for the event.

          - *
        • - *
        • - *

          - * volume-status.details-name - The cause for - * volume-status.status (io-enabled | - * io-performance).

          - *
        • - *
        • - *

          - * volume-status.details-status - The status of - * volume-status.details-name (for io-enabled: - * passed | failed; for io-performance: - * normal | degraded | severely-degraded | - * stalled).

          - *
        • - *
        • - *

          - * volume-status.status - The status of the volume (ok | - * impaired | warning | insufficient-data).

          - *
        • - *
        + *

        The IDs of the Verified Access instances.

        */ - Filters?: Filter[]; + VerifiedAccessInstanceIds?: string[]; /** * @public - *

        The maximum number of items to return for this request. To get the next page of items, - * make another request with the token returned in the output. This value can be between 5 and 1,000; - * if the value is larger than 1,000, only 1,000 results are returned. If this parameter is not used, - * then all items are returned. You cannot specify this parameter and the volume IDs parameter in the - * same request. For more information, see Pagination.

        + *

        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

        */ MaxResults?: number; /** * @public - *

        The token returned from a previous paginated request. - * Pagination continues from the end of the items returned by the previous request.

        + *

        The token for the next page of results.

        */ NextToken?: string; /** * @public - *

        The IDs of the volumes.

        - *

        Default: Describes all your volumes.

        + *

        One or more filters. Filter names and values are case-sensitive.

        */ - VolumeIds?: string[]; + Filters?: Filter[]; /** * @public @@ -1619,255 +1507,220 @@ export interface DescribeVolumeStatusRequest { /** * @public - *

        Describes a volume status operation code.

        + * @enum */ -export interface VolumeStatusAction { - /** - * @public - *

        The code identifying the operation, for example, enable-volume-io.

        - */ - Code?: string; +export const VerifiedAccessLogDeliveryStatusCode = { + FAILED: "failed", + SUCCESS: "success", +} as const; - /** - * @public - *

        A description of the operation.

        - */ - Description?: string; +/** + * @public + */ +export type VerifiedAccessLogDeliveryStatusCode = + (typeof VerifiedAccessLogDeliveryStatusCode)[keyof typeof VerifiedAccessLogDeliveryStatusCode]; +/** + * @public + *

        Describes a log delivery status.

        + */ +export interface VerifiedAccessLogDeliveryStatus { /** * @public - *

        The ID of the event associated with this operation.

        + *

        The status code.

        */ - EventId?: string; + Code?: VerifiedAccessLogDeliveryStatusCode; /** * @public - *

        The event type associated with this operation.

        + *

        The status message.

        */ - EventType?: string; + Message?: string; } /** * @public - *

        Information about the instances to which the volume is attached.

        + *

        Options for CloudWatch Logs as a logging destination.

        */ -export interface VolumeStatusAttachmentStatus { +export interface VerifiedAccessLogCloudWatchLogsDestination { /** * @public - *

        The maximum IOPS supported by the attached instance.

        + *

        Indicates whether logging is enabled.

        */ - IoPerformance?: string; + Enabled?: boolean; /** * @public - *

        The ID of the attached instance.

        + *

        The delivery status for access logs.

        */ - InstanceId?: string; + DeliveryStatus?: VerifiedAccessLogDeliveryStatus; + + /** + * @public + *

        The ID of the CloudWatch Logs log group.

        + */ + LogGroup?: string; } /** * @public - *

        Describes a volume status event.

        + *

        Options for Kinesis as a logging destination.

        */ -export interface VolumeStatusEvent { +export interface VerifiedAccessLogKinesisDataFirehoseDestination { /** * @public - *

        A description of the event.

        + *

        Indicates whether logging is enabled.

        */ - Description?: string; + Enabled?: boolean; /** * @public - *

        The ID of this event.

        + *

        The delivery status.

        */ - EventId?: string; + DeliveryStatus?: VerifiedAccessLogDeliveryStatus; /** * @public - *

        The type of this event.

        + *

        The ID of the delivery stream.

        */ - EventType?: string; + DeliveryStream?: string; +} +/** + * @public + *

        Options for Amazon S3 as a logging destination.

        + */ +export interface VerifiedAccessLogS3Destination { /** * @public - *

        The latest end time of the event.

        + *

        Indicates whether logging is enabled.

        */ - NotAfter?: Date; + Enabled?: boolean; /** * @public - *

        The earliest start time of the event.

        + *

        The delivery status.

        */ - NotBefore?: Date; + DeliveryStatus?: VerifiedAccessLogDeliveryStatus; /** * @public - *

        The ID of the instance associated with the event.

        + *

        The bucket name.

        */ - InstanceId?: string; -} - -/** - * @public - * @enum - */ -export const VolumeStatusName = { - io_enabled: "io-enabled", - io_performance: "io-performance", -} as const; - -/** - * @public - */ -export type VolumeStatusName = (typeof VolumeStatusName)[keyof typeof VolumeStatusName]; + BucketName?: string; -/** - * @public - *

        Describes a volume status.

        - */ -export interface VolumeStatusDetails { /** * @public - *

        The name of the volume status.

        + *

        The bucket prefix.

        */ - Name?: VolumeStatusName; + Prefix?: string; /** * @public - *

        The intended status of the volume status.

        + *

        The Amazon Web Services account number that owns the bucket.

        */ - Status?: string; + BucketOwner?: string; } /** * @public - * @enum - */ -export const VolumeStatusInfoStatus = { - impaired: "impaired", - insufficient_data: "insufficient-data", - ok: "ok", -} as const; - -/** - * @public - */ -export type VolumeStatusInfoStatus = (typeof VolumeStatusInfoStatus)[keyof typeof VolumeStatusInfoStatus]; - -/** - * @public - *

        Describes the status of a volume.

        + *

        Describes the options for Verified Access logs.

        */ -export interface VolumeStatusInfo { +export interface VerifiedAccessLogs { /** * @public - *

        The details of the volume status.

        + *

        Amazon S3 logging options.

        */ - Details?: VolumeStatusDetails[]; + S3?: VerifiedAccessLogS3Destination; /** * @public - *

        The status of the volume.

        + *

        CloudWatch Logs logging destination.

        */ - Status?: VolumeStatusInfoStatus; -} + CloudWatchLogs?: VerifiedAccessLogCloudWatchLogsDestination; -/** - * @public - *

        Describes the volume status.

        - */ -export interface VolumeStatusItem { /** * @public - *

        The details of the operation.

        + *

        Kinesis logging destination.

        */ - Actions?: VolumeStatusAction[]; + KinesisDataFirehose?: VerifiedAccessLogKinesisDataFirehoseDestination; /** * @public - *

        The Availability Zone of the volume.

        + *

        The log version.

        */ - AvailabilityZone?: string; + LogVersion?: string; /** * @public - *

        The Amazon Resource Name (ARN) of the Outpost.

        + *

        Indicates whether trust data is included in the logs.

        */ - OutpostArn?: string; + IncludeTrustContext?: boolean; +} +/** + * @public + *

        Describes logging options for an Amazon Web Services Verified Access instance.

        + */ +export interface VerifiedAccessInstanceLoggingConfiguration { /** * @public - *

        A list of events associated with the volume.

        + *

        The ID of the Amazon Web Services Verified Access instance.

        */ - Events?: VolumeStatusEvent[]; + VerifiedAccessInstanceId?: string; /** * @public - *

        The volume ID.

        + *

        Details about the logging options.

        */ - VolumeId?: string; + AccessLogs?: VerifiedAccessLogs; +} +/** + * @public + */ +export interface DescribeVerifiedAccessInstanceLoggingConfigurationsResult { /** * @public - *

        The volume status.

        + *

        The logging configuration for the Verified Access instances.

        */ - VolumeStatus?: VolumeStatusInfo; + LoggingConfigurations?: VerifiedAccessInstanceLoggingConfiguration[]; /** * @public - *

        Information about the instances to which the volume is attached.

        + *

        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

        */ - AttachmentStatuses?: VolumeStatusAttachmentStatus[]; + NextToken?: string; } /** * @public */ -export interface DescribeVolumeStatusResult { +export interface DescribeVerifiedAccessInstancesRequest { /** * @public - *

        The token to include in another request to get the next page of items. - * This value is null when there are no more items to return.

        + *

        The IDs of the Verified Access instances.

        */ - NextToken?: string; + VerifiedAccessInstanceIds?: string[]; /** * @public - *

        Information about the status of the volumes.

        + *

        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

        */ - VolumeStatuses?: VolumeStatusItem[]; -} - -/** - * @public - * @enum - */ -export const VpcAttributeName = { - enableDnsHostnames: "enableDnsHostnames", - enableDnsSupport: "enableDnsSupport", - enableNetworkAddressUsageMetrics: "enableNetworkAddressUsageMetrics", -} as const; - -/** - * @public - */ -export type VpcAttributeName = (typeof VpcAttributeName)[keyof typeof VpcAttributeName]; + MaxResults?: number; -/** - * @public - */ -export interface DescribeVpcAttributeRequest { /** * @public - *

        The VPC attribute.

        + *

        The token for the next page of results.

        */ - Attribute: VpcAttributeName | undefined; + NextToken?: string; /** * @public - *

        The ID of the VPC.

        + *

        One or more filters. Filter names and values are case-sensitive.

        */ - VpcId: string | undefined; + Filters?: Filter[]; /** * @public @@ -1881,60 +1734,46 @@ export interface DescribeVpcAttributeRequest { /** * @public */ -export interface DescribeVpcAttributeResult { +export interface DescribeVerifiedAccessInstancesResult { /** * @public - *

        The ID of the VPC.

        + *

        Details about the Verified Access instances.

        */ - VpcId?: string; + VerifiedAccessInstances?: VerifiedAccessInstance[]; /** * @public - *

        Indicates whether the instances launched in the VPC get DNS hostnames. - * If this attribute is true, instances in the VPC get DNS hostnames; - * otherwise, they do not.

        + *

        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

        */ - EnableDnsHostnames?: AttributeBooleanValue; + NextToken?: string; +} +/** + * @public + */ +export interface DescribeVerifiedAccessTrustProvidersRequest { /** * @public - *

        Indicates whether DNS resolution is enabled for - * the VPC. If this attribute is true, the Amazon DNS server - * resolves DNS hostnames for your instances to their corresponding - * IP addresses; otherwise, it does not.

        + *

        The IDs of the Verified Access trust providers.

        */ - EnableDnsSupport?: AttributeBooleanValue; + VerifiedAccessTrustProviderIds?: string[]; /** * @public - *

        Indicates whether Network Address Usage metrics are enabled for your VPC.

        + *

        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

        */ - EnableNetworkAddressUsageMetrics?: AttributeBooleanValue; -} + MaxResults?: number; -/** - * @public - */ -export interface DescribeVpcClassicLinkRequest { /** * @public - *

        The filters.

        - *
          - *
        • - *

          - * is-classic-link-enabled - Whether the VPC is enabled for ClassicLink - * (true | false).

          - *
        • - *
        • - *

          - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

          - *
        • - *
        • - *

          - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

          - *
        • - *
        + *

        The token for the next page of results.

        + */ + NextToken?: string; + + /** + * @public + *

        One or more filters. Filter names and values are case-sensitive.

        */ Filters?: Filter[]; @@ -1945,164 +1784,176 @@ export interface DescribeVpcClassicLinkRequest { * Otherwise, it is UnauthorizedOperation.

        */ DryRun?: boolean; - - /** - * @public - *

        The VPCs for which you want to describe the ClassicLink status.

        - */ - VpcIds?: string[]; } /** * @public - * - *

        Deprecated.

        - *
        - *

        Describes whether a VPC is enabled for ClassicLink.

        */ -export interface VpcClassicLink { - /** - * @public - *

        Indicates whether the VPC is enabled for ClassicLink.

        - */ - ClassicLinkEnabled?: boolean; - +export interface DescribeVerifiedAccessTrustProvidersResult { /** * @public - *

        Any tags assigned to the VPC.

        + *

        Details about the Verified Access trust providers.

        */ - Tags?: Tag[]; + VerifiedAccessTrustProviders?: VerifiedAccessTrustProvider[]; /** * @public - *

        The ID of the VPC.

        + *

        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

        */ - VpcId?: string; + NextToken?: string; } /** * @public + * @enum */ -export interface DescribeVpcClassicLinkResult { - /** - * @public - *

        The ClassicLink status of the VPCs.

        - */ - Vpcs?: VpcClassicLink[]; -} +export const VolumeAttributeName = { + autoEnableIO: "autoEnableIO", + productCodes: "productCodes", +} as const; /** * @public */ -export interface DescribeVpcClassicLinkDnsSupportRequest { +export type VolumeAttributeName = (typeof VolumeAttributeName)[keyof typeof VolumeAttributeName]; + +/** + * @public + */ +export interface DescribeVolumeAttributeRequest { /** * @public - *

        The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

        + *

        The attribute of the volume. This parameter is required.

        */ - MaxResults?: number; + Attribute: VolumeAttributeName | undefined; /** * @public - *

        The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

        + *

        The ID of the volume.

        */ - NextToken?: string; + VolumeId: string | undefined; /** * @public - *

        The IDs of the VPCs.

        + *

        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.

        */ - VpcIds?: string[]; + DryRun?: boolean; } /** * @public - * - *

        Deprecated.

        - *
        - *

        Describes the ClassicLink DNS support status of a VPC.

        */ -export interface ClassicLinkDnsSupport { - /** - * @public - *

        Indicates whether ClassicLink DNS support is enabled for the VPC.

        - */ - ClassicLinkDnsSupported?: boolean; - +export interface DescribeVolumeAttributeResult { /** * @public - *

        The ID of the VPC.

        + *

        The state of autoEnableIO attribute.

        */ - VpcId?: string; -} + AutoEnableIO?: AttributeBooleanValue; -/** - * @public - */ -export interface DescribeVpcClassicLinkDnsSupportResult { /** * @public - *

        The token to include in another request to get the next page of items. This value is null when there are no more items to return.

        + *

        A list of product codes.

        */ - NextToken?: string; + ProductCodes?: ProductCode[]; /** * @public - *

        Information about the ClassicLink DNS support status of the VPCs.

        + *

        The ID of the volume.

        */ - Vpcs?: ClassicLinkDnsSupport[]; + VolumeId?: string; } /** * @public */ -export interface DescribeVpcEndpointConnectionNotificationsRequest { - /** - * @public - *

        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.

        - */ - DryRun?: boolean; - - /** - * @public - *

        The ID of the notification.

        - */ - ConnectionNotificationId?: string; - +export interface DescribeVolumesRequest { /** * @public *

        The filters.

        *
          *
        • *

          - * connection-notification-arn - The ARN of the SNS topic for the - * notification.

          + * attachment.attach-time - The time stamp when the attachment + * initiated.

          *
        • *
        • *

          - * connection-notification-id - The ID of the - * notification.

          + * attachment.delete-on-termination - Whether the volume is deleted on + * instance termination.

          *
        • *
        • *

          - * connection-notification-state - The state of the notification - * (Enabled | Disabled).

          + * attachment.device - The device name specified in the block device mapping + * (for example, /dev/sda1).

          *
        • *
        • *

          - * connection-notification-type - The type of notification - * (Topic).

          + * attachment.instance-id - The ID of the instance the volume is attached + * to.

          *
        • *
        • *

          - * service-id - The ID of the endpoint service.

          + * attachment.status - The attachment state (attaching | + * attached | detaching).

          *
        • *
        • *

          - * vpc-endpoint-id - The ID of the VPC endpoint.

          + * availability-zone - The Availability Zone in which the volume was + * created.

          + *
        • + *
        • + *

          + * create-time - The time stamp when the volume was created.

          + *
        • + *
        • + *

          + * encrypted - Indicates whether the volume is encrypted (true + * | false)

          + *
        • + *
        • + *

          + * multi-attach-enabled - Indicates whether the volume is enabled for Multi-Attach (true + * | false)

          + *
        • + *
        • + *

          + * fast-restored - Indicates whether the volume was created from a + * snapshot that is enabled for fast snapshot restore (true | + * false).

          + *
        • + *
        • + *

          + * size - The size of the volume, in GiB.

          + *
        • + *
        • + *

          + * snapshot-id - The snapshot from which the volume was created.

          + *
        • + *
        • + *

          + * status - The state of the volume (creating | + * available | in-use | deleting | + * deleted | error).

          + *
        • + *
        • + *

          + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

          + *
        • + *
        • + *

          + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

          + *
        • + *
        • + *

          + * volume-id - The volume ID.

          + *
        • + *
        • + *

          + * volume-type - The Amazon EBS volume type (gp2 | gp3 | io1 | io2 | + * st1 | sc1| standard)

          *
        • *
        */ @@ -2110,14 +1961,31 @@ export interface DescribeVpcEndpointConnectionNotificationsRequest { /** * @public - *

        The maximum number of results to return in a single call. To retrieve the remaining - * results, make another request with the returned NextToken value.

        + *

        The volume IDs.

        + */ + VolumeIds?: string[]; + + /** + * @public + *

        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.

        + */ + DryRun?: boolean; + + /** + * @public + *

        The maximum number of volumes to return for this request. + * This value can be between 5 and 500; if you specify a value larger than 500, only 500 items are returned. + * If this parameter is not used, then all items are returned. You cannot specify this parameter and the + * volume IDs parameter in the same request. For more information, see Pagination.

        */ MaxResults?: number; /** * @public - *

        The token to request the next page of results.

        + *

        The token returned from a previous paginated request. + * Pagination continues from the end of the items returned from the previous request.

        */ NextToken?: string; } @@ -2125,17 +1993,17 @@ export interface DescribeVpcEndpointConnectionNotificationsRequest { /** * @public */ -export interface DescribeVpcEndpointConnectionNotificationsResult { +export interface DescribeVolumesResult { /** * @public - *

        The notifications.

        + *

        Information about the volumes.

        */ - ConnectionNotificationSet?: ConnectionNotification[]; + Volumes?: Volume[]; /** * @public - *

        The token to use to retrieve the next page of results. This value is - * null when there are no more results to return.

        + *

        The token to include in another request to get the next page of items. + * This value is null when there are no more items to return.

        */ NextToken?: string; } @@ -2143,7 +2011,7 @@ export interface DescribeVpcEndpointConnectionNotificationsResult { /** * @public */ -export interface DescribeVpcEndpointConnectionsRequest { +export interface DescribeVolumesModificationsRequest { /** * @public *

        Checks whether you have the required permissions for the action, without actually making the request, @@ -2152,33 +2020,62 @@ export interface DescribeVpcEndpointConnectionsRequest { */ DryRun?: boolean; + /** + * @public + *

        The IDs of the volumes.

        + */ + VolumeIds?: string[]; + /** * @public *

        The filters.

        *
          *
        • *

          - * ip-address-type - The IP address type (ipv4 | ipv6).

          + * modification-state - The current modification state (modifying | + * optimizing | completed | failed).

          *
        • *
        • *

          - * service-id - The ID of the service.

          + * original-iops - The original IOPS rate of the volume.

          *
        • *
        • *

          - * vpc-endpoint-owner - The ID of the Amazon Web Services account ID - * that owns the endpoint.

          + * original-size - The original size of the volume, in GiB.

          *
        • *
        • *

          - * vpc-endpoint-state - The state of the endpoint - * (pendingAcceptance | pending | - * available | deleting | deleted | - * rejected | failed).

          + * original-volume-type - The original volume type of the volume (standard | + * io1 | io2 | gp2 | sc1 | st1).

          *
        • *
        • *

          - * vpc-endpoint-id - The ID of the endpoint.

          + * originalMultiAttachEnabled - Indicates whether Multi-Attach support was enabled (true | false).

          + *
        • + *
        • + *

          + * start-time - The modification start time.

          + *
        • + *
        • + *

          + * target-iops - The target IOPS rate of the volume.

          + *
        • + *
        • + *

          + * target-size - The target size of the volume, in GiB.

          + *
        • + *
        • + *

          + * target-volume-type - The target volume type of the volume (standard | + * io1 | io2 | gp2 | sc1 | st1).

          + *
        • + *
        • + *

          + * targetMultiAttachEnabled - Indicates whether Multi-Attach support is to be enabled (true | false).

          + *
        • + *
        • + *

          + * volume-id - The ID of the volume.

          *
        • *
        */ @@ -2186,166 +2083,223 @@ export interface DescribeVpcEndpointConnectionsRequest { /** * @public - *

        The maximum number of results to return for the request in a single page. The remaining - * results of the initial request can be seen by sending another request with the returned - * NextToken value. This value can be between 5 and 1,000; if - * MaxResults is given a value larger than 1,000, only 1,000 results are - * returned.

        + *

        The token returned by a previous paginated request. + * Pagination continues from the end of the items returned by the previous request.

        */ - MaxResults?: number; + NextToken?: string; /** * @public - *

        The token to retrieve the next page of results.

        + *

        The maximum number of results (up to a limit of 500) to be returned in a paginated + * request. For more information, see Pagination.

        */ - NextToken?: string; + MaxResults?: number; } /** * @public - *

        Describes a VPC endpoint connection to a service.

        + * @enum */ -export interface VpcEndpointConnection { +export const VolumeModificationState = { + completed: "completed", + failed: "failed", + modifying: "modifying", + optimizing: "optimizing", +} as const; + +/** + * @public + */ +export type VolumeModificationState = (typeof VolumeModificationState)[keyof typeof VolumeModificationState]; + +/** + * @public + *

        Describes the modification status of an EBS volume.

        + *

        If the volume has never been modified, some element values will be null.

        + */ +export interface VolumeModification { /** * @public - *

        The ID of the service to which the endpoint is connected.

        + *

        The ID of the volume.

        */ - ServiceId?: string; + VolumeId?: string; /** * @public - *

        The ID of the VPC endpoint.

        + *

        The current modification state. The modification state is null for unmodified + * volumes.

        */ - VpcEndpointId?: string; + ModificationState?: VolumeModificationState; /** * @public - *

        The ID of the Amazon Web Services account that owns the VPC endpoint.

        + *

        A status message about the modification progress or failure.

        */ - VpcEndpointOwner?: string; + StatusMessage?: string; /** * @public - *

        The state of the VPC endpoint.

        + *

        The target size of the volume, in GiB.

        */ - VpcEndpointState?: State; + TargetSize?: number; /** * @public - *

        The date and time that the VPC endpoint was created.

        + *

        The target IOPS rate of the volume.

        */ - CreationTimestamp?: Date; + TargetIops?: number; /** * @public - *

        The DNS entries for the VPC endpoint.

        + *

        The target EBS volume type of the volume.

        */ - DnsEntries?: DnsEntry[]; + TargetVolumeType?: VolumeType; /** * @public - *

        The Amazon Resource Names (ARNs) of the network load balancers for the service.

        + *

        The target throughput of the volume, in MiB/s.

        */ - NetworkLoadBalancerArns?: string[]; + TargetThroughput?: number; /** * @public - *

        The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service.

        + *

        The target setting for Amazon EBS Multi-Attach.

        */ - GatewayLoadBalancerArns?: string[]; + TargetMultiAttachEnabled?: boolean; /** * @public - *

        The IP address type for the endpoint.

        + *

        The original size of the volume, in GiB.

        */ - IpAddressType?: IpAddressType; + OriginalSize?: number; /** * @public - *

        The ID of the VPC endpoint connection.

        + *

        The original IOPS rate of the volume.

        */ - VpcEndpointConnectionId?: string; + OriginalIops?: number; /** * @public - *

        The tags.

        + *

        The original EBS volume type of the volume.

        */ - Tags?: Tag[]; -} + OriginalVolumeType?: VolumeType; -/** - * @public - */ -export interface DescribeVpcEndpointConnectionsResult { /** * @public - *

        Information about the VPC endpoint connections.

        + *

        The original throughput of the volume, in MiB/s.

        */ - VpcEndpointConnections?: VpcEndpointConnection[]; + OriginalThroughput?: number; /** * @public - *

        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

        + *

        The original setting for Amazon EBS Multi-Attach.

        */ - NextToken?: string; -} + OriginalMultiAttachEnabled?: boolean; -/** - * @public - */ -export interface DescribeVpcEndpointsRequest { /** * @public - *

        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.

        + *

        The modification progress, from 0 to 100 percent complete.

        */ - DryRun?: boolean; + Progress?: number; /** * @public - *

        The IDs of the VPC endpoints.

        + *

        The modification start time.

        */ - VpcEndpointIds?: string[]; + StartTime?: Date; /** * @public - *

        The filters.

        - *
          + *

          The modification completion or failure time.

          + */ + EndTime?: Date; +} + +/** + * @public + */ +export interface DescribeVolumesModificationsResult { + /** + * @public + *

          Information about the volume modifications.

          + */ + VolumesModifications?: VolumeModification[]; + + /** + * @public + *

          The token to include in another request to get the next page of items. + * This value is null if there are no more items to return.

          + */ + NextToken?: string; +} + +/** + * @public + */ +export interface DescribeVolumeStatusRequest { + /** + * @public + *

          The filters.

          + *
            *
          • *

            - * ip-address-type - The IP address type (ipv4 | ipv6).

            + * action.code - The action code for the event (for example, + * enable-volume-io).

            *
          • *
          • *

            - * service-name - The name of the service.

            + * action.description - A description of the action.

            *
          • *
          • *

            - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

            + * action.event-id - The event ID associated with the action.

            *
          • *
          • *

            - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

            + * availability-zone - The Availability Zone of the instance.

            *
          • *
          • *

            - * vpc-id - The ID of the VPC in which the endpoint resides.

            + * event.description - A description of the event.

            *
          • *
          • *

            - * vpc-endpoint-id - The ID of the endpoint.

            + * event.event-id - The event ID.

            *
          • *
          • *

            - * vpc-endpoint-state - The state of the endpoint - * (pendingAcceptance | pending | - * available | deleting | deleted | - * rejected | failed).

            + * event.event-type - The event type (for io-enabled: + * passed | failed; for io-performance: + * io-performance:degraded | io-performance:severely-degraded | + * io-performance:stalled).

            *
          • *
          • *

            - * vpc-endpoint-type - The type of VPC endpoint (Interface | Gateway | GatewayLoadBalancer).

            + * event.not-after - The latest end time for the event.

            + *
          • + *
          • + *

            + * event.not-before - The earliest start time for the event.

            + *
          • + *
          • + *

            + * volume-status.details-name - The cause for + * volume-status.status (io-enabled | + * io-performance).

            + *
          • + *
          • + *

            + * volume-status.details-status - The status of + * volume-status.details-name (for io-enabled: + * passed | failed; for io-performance: + * normal | degraded | severely-degraded | + * stalled).

            + *
          • + *
          • + *

            + * volume-status.status - The status of the volume (ok | + * impaired | warning | insufficient-data).

            *
          • *
          */ @@ -2353,39 +2307,28 @@ export interface DescribeVpcEndpointsRequest { /** * @public - *

          The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

          - *

          Constraint: If the value is greater than 1,000, we return only 1,000 items.

          + *

          The maximum number of items to return for this request. To get the next page of items, + * make another request with the token returned in the output. This value can be between 5 and 1,000; + * if the value is larger than 1,000, only 1,000 results are returned. If this parameter is not used, + * then all items are returned. You cannot specify this parameter and the volume IDs parameter in the + * same request. For more information, see Pagination.

          */ MaxResults?: number; /** * @public - *

          The token for the next set of items to return. (You received this token from a prior call.)

          + *

          The token returned from a previous paginated request. + * Pagination continues from the end of the items returned by the previous request.

          */ NextToken?: string; -} - -/** - * @public - */ -export interface DescribeVpcEndpointsResult { - /** - * @public - *

          Information about the endpoints.

          - */ - VpcEndpoints?: VpcEndpoint[]; /** * @public - *

          The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

          + *

          The IDs of the volumes.

          + *

          Default: Describes all your volumes.

          */ - NextToken?: string; -} + VolumeIds?: string[]; -/** - * @public - */ -export interface DescribeVpcEndpointServiceConfigurationsRequest { /** * @public *

          Checks whether you have the required permissions for the action, without actually making the request, @@ -2393,403 +2336,315 @@ export interface DescribeVpcEndpointServiceConfigurationsRequest { * Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; +} +/** + * @public + *

          Describes a volume status operation code.

          + */ +export interface VolumeStatusAction { /** * @public - *

          The IDs of the endpoint services.

          + *

          The code identifying the operation, for example, enable-volume-io.

          */ - ServiceIds?: string[]; + Code?: string; /** * @public - *

          The filters.

          - *
            - *
          • - *

            - * service-name - The name of the service.

            - *
          • - *
          • - *

            - * service-id - The ID of the service.

            - *
          • - *
          • - *

            - * service-state - The state of the service (Pending | - * Available | Deleting | Deleted | - * Failed).

            - *
          • - *
          • - *

            - * supported-ip-address-types - The IP address type (ipv4 | ipv6).

            - *
          • - *
          • - *

            - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

            - *
          • - *
          • - *

            - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

            - *
          • - *
          + *

          A description of the operation.

          */ - Filters?: Filter[]; + Description?: string; /** * @public - *

          The maximum number of results to return for the request in a single page. The remaining - * results of the initial request can be seen by sending another request with the returned - * NextToken value. This value can be between 5 and 1,000; if - * MaxResults is given a value larger than 1,000, only 1,000 results are - * returned.

          + *

          The ID of the event associated with this operation.

          */ - MaxResults?: number; + EventId?: string; /** * @public - *

          The token to retrieve the next page of results.

          + *

          The event type associated with this operation.

          */ - NextToken?: string; + EventType?: string; } /** * @public + *

          Information about the instances to which the volume is attached.

          */ -export interface DescribeVpcEndpointServiceConfigurationsResult { +export interface VolumeStatusAttachmentStatus { /** * @public - *

          Information about the services.

          + *

          The maximum IOPS supported by the attached instance.

          */ - ServiceConfigurations?: ServiceConfiguration[]; + IoPerformance?: string; /** * @public - *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          + *

          The ID of the attached instance.

          */ - NextToken?: string; + InstanceId?: string; } /** * @public + *

          Describes a volume status event.

          */ -export interface DescribeVpcEndpointServicePermissionsRequest { +export interface VolumeStatusEvent { /** * @public - *

          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.

          + *

          A description of the event.

          */ - DryRun?: boolean; + Description?: string; /** * @public - *

          The ID of the service.

          + *

          The ID of this event.

          */ - ServiceId: string | undefined; + EventId?: string; /** * @public - *

          The filters.

          - *
            - *
          • - *

            - * principal - The ARN of the principal.

            - *
          • - *
          • - *

            - * principal-type - The principal type (All | - * Service | OrganizationUnit | Account - * | User | Role).

            - *
          • - *
          + *

          The type of this event.

          */ - Filters?: Filter[]; + EventType?: string; /** * @public - *

          The maximum number of results to return for the request in a single page. The remaining - * results of the initial request can be seen by sending another request with the returned - * NextToken value. This value can be between 5 and 1,000; if - * MaxResults is given a value larger than 1,000, only 1,000 results are - * returned.

          + *

          The latest end time of the event.

          */ - MaxResults?: number; + NotAfter?: Date; /** * @public - *

          The token to retrieve the next page of results.

          + *

          The earliest start time of the event.

          */ - NextToken?: string; + NotBefore?: Date; + + /** + * @public + *

          The ID of the instance associated with the event.

          + */ + InstanceId?: string; } /** * @public + * @enum */ -export interface DescribeVpcEndpointServicePermissionsResult { - /** - * @public - *

          Information about the allowed principals.

          - */ - AllowedPrincipals?: AllowedPrincipal[]; +export const VolumeStatusName = { + io_enabled: "io-enabled", + io_performance: "io-performance", +} as const; - /** - * @public - *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          - */ - NextToken?: string; -} +/** + * @public + */ +export type VolumeStatusName = (typeof VolumeStatusName)[keyof typeof VolumeStatusName]; /** * @public + *

          Describes a volume status.

          */ -export interface DescribeVpcEndpointServicesRequest { +export interface VolumeStatusDetails { /** * @public - *

          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.

          + *

          The name of the volume status.

          */ - DryRun?: boolean; + Name?: VolumeStatusName; /** * @public - *

          The service names.

          + *

          The intended status of the volume status.

          */ - ServiceNames?: string[]; + Status?: string; +} - /** - * @public - *

          The filters.

          - *
            - *
          • - *

            - * owner - The ID or alias of the Amazon Web Services account that owns - * the service.

            - *
          • - *
          • - *

            - * service-name - The name of the service.

            - *
          • - *
          • - *

            - * service-type - The type of service (Interface | - * Gateway | GatewayLoadBalancer).

            - *
          • - *
          • - *

            - * supported-ip-address-types - The IP address type (ipv4 | ipv6).

            - *
          • - *
          • - *

            - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

            - *
          • - *
          • - *

            - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

            - *
          • - *
          - */ - Filters?: Filter[]; - - /** - * @public - *

          The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

          - *

          Constraint: If the value is greater than 1,000, we return only 1,000 items.

          - */ - MaxResults?: number; - - /** - * @public - *

          The token for the next set of items to return. (You received this token from a prior call.)

          - */ - NextToken?: string; -} +/** + * @public + * @enum + */ +export const VolumeStatusInfoStatus = { + impaired: "impaired", + insufficient_data: "insufficient-data", + ok: "ok", +} as const; /** * @public - *

          Information about the Private DNS name for interface endpoints.

          */ -export interface PrivateDnsDetails { - /** - * @public - *

          The private DNS name assigned to the VPC endpoint service.

          - */ - PrivateDnsName?: string; -} +export type VolumeStatusInfoStatus = (typeof VolumeStatusInfoStatus)[keyof typeof VolumeStatusInfoStatus]; /** * @public - *

          Describes a VPC endpoint service.

          + *

          Describes the status of a volume.

          */ -export interface ServiceDetail { +export interface VolumeStatusInfo { /** * @public - *

          The name of the service.

          + *

          The details of the volume status.

          */ - ServiceName?: string; + Details?: VolumeStatusDetails[]; /** * @public - *

          The ID of the endpoint service.

          + *

          The status of the volume.

          */ - ServiceId?: string; + Status?: VolumeStatusInfoStatus; +} +/** + * @public + *

          Describes the volume status.

          + */ +export interface VolumeStatusItem { /** * @public - *

          The type of service.

          + *

          The details of the operation.

          */ - ServiceType?: ServiceTypeDetail[]; + Actions?: VolumeStatusAction[]; /** * @public - *

          The Availability Zones in which the service is available.

          + *

          The Availability Zone of the volume.

          */ - AvailabilityZones?: string[]; + AvailabilityZone?: string; /** * @public - *

          The Amazon Web Services account ID of the service owner.

          + *

          The Amazon Resource Name (ARN) of the Outpost.

          */ - Owner?: string; + OutpostArn?: string; /** * @public - *

          The DNS names for the service.

          + *

          A list of events associated with the volume.

          */ - BaseEndpointDnsNames?: string[]; + Events?: VolumeStatusEvent[]; /** * @public - *

          The private DNS name for the service.

          + *

          The volume ID.

          */ - PrivateDnsName?: string; + VolumeId?: string; /** * @public - *

          The private DNS names assigned to the VPC endpoint service.

          + *

          The volume status.

          */ - PrivateDnsNames?: PrivateDnsDetails[]; + VolumeStatus?: VolumeStatusInfo; /** * @public - *

          Indicates whether the service supports endpoint policies.

          + *

          Information about the instances to which the volume is attached.

          */ - VpcEndpointPolicySupported?: boolean; + AttachmentStatuses?: VolumeStatusAttachmentStatus[]; +} +/** + * @public + */ +export interface DescribeVolumeStatusResult { /** * @public - *

          Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner.

          + *

          The token to include in another request to get the next page of items. + * This value is null when there are no more items to return.

          */ - AcceptanceRequired?: boolean; + NextToken?: string; /** * @public - *

          Indicates whether the service manages its VPC endpoints. Management of the service VPC - * endpoints using the VPC endpoint API is restricted.

          + *

          Information about the status of the volumes.

          */ - ManagesVpcEndpoints?: boolean; + VolumeStatuses?: VolumeStatusItem[]; +} - /** - * @public - *

          The payer responsibility.

          - */ - PayerResponsibility?: PayerResponsibility; +/** + * @public + * @enum + */ +export const VpcAttributeName = { + enableDnsHostnames: "enableDnsHostnames", + enableDnsSupport: "enableDnsSupport", + enableNetworkAddressUsageMetrics: "enableNetworkAddressUsageMetrics", +} as const; + +/** + * @public + */ +export type VpcAttributeName = (typeof VpcAttributeName)[keyof typeof VpcAttributeName]; +/** + * @public + */ +export interface DescribeVpcAttributeRequest { /** * @public - *

          The tags assigned to the service.

          + *

          The VPC attribute.

          */ - Tags?: Tag[]; + Attribute: VpcAttributeName | undefined; /** * @public - *

          The verification state of the VPC endpoint service.

          - *

          Consumers of the endpoint service cannot use the private name when the state is not verified.

          + *

          The ID of the VPC.

          */ - PrivateDnsNameVerificationState?: DnsNameState; + VpcId: string | undefined; /** * @public - *

          The supported IP address types.

          + *

          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.

          */ - SupportedIpAddressTypes?: ServiceConnectivityType[]; + DryRun?: boolean; } /** * @public */ -export interface DescribeVpcEndpointServicesResult { +export interface DescribeVpcAttributeResult { /** * @public - *

          The supported services.

          + *

          The ID of the VPC.

          */ - ServiceNames?: string[]; + VpcId?: string; /** * @public - *

          Information about the service.

          + *

          Indicates whether the instances launched in the VPC get DNS hostnames. + * If this attribute is true, instances in the VPC get DNS hostnames; + * otherwise, they do not.

          */ - ServiceDetails?: ServiceDetail[]; + EnableDnsHostnames?: AttributeBooleanValue; /** * @public - *

          The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

          + *

          Indicates whether DNS resolution is enabled for + * the VPC. If this attribute is true, the Amazon DNS server + * resolves DNS hostnames for your instances to their corresponding + * IP addresses; otherwise, it does not.

          */ - NextToken?: string; + EnableDnsSupport?: AttributeBooleanValue; + + /** + * @public + *

          Indicates whether Network Address Usage metrics are enabled for your VPC.

          + */ + EnableNetworkAddressUsageMetrics?: AttributeBooleanValue; } /** * @public */ -export interface DescribeVpcPeeringConnectionsRequest { +export interface DescribeVpcClassicLinkRequest { /** * @public *

          The filters.

          *
            *
          • *

            - * accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter - * VPC.

            - *
          • - *
          • - *

            - * accepter-vpc-info.owner-id - The ID of the Amazon Web Services account that owns the - * accepter VPC.

            - *
          • - *
          • - *

            - * accepter-vpc-info.vpc-id - The ID of the accepter VPC.

            - *
          • - *
          • - *

            - * expiration-time - The expiration date and time for the VPC peering - * connection.

            - *
          • - *
          • - *

            - * requester-vpc-info.cidr-block - The IPv4 CIDR block of the - * requester's VPC.

            - *
          • - *
          • - *

            - * requester-vpc-info.owner-id - The ID of the Amazon Web Services account that owns the - * requester VPC.

            - *
          • - *
          • - *

            - * requester-vpc-info.vpc-id - The ID of the requester VPC.

            - *
          • - *
          • - *

            - * status-code - The status of the VPC peering connection - * (pending-acceptance | failed | - * expired | provisioning | active | - * deleting | deleted | - * rejected).

            - *
          • - *
          • - *

            - * status-message - A message that provides more information about the status - * of the VPC peering connection, if applicable.

            + * is-classic-link-enabled - Whether the VPC is enabled for ClassicLink + * (true | false).

            *
          • *
          • *

            @@ -2800,10 +2655,6 @@ export interface DescribeVpcPeeringConnectionsRequest { *

            * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

            *
          • - *
          • - *

            - * vpc-peering-connection-id - The ID of the VPC peering connection.

            - *
          • *
          */ Filters?: Filter[]; @@ -2818,17 +2669,53 @@ export interface DescribeVpcPeeringConnectionsRequest { /** * @public - *

          The IDs of the VPC peering connections.

          - *

          Default: Describes all your VPC peering connections.

          + *

          The VPCs for which you want to describe the ClassicLink status.

          */ - VpcPeeringConnectionIds?: string[]; + VpcIds?: string[]; +} +/** + * @public + * + *

          Deprecated.

          + *
          + *

          Describes whether a VPC is enabled for ClassicLink.

          + */ +export interface VpcClassicLink { /** * @public - *

          The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

          + *

          Indicates whether the VPC is enabled for ClassicLink.

          */ - NextToken?: string; + ClassicLinkEnabled?: boolean; + + /** + * @public + *

          Any tags assigned to the VPC.

          + */ + Tags?: Tag[]; + + /** + * @public + *

          The ID of the VPC.

          + */ + VpcId?: string; +} + +/** + * @public + */ +export interface DescribeVpcClassicLinkResult { + /** + * @public + *

          The ClassicLink status of the VPCs.

          + */ + Vpcs?: VpcClassicLink[]; +} +/** + * @public + */ +export interface DescribeVpcClassicLinkDnsSupportRequest { /** * @public *

          The maximum number of items to return for this request. @@ -2836,102 +2723,107 @@ export interface DescribeVpcPeeringConnectionsRequest { * For more information, see Pagination.

          */ MaxResults?: number; + + /** + * @public + *

          The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

          + */ + NextToken?: string; + + /** + * @public + *

          The IDs of the VPCs.

          + */ + VpcIds?: string[]; } /** * @public + * + *

          Deprecated.

          + *
          + *

          Describes the ClassicLink DNS support status of a VPC.

          */ -export interface DescribeVpcPeeringConnectionsResult { +export interface ClassicLinkDnsSupport { /** * @public - *

          Information about the VPC peering connections.

          + *

          Indicates whether ClassicLink DNS support is enabled for the VPC.

          */ - VpcPeeringConnections?: VpcPeeringConnection[]; + ClassicLinkDnsSupported?: boolean; + + /** + * @public + *

          The ID of the VPC.

          + */ + VpcId?: string; +} +/** + * @public + */ +export interface DescribeVpcClassicLinkDnsSupportResult { /** * @public *

          The token to include in another request to get the next page of items. This value is null when there are no more items to return.

          */ NextToken?: string; + + /** + * @public + *

          Information about the ClassicLink DNS support status of the VPCs.

          + */ + Vpcs?: ClassicLinkDnsSupport[]; } /** * @public */ -export interface DescribeVpcsRequest { +export interface DescribeVpcEndpointConnectionNotificationsRequest { + /** + * @public + *

          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.

          + */ + DryRun?: boolean; + + /** + * @public + *

          The ID of the notification.

          + */ + ConnectionNotificationId?: string; + /** * @public *

          The filters.

          *
            *
          • *

            - * cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you - * specify must exactly match the VPC's CIDR block for information to be returned - * for the VPC. Must contain the slash followed by one or two digits (for example, - * /28).

            - *
          • - *
          • - *

            - * cidr-block-association.cidr-block - An IPv4 CIDR block associated with the - * VPC.

            - *
          • - *
          • - *

            - * cidr-block-association.association-id - The association ID for - * an IPv4 CIDR block associated with the VPC.

            - *
          • - *
          • - *

            - * cidr-block-association.state - The state of an IPv4 CIDR block - * associated with the VPC.

            - *
          • - *
          • - *

            - * dhcp-options-id - The ID of a set of DHCP options.

            - *
          • - *
          • - *

            - * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR - * block associated with the VPC.

            - *
          • - *
          • - *

            - * ipv6-cidr-block-association.ipv6-pool - The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated.

            - *
          • - *
          • - *

            - * ipv6-cidr-block-association.association-id - The association - * ID for an IPv6 CIDR block associated with the VPC.

            - *
          • - *
          • - *

            - * ipv6-cidr-block-association.state - The state of an IPv6 CIDR - * block associated with the VPC.

            - *
          • - *
          • - *

            - * is-default - Indicates whether the VPC is the default VPC.

            + * connection-notification-arn - The ARN of the SNS topic for the + * notification.

            *
          • *
          • *

            - * owner-id - The ID of the Amazon Web Services account that owns the VPC.

            + * connection-notification-id - The ID of the + * notification.

            *
          • *
          • *

            - * state - The state of the VPC (pending | available).

            + * connection-notification-state - The state of the notification + * (Enabled | Disabled).

            *
          • *
          • *

            - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

            + * connection-notification-type - The type of notification + * (Topic).

            *
          • *
          • *

            - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

            + * service-id - The ID of the endpoint service.

            *
          • *
          • *

            - * vpc-id - The ID of the VPC.

            + * vpc-endpoint-id - The ID of the VPC endpoint.

            *
          • *
          */ @@ -2939,119 +2831,75 @@ export interface DescribeVpcsRequest { /** * @public - *

          The IDs of the VPCs.

          - *

          Default: Describes all your VPCs.

          - */ - VpcIds?: string[]; - - /** - * @public - *

          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.

          + *

          The maximum number of results to return in a single call. To retrieve the remaining + * results, make another request with the returned NextToken value.

          */ - DryRun?: boolean; + MaxResults?: number; /** * @public - *

          The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

          + *

          The token to request the next page of results.

          */ NextToken?: string; - - /** - * @public - *

          The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

          - */ - MaxResults?: number; } /** * @public */ -export interface DescribeVpcsResult { +export interface DescribeVpcEndpointConnectionNotificationsResult { /** * @public - *

          Information about one or more VPCs.

          + *

          The notifications.

          */ - Vpcs?: Vpc[]; + ConnectionNotificationSet?: ConnectionNotification[]; /** * @public - *

          The token to include in another request to get the next page of items. This value is null when there are no more items to return.

          + *

          The token to use to retrieve the next page of results. This value is + * null when there are no more results to return.

          */ NextToken?: string; } /** * @public - *

          Contains the parameters for DescribeVpnConnections.

          */ -export interface DescribeVpnConnectionsRequest { +export interface DescribeVpcEndpointConnectionsRequest { /** * @public - *

          One or more filters.

          + *

          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.

          + */ + DryRun?: boolean; + + /** + * @public + *

          The filters.

          *
            *
          • *

            - * customer-gateway-configuration - The configuration information - * for the customer gateway.

            - *
          • - *
          • - *

            - * customer-gateway-id - The ID of a customer gateway associated - * with the VPN connection.

            - *
          • - *
          • - *

            - * state - The state of the VPN connection (pending | - * available | deleting | - * deleted).

            - *
          • - *
          • - *

            - * option.static-routes-only - Indicates whether the connection has - * static routes only. Used for devices that do not support Border Gateway Protocol - * (BGP).

            - *
          • - *
          • - *

            - * route.destination-cidr-block - The destination CIDR block. This - * corresponds to the subnet used in a customer data center.

            - *
          • - *
          • - *

            - * bgp-asn - The BGP Autonomous System Number (ASN) associated with - * a BGP device.

            - *
          • - *
          • - *

            - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

            - *
          • - *
          • - *

            - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

            + * ip-address-type - The IP address type (ipv4 | ipv6).

            *
          • *
          • *

            - * type - The type of VPN connection. Currently the only supported - * type is ipsec.1.

            + * service-id - The ID of the service.

            *
          • *
          • *

            - * vpn-connection-id - The ID of the VPN connection.

            + * vpc-endpoint-owner - The ID of the Amazon Web Services account ID + * that owns the endpoint.

            *
          • *
          • *

            - * vpn-gateway-id - The ID of a virtual private gateway associated - * with the VPN connection.

            + * vpc-endpoint-state - The state of the endpoint + * (pendingAcceptance | pending | + * available | deleting | deleted | + * rejected | failed).

            *
          • *
          • *

            - * transit-gateway-id - The ID of a transit gateway associated with - * the VPN connection.

            + * vpc-endpoint-id - The ID of the endpoint.

            *
          • *
          */ @@ -3059,85 +2907,166 @@ export interface DescribeVpnConnectionsRequest { /** * @public - *

          One or more VPN connection IDs.

          - *

          Default: Describes your VPN connections.

          + *

          The maximum number of results to return for the request in a single page. The remaining + * results of the initial request can be seen by sending another request with the returned + * NextToken value. This value can be between 5 and 1,000; if + * MaxResults is given a value larger than 1,000, only 1,000 results are + * returned.

          */ - VpnConnectionIds?: string[]; + MaxResults?: number; /** * @public - *

          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.

          + *

          The token to retrieve the next page of results.

          */ - DryRun?: boolean; + NextToken?: string; } /** * @public - *

          Contains the output of DescribeVpnConnections.

          + *

          Describes a VPC endpoint connection to a service.

          */ -export interface DescribeVpnConnectionsResult { +export interface VpcEndpointConnection { /** * @public - *

          Information about one or more VPN connections.

          + *

          The ID of the service to which the endpoint is connected.

          */ - VpnConnections?: VpnConnection[]; + ServiceId?: string; + + /** + * @public + *

          The ID of the VPC endpoint.

          + */ + VpcEndpointId?: string; + + /** + * @public + *

          The ID of the Amazon Web Services account that owns the VPC endpoint.

          + */ + VpcEndpointOwner?: string; + + /** + * @public + *

          The state of the VPC endpoint.

          + */ + VpcEndpointState?: State; + + /** + * @public + *

          The date and time that the VPC endpoint was created.

          + */ + CreationTimestamp?: Date; + + /** + * @public + *

          The DNS entries for the VPC endpoint.

          + */ + DnsEntries?: DnsEntry[]; + + /** + * @public + *

          The Amazon Resource Names (ARNs) of the network load balancers for the service.

          + */ + NetworkLoadBalancerArns?: string[]; + + /** + * @public + *

          The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service.

          + */ + GatewayLoadBalancerArns?: string[]; + + /** + * @public + *

          The IP address type for the endpoint.

          + */ + IpAddressType?: IpAddressType; + + /** + * @public + *

          The ID of the VPC endpoint connection.

          + */ + VpcEndpointConnectionId?: string; + + /** + * @public + *

          The tags.

          + */ + Tags?: Tag[]; } /** * @public - *

          Contains the parameters for DescribeVpnGateways.

          */ -export interface DescribeVpnGatewaysRequest { +export interface DescribeVpcEndpointConnectionsResult { /** * @public - *

          One or more filters.

          + *

          Information about the VPC endpoint connections.

          + */ + VpcEndpointConnections?: VpcEndpointConnection[]; + + /** + * @public + *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          + */ + NextToken?: string; +} + +/** + * @public + */ +export interface DescribeVpcEndpointsRequest { + /** + * @public + *

          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.

          + */ + DryRun?: boolean; + + /** + * @public + *

          The IDs of the VPC endpoints.

          + */ + VpcEndpointIds?: string[]; + + /** + * @public + *

          The filters.

          *
            *
          • *

            - * amazon-side-asn - The Autonomous System Number (ASN) for the - * Amazon side of the gateway.

            - *
          • - *
          • - *

            - * attachment.state - The current state of the attachment between - * the gateway and the VPC (attaching | attached | - * detaching | detached).

            + * ip-address-type - The IP address type (ipv4 | ipv6).

            *
          • *
          • *

            - * attachment.vpc-id - The ID of an attached VPC.

            + * service-name - The name of the service.

            *
          • *
          • *

            - * availability-zone - The Availability Zone for the virtual private - * gateway (if applicable).

            + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

            *
          • *
          • *

            - * state - The state of the virtual private gateway - * (pending | available | deleting | - * deleted).

            + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

            *
          • *
          • *

            - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

            + * vpc-id - The ID of the VPC in which the endpoint resides.

            *
          • *
          • *

            - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

            + * vpc-endpoint-id - The ID of the endpoint.

            *
          • *
          • *

            - * type - The type of virtual private gateway. Currently the only - * supported type is ipsec.1.

            + * vpc-endpoint-state - The state of the endpoint + * (pendingAcceptance | pending | + * available | deleting | deleted | + * rejected | failed).

            *
          • *
          • *

            - * vpn-gateway-id - The ID of the virtual private gateway.

            + * vpc-endpoint-type - The type of VPC endpoint (Interface | Gateway | GatewayLoadBalancer).

            *
          • *
          */ @@ -3145,37 +3074,39 @@ export interface DescribeVpnGatewaysRequest { /** * @public - *

          One or more virtual private gateway IDs.

          - *

          Default: Describes all your virtual private gateways.

          + *

          The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

          + *

          Constraint: If the value is greater than 1,000, we return only 1,000 items.

          */ - VpnGatewayIds?: string[]; + MaxResults?: number; /** * @public - *

          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.

          + *

          The token for the next set of items to return. (You received this token from a prior call.)

          */ - DryRun?: boolean; + NextToken?: string; } /** * @public - *

          Contains the output of DescribeVpnGateways.

          */ -export interface DescribeVpnGatewaysResult { +export interface DescribeVpcEndpointsResult { /** * @public - *

          Information about one or more virtual private gateways.

          + *

          Information about the endpoints.

          */ - VpnGateways?: VpnGateway[]; + VpcEndpoints?: VpcEndpoint[]; + + /** + * @public + *

          The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

          + */ + NextToken?: string; } /** * @public */ -export interface DetachClassicLinkVpcRequest { +export interface DescribeVpcEndpointServiceConfigurationsRequest { /** * @public *

          Checks whether you have the required permissions for the action, without actually making the request, @@ -3186,419 +3117,553 @@ export interface DetachClassicLinkVpcRequest { /** * @public - *

          The ID of the instance to unlink from the VPC.

          + *

          The IDs of the endpoint services.

          */ - InstanceId: string | undefined; + ServiceIds?: string[]; /** * @public - *

          The ID of the VPC to which the instance is linked.

          + *

          The filters.

          + *
            + *
          • + *

            + * service-name - The name of the service.

            + *
          • + *
          • + *

            + * service-id - The ID of the service.

            + *
          • + *
          • + *

            + * service-state - The state of the service (Pending | + * Available | Deleting | Deleted | + * Failed).

            + *
          • + *
          • + *

            + * supported-ip-address-types - The IP address type (ipv4 | ipv6).

            + *
          • + *
          • + *

            + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

            + *
          • + *
          • + *

            + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

            + *
          • + *
          */ - VpcId: string | undefined; -} + Filters?: Filter[]; -/** - * @public - */ -export interface DetachClassicLinkVpcResult { /** * @public - *

          Returns true if the request succeeds; otherwise, it returns an error.

          + *

          The maximum number of results to return for the request in a single page. The remaining + * results of the initial request can be seen by sending another request with the returned + * NextToken value. This value can be between 5 and 1,000; if + * MaxResults is given a value larger than 1,000, only 1,000 results are + * returned.

          */ - Return?: boolean; -} + MaxResults?: number; -/** - * @public - */ -export interface DetachInternetGatewayRequest { /** * @public - *

          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.

          + *

          The token to retrieve the next page of results.

          */ - DryRun?: boolean; + NextToken?: string; +} +/** + * @public + */ +export interface DescribeVpcEndpointServiceConfigurationsResult { /** * @public - *

          The ID of the internet gateway.

          + *

          Information about the services.

          */ - InternetGatewayId: string | undefined; + ServiceConfigurations?: ServiceConfiguration[]; /** * @public - *

          The ID of the VPC.

          + *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          */ - VpcId: string | undefined; + NextToken?: string; } /** * @public - *

          Contains the parameters for DetachNetworkInterface.

          */ -export interface DetachNetworkInterfaceRequest { - /** - * @public - *

          The ID of the attachment.

          - */ - AttachmentId: string | undefined; - +export interface DescribeVpcEndpointServicePermissionsRequest { /** * @public *

          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.

          + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; /** * @public - *

          Specifies whether to force a detachment.

          - * - *
            - *
          • - *

            Use the Force parameter only as a last resort to detach a network interface from a failed instance.

            - *
          • - *
          • - *

            If you use the Force parameter to detach a network interface, you might not be able to attach a different network interface to the same index on the instance without first stopping and starting the instance.

            - *
          • - *
          • - *

            If you force the detachment of a network interface, the instance metadata - * might not get updated. This means that the attributes associated - * with the detached network interface might still be visible. The - * instance metadata will get updated when you stop and start the - * instance.

            - *
          • - *
          - *
          - */ - Force?: boolean; -} - -/** - * @public - */ -export interface DetachVerifiedAccessTrustProviderRequest { - /** - * @public - *

          The ID of the Verified Access instance.

          + *

          The ID of the service.

          */ - VerifiedAccessInstanceId: string | undefined; + ServiceId: string | undefined; /** * @public - *

          The ID of the Verified Access trust provider.

          + *

          The filters.

          + *
            + *
          • + *

            + * principal - The ARN of the principal.

            + *
          • + *
          • + *

            + * principal-type - The principal type (All | + * Service | OrganizationUnit | Account + * | User | Role).

            + *
          • + *
          */ - VerifiedAccessTrustProviderId: string | undefined; + Filters?: Filter[]; /** * @public - *

          A unique, case-sensitive token that you provide to ensure idempotency of your - * modification request. For more information, see Ensuring Idempotency.

          + *

          The maximum number of results to return for the request in a single page. The remaining + * results of the initial request can be seen by sending another request with the returned + * NextToken value. This value can be between 5 and 1,000; if + * MaxResults is given a value larger than 1,000, only 1,000 results are + * returned.

          */ - ClientToken?: string; + MaxResults?: number; /** * @public - *

          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.

          + *

          The token to retrieve the next page of results.

          */ - DryRun?: boolean; + NextToken?: string; } /** * @public */ -export interface DetachVerifiedAccessTrustProviderResult { +export interface DescribeVpcEndpointServicePermissionsResult { /** * @public - *

          Details about the Verified Access trust provider.

          + *

          Information about the allowed principals.

          */ - VerifiedAccessTrustProvider?: VerifiedAccessTrustProvider; + AllowedPrincipals?: AllowedPrincipal[]; /** * @public - *

          Details about the Verified Access instance.

          + *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          */ - VerifiedAccessInstance?: VerifiedAccessInstance; + NextToken?: string; } /** * @public */ -export interface DetachVolumeRequest { +export interface DescribeVpcEndpointServicesRequest { /** * @public - *

          The device name.

          + *

          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.

          */ - Device?: string; + DryRun?: boolean; /** * @public - *

          Forces detachment if the previous detachment attempt did not occur cleanly (for example, - * logging into an instance, unmounting the volume, and detaching normally). This option can lead - * to data loss or a corrupted file system. Use this option only as a last resort to detach a - * volume from a failed instance. The instance won't have an opportunity to flush file system - * caches or file system metadata. If you use this option, you must perform file system check and - * repair procedures.

          + *

          The service names.

          */ - Force?: boolean; + ServiceNames?: string[]; /** * @public - *

          The ID of the instance. If you are detaching a Multi-Attach enabled volume, you must specify an instance ID.

          + *

          The filters.

          + *
            + *
          • + *

            + * owner - The ID or alias of the Amazon Web Services account that owns + * the service.

            + *
          • + *
          • + *

            + * service-name - The name of the service.

            + *
          • + *
          • + *

            + * service-type - The type of service (Interface | + * Gateway | GatewayLoadBalancer).

            + *
          • + *
          • + *

            + * supported-ip-address-types - The IP address type (ipv4 | ipv6).

            + *
          • + *
          • + *

            + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

            + *
          • + *
          • + *

            + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

            + *
          • + *
          */ - InstanceId?: string; + Filters?: Filter[]; /** * @public - *

          The ID of the volume.

          + *

          The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

          + *

          Constraint: If the value is greater than 1,000, we return only 1,000 items.

          */ - VolumeId: string | undefined; + MaxResults?: number; /** * @public - *

          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.

          + *

          The token for the next set of items to return. (You received this token from a prior call.)

          */ - DryRun?: boolean; + NextToken?: string; } /** * @public - *

          Contains the parameters for DetachVpnGateway.

          + *

          Information about the Private DNS name for interface endpoints.

          */ -export interface DetachVpnGatewayRequest { +export interface PrivateDnsDetails { /** * @public - *

          The ID of the VPC.

          + *

          The private DNS name assigned to the VPC endpoint service.

          */ - VpcId: string | undefined; + PrivateDnsName?: string; +} +/** + * @public + *

          Describes a VPC endpoint service.

          + */ +export interface ServiceDetail { /** * @public - *

          The ID of the virtual private gateway.

          + *

          The name of the service.

          */ - VpnGatewayId: string | undefined; + ServiceName?: string; /** * @public - *

          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.

          + *

          The ID of the endpoint service.

          */ - DryRun?: boolean; -} + ServiceId?: string; -/** - * @public - */ -export interface DisableAddressTransferRequest { /** * @public - *

          The allocation ID of an Elastic IP address.

          + *

          The type of service.

          */ - AllocationId: string | undefined; + ServiceType?: ServiceTypeDetail[]; /** * @public - *

          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.

          + *

          The Availability Zones in which the service is available.

          */ - DryRun?: boolean; -} + AvailabilityZones?: string[]; -/** - * @public - */ -export interface DisableAddressTransferResult { /** * @public - *

          An Elastic IP address transfer.

          + *

          The Amazon Web Services account ID of the service owner.

          */ - AddressTransfer?: AddressTransfer; -} + Owner?: string; -/** - * @public - */ -export interface DisableAwsNetworkPerformanceMetricSubscriptionRequest { /** * @public - *

          The source Region or Availability Zone that the metric subscription is disabled for. For example, us-east-1.

          + *

          The DNS names for the service.

          */ - Source?: string; + BaseEndpointDnsNames?: string[]; /** * @public - *

          The target Region or Availability Zone that the metric subscription is disabled for. For example, eu-north-1.

          + *

          The private DNS name for the service.

          */ - Destination?: string; + PrivateDnsName?: string; /** * @public - *

          The metric used for the disabled subscription.

          + *

          The private DNS names assigned to the VPC endpoint service.

          */ - Metric?: MetricType; + PrivateDnsNames?: PrivateDnsDetails[]; /** * @public - *

          The statistic used for the disabled subscription.

          + *

          Indicates whether the service supports endpoint policies.

          */ - Statistic?: StatisticType; + VpcEndpointPolicySupported?: boolean; /** * @public - *

          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.

          + *

          Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner.

          */ - DryRun?: boolean; -} + AcceptanceRequired?: boolean; -/** - * @public - */ -export interface DisableAwsNetworkPerformanceMetricSubscriptionResult { /** * @public - *

          Indicates whether the unsubscribe action was successful.

          + *

          Indicates whether the service manages its VPC endpoints. Management of the service VPC + * endpoints using the VPC endpoint API is restricted.

          */ - Output?: boolean; -} + ManagesVpcEndpoints?: boolean; -/** - * @public - */ -export interface DisableEbsEncryptionByDefaultRequest { /** * @public - *

          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.

          + *

          The payer responsibility.

          */ - DryRun?: boolean; -} + PayerResponsibility?: PayerResponsibility; -/** - * @public - */ -export interface DisableEbsEncryptionByDefaultResult { /** * @public - *

          The updated status of encryption by default.

          + *

          The tags assigned to the service.

          */ - EbsEncryptionByDefault?: boolean; -} + Tags?: Tag[]; -/** - * @public - */ -export interface DisableFastLaunchRequest { /** * @public - *

          Specify the ID of the image for which to disable Windows fast launch.

          + *

          The verification state of the VPC endpoint service.

          + *

          Consumers of the endpoint service cannot use the private name when the state is not verified.

          */ - ImageId: string | undefined; + PrivateDnsNameVerificationState?: DnsNameState; /** * @public - *

          Forces the image settings to turn off Windows fast launch for your Windows AMI. This parameter overrides - * any errors that are encountered while cleaning up resources in your account.

          + *

          The supported IP address types.

          */ - Force?: boolean; - - /** - * @public - *

          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.

          - */ - DryRun?: boolean; -} + SupportedIpAddressTypes?: ServiceConnectivityType[]; +} /** * @public */ -export interface DisableFastLaunchResult { +export interface DescribeVpcEndpointServicesResult { /** * @public - *

          The ID of the image for which Windows fast launch was disabled.

          + *

          The supported services.

          */ - ImageId?: string; + ServiceNames?: string[]; /** * @public - *

          The pre-provisioning resource type that must be cleaned after turning off Windows fast launch - * for the Windows AMI. Supported values include: snapshot.

          + *

          Information about the service.

          */ - ResourceType?: FastLaunchResourceType; + ServiceDetails?: ServiceDetail[]; /** * @public - *

          Parameters that were used for Windows fast launch for the Windows AMI before - * Windows fast launch was disabled. This informs the clean-up process.

          + *

          The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

          */ - SnapshotConfiguration?: FastLaunchSnapshotConfigurationResponse; + NextToken?: string; +} +/** + * @public + */ +export interface DescribeVpcPeeringConnectionsRequest { /** * @public - *

          The launch template that was used to launch Windows instances from pre-provisioned snapshots.

          + *

          The filters.

          + *
            + *
          • + *

            + * accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter + * VPC.

            + *
          • + *
          • + *

            + * accepter-vpc-info.owner-id - The ID of the Amazon Web Services account that owns the + * accepter VPC.

            + *
          • + *
          • + *

            + * accepter-vpc-info.vpc-id - The ID of the accepter VPC.

            + *
          • + *
          • + *

            + * expiration-time - The expiration date and time for the VPC peering + * connection.

            + *
          • + *
          • + *

            + * requester-vpc-info.cidr-block - The IPv4 CIDR block of the + * requester's VPC.

            + *
          • + *
          • + *

            + * requester-vpc-info.owner-id - The ID of the Amazon Web Services account that owns the + * requester VPC.

            + *
          • + *
          • + *

            + * requester-vpc-info.vpc-id - The ID of the requester VPC.

            + *
          • + *
          • + *

            + * status-code - The status of the VPC peering connection + * (pending-acceptance | failed | + * expired | provisioning | active | + * deleting | deleted | + * rejected).

            + *
          • + *
          • + *

            + * status-message - A message that provides more information about the status + * of the VPC peering connection, if applicable.

            + *
          • + *
          • + *

            + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

            + *
          • + *
          • + *

            + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

            + *
          • + *
          • + *

            + * vpc-peering-connection-id - The ID of the VPC peering connection.

            + *
          • + *
          */ - LaunchTemplate?: FastLaunchLaunchTemplateSpecificationResponse; + Filters?: Filter[]; /** * @public - *

          The maximum number of instances that Amazon EC2 can launch at the same time to - * create pre-provisioned snapshots for Windows fast launch.

          + *

          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.

          */ - MaxParallelLaunches?: number; + DryRun?: boolean; /** * @public - *

          The owner of the Windows AMI for which Windows fast launch was disabled.

          + *

          The IDs of the VPC peering connections.

          + *

          Default: Describes all your VPC peering connections.

          */ - OwnerId?: string; + VpcPeeringConnectionIds?: string[]; /** * @public - *

          The current state of Windows fast launch for the specified Windows AMI.

          + *

          The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

          */ - State?: FastLaunchStateCode; + NextToken?: string; /** * @public - *

          The reason that the state changed for Windows fast launch for the Windows AMI.

          + *

          The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

          */ - StateTransitionReason?: string; + MaxResults?: number; +} +/** + * @public + */ +export interface DescribeVpcPeeringConnectionsResult { /** * @public - *

          The time that the state changed for Windows fast launch for the Windows AMI.

          + *

          Information about the VPC peering connections.

          */ - StateTransitionTime?: Date; + VpcPeeringConnections?: VpcPeeringConnection[]; + + /** + * @public + *

          The token to include in another request to get the next page of items. This value is null when there are no more items to return.

          + */ + NextToken?: string; } /** * @public */ -export interface DisableFastSnapshotRestoresRequest { +export interface DescribeVpcsRequest { /** * @public - *

          One or more Availability Zones. For example, us-east-2a.

          + *

          The filters.

          + *
            + *
          • + *

            + * cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you + * specify must exactly match the VPC's CIDR block for information to be returned + * for the VPC. Must contain the slash followed by one or two digits (for example, + * /28).

            + *
          • + *
          • + *

            + * cidr-block-association.cidr-block - An IPv4 CIDR block associated with the + * VPC.

            + *
          • + *
          • + *

            + * cidr-block-association.association-id - The association ID for + * an IPv4 CIDR block associated with the VPC.

            + *
          • + *
          • + *

            + * cidr-block-association.state - The state of an IPv4 CIDR block + * associated with the VPC.

            + *
          • + *
          • + *

            + * dhcp-options-id - The ID of a set of DHCP options.

            + *
          • + *
          • + *

            + * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR + * block associated with the VPC.

            + *
          • + *
          • + *

            + * ipv6-cidr-block-association.ipv6-pool - The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated.

            + *
          • + *
          • + *

            + * ipv6-cidr-block-association.association-id - The association + * ID for an IPv6 CIDR block associated with the VPC.

            + *
          • + *
          • + *

            + * ipv6-cidr-block-association.state - The state of an IPv6 CIDR + * block associated with the VPC.

            + *
          • + *
          • + *

            + * is-default - Indicates whether the VPC is the default VPC.

            + *
          • + *
          • + *

            + * owner-id - The ID of the Amazon Web Services account that owns the VPC.

            + *
          • + *
          • + *

            + * state - The state of the VPC (pending | available).

            + *
          • + *
          • + *

            + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

            + *
          • + *
          • + *

            + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

            + *
          • + *
          • + *

            + * vpc-id - The ID of the VPC.

            + *
          • + *
          */ - AvailabilityZones: string[] | undefined; + Filters?: Filter[]; /** * @public - *

          The IDs of one or more snapshots. For example, snap-1234567890abcdef0.

          + *

          The IDs of the VPCs.

          + *

          Default: Describes all your VPCs.

          */ - SourceSnapshotIds: string[] | undefined; + VpcIds?: string[]; /** * @public @@ -3607,247 +3672,464 @@ export interface DisableFastSnapshotRestoresRequest { * Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; + + /** + * @public + *

          The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

          + */ + NextToken?: string; + + /** + * @public + *

          The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

          + */ + MaxResults?: number; } /** * @public - *

          Describes fast snapshot restores that were successfully disabled.

          */ -export interface DisableFastSnapshotRestoreSuccessItem { +export interface DescribeVpcsResult { /** * @public - *

          The ID of the snapshot.

          + *

          Information about one or more VPCs.

          */ - SnapshotId?: string; + Vpcs?: Vpc[]; /** * @public - *

          The Availability Zone.

          + *

          The token to include in another request to get the next page of items. This value is null when there are no more items to return.

          */ - AvailabilityZone?: string; + NextToken?: string; +} +/** + * @public + *

          Contains the parameters for DescribeVpnConnections.

          + */ +export interface DescribeVpnConnectionsRequest { /** * @public - *

          The state of fast snapshot restores for the snapshot.

          + *

          One or more filters.

          + *
            + *
          • + *

            + * customer-gateway-configuration - The configuration information + * for the customer gateway.

            + *
          • + *
          • + *

            + * customer-gateway-id - The ID of a customer gateway associated + * with the VPN connection.

            + *
          • + *
          • + *

            + * state - The state of the VPN connection (pending | + * available | deleting | + * deleted).

            + *
          • + *
          • + *

            + * option.static-routes-only - Indicates whether the connection has + * static routes only. Used for devices that do not support Border Gateway Protocol + * (BGP).

            + *
          • + *
          • + *

            + * route.destination-cidr-block - The destination CIDR block. This + * corresponds to the subnet used in a customer data center.

            + *
          • + *
          • + *

            + * bgp-asn - The BGP Autonomous System Number (ASN) associated with + * a BGP device.

            + *
          • + *
          • + *

            + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

            + *
          • + *
          • + *

            + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

            + *
          • + *
          • + *

            + * type - The type of VPN connection. Currently the only supported + * type is ipsec.1.

            + *
          • + *
          • + *

            + * vpn-connection-id - The ID of the VPN connection.

            + *
          • + *
          • + *

            + * vpn-gateway-id - The ID of a virtual private gateway associated + * with the VPN connection.

            + *
          • + *
          • + *

            + * transit-gateway-id - The ID of a transit gateway associated with + * the VPN connection.

            + *
          • + *
          */ - State?: FastSnapshotRestoreStateCode; + Filters?: Filter[]; /** * @public - *

          The reason for the state transition. The possible values are as follows:

          + *

          One or more VPN connection IDs.

          + *

          Default: Describes your VPN connections.

          + */ + VpnConnectionIds?: string[]; + + /** + * @public + *

          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.

          + */ + DryRun?: boolean; +} + +/** + * @public + *

          Contains the output of DescribeVpnConnections.

          + */ +export interface DescribeVpnConnectionsResult { + /** + * @public + *

          Information about one or more VPN connections.

          + */ + VpnConnections?: VpnConnection[]; +} + +/** + * @public + *

          Contains the parameters for DescribeVpnGateways.

          + */ +export interface DescribeVpnGatewaysRequest { + /** + * @public + *

          One or more filters.

          *
            *
          • *

            - * Client.UserInitiated - The state successfully transitioned to enabling or - * disabling.

            + * amazon-side-asn - The Autonomous System Number (ASN) for the + * Amazon side of the gateway.

            *
          • *
          • *

            - * Client.UserInitiated - Lifecycle state transition - The state successfully transitioned - * to optimizing, enabled, or disabled.

            + * attachment.state - The current state of the attachment between + * the gateway and the VPC (attaching | attached | + * detaching | detached).

            + *
          • + *
          • + *

            + * attachment.vpc-id - The ID of an attached VPC.

            + *
          • + *
          • + *

            + * availability-zone - The Availability Zone for the virtual private + * gateway (if applicable).

            + *
          • + *
          • + *

            + * state - The state of the virtual private gateway + * (pending | available | deleting | + * deleted).

            + *
          • + *
          • + *

            + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

            + *
          • + *
          • + *

            + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

            + *
          • + *
          • + *

            + * type - The type of virtual private gateway. Currently the only + * supported type is ipsec.1.

            + *
          • + *
          • + *

            + * vpn-gateway-id - The ID of the virtual private gateway.

            *
          • *
          */ - StateTransitionReason?: string; + Filters?: Filter[]; /** * @public - *

          The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

          + *

          One or more virtual private gateway IDs.

          + *

          Default: Describes all your virtual private gateways.

          + */ + VpnGatewayIds?: string[]; + + /** + * @public + *

          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.

          + */ + DryRun?: boolean; +} + +/** + * @public + *

          Contains the output of DescribeVpnGateways.

          + */ +export interface DescribeVpnGatewaysResult { + /** + * @public + *

          Information about one or more virtual private gateways.

          + */ + VpnGateways?: VpnGateway[]; +} + +/** + * @public + */ +export interface DetachClassicLinkVpcRequest { + /** + * @public + *

          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.

          + */ + DryRun?: boolean; + + /** + * @public + *

          The ID of the instance to unlink from the VPC.

          + */ + InstanceId: string | undefined; + + /** + * @public + *

          The ID of the VPC to which the instance is linked.

          + */ + VpcId: string | undefined; +} + +/** + * @public + */ +export interface DetachClassicLinkVpcResult { + /** + * @public + *

          Returns true if the request succeeds; otherwise, it returns an error.

          */ - OwnerId?: string; + Return?: boolean; +} +/** + * @public + */ +export interface DetachInternetGatewayRequest { /** * @public - *

          The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

          + *

          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.

          */ - OwnerAlias?: string; + DryRun?: boolean; /** * @public - *

          The time at which fast snapshot restores entered the enabling state.

          + *

          The ID of the internet gateway.

          */ - EnablingTime?: Date; + InternetGatewayId: string | undefined; /** * @public - *

          The time at which fast snapshot restores entered the optimizing state.

          + *

          The ID of the VPC.

          */ - OptimizingTime?: Date; + VpcId: string | undefined; +} +/** + * @public + *

          Contains the parameters for DetachNetworkInterface.

          + */ +export interface DetachNetworkInterfaceRequest { /** * @public - *

          The time at which fast snapshot restores entered the enabled state.

          + *

          The ID of the attachment.

          */ - EnabledTime?: Date; + AttachmentId: string | undefined; /** * @public - *

          The time at which fast snapshot restores entered the disabling state.

          + *

          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.

          */ - DisablingTime?: Date; + DryRun?: boolean; /** * @public - *

          The time at which fast snapshot restores entered the disabled state.

          + *

          Specifies whether to force a detachment.

          + * + *
            + *
          • + *

            Use the Force parameter only as a last resort to detach a network interface from a failed instance.

            + *
          • + *
          • + *

            If you use the Force parameter to detach a network interface, you might not be able to attach a different network interface to the same index on the instance without first stopping and starting the instance.

            + *
          • + *
          • + *

            If you force the detachment of a network interface, the instance metadata + * might not get updated. This means that the attributes associated + * with the detached network interface might still be visible. The + * instance metadata will get updated when you stop and start the + * instance.

            + *
          • + *
          + *
          */ - DisabledTime?: Date; + Force?: boolean; } /** * @public - *

          Describes an error that occurred when disabling fast snapshot restores.

          */ -export interface DisableFastSnapshotRestoreStateError { +export interface DetachVerifiedAccessTrustProviderRequest { /** * @public - *

          The error code.

          + *

          The ID of the Verified Access instance.

          */ - Code?: string; + VerifiedAccessInstanceId: string | undefined; /** * @public - *

          The error message.

          + *

          The ID of the Verified Access trust provider.

          */ - Message?: string; -} + VerifiedAccessTrustProviderId: string | undefined; -/** - * @public - *

          Contains information about an error that occurred when disabling fast snapshot restores.

          - */ -export interface DisableFastSnapshotRestoreStateErrorItem { /** * @public - *

          The Availability Zone.

          + *

          A unique, case-sensitive token that you provide to ensure idempotency of your + * modification request. For more information, see Ensuring Idempotency.

          */ - AvailabilityZone?: string; + ClientToken?: string; /** * @public - *

          The error.

          + *

          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.

          */ - Error?: DisableFastSnapshotRestoreStateError; + DryRun?: boolean; } /** * @public - *

          Contains information about the errors that occurred when disabling fast snapshot restores.

          */ -export interface DisableFastSnapshotRestoreErrorItem { +export interface DetachVerifiedAccessTrustProviderResult { /** * @public - *

          The ID of the snapshot.

          + *

          Details about the Verified Access trust provider.

          */ - SnapshotId?: string; + VerifiedAccessTrustProvider?: VerifiedAccessTrustProvider; /** * @public - *

          The errors.

          + *

          Details about the Verified Access instance.

          */ - FastSnapshotRestoreStateErrors?: DisableFastSnapshotRestoreStateErrorItem[]; + VerifiedAccessInstance?: VerifiedAccessInstance; } /** * @public */ -export interface DisableFastSnapshotRestoresResult { +export interface DetachVolumeRequest { /** * @public - *

          Information about the snapshots for which fast snapshot restores were successfully disabled.

          + *

          The device name.

          */ - Successful?: DisableFastSnapshotRestoreSuccessItem[]; + Device?: string; /** * @public - *

          Information about the snapshots for which fast snapshot restores could not be disabled.

          + *

          Forces detachment if the previous detachment attempt did not occur cleanly (for example, + * logging into an instance, unmounting the volume, and detaching normally). This option can lead + * to data loss or a corrupted file system. Use this option only as a last resort to detach a + * volume from a failed instance. The instance won't have an opportunity to flush file system + * caches or file system metadata. If you use this option, you must perform file system check and + * repair procedures.

          */ - Unsuccessful?: DisableFastSnapshotRestoreErrorItem[]; -} + Force?: boolean; -/** - * @public - */ -export interface DisableImageRequest { /** * @public - *

          The ID of the AMI.

          + *

          The ID of the instance. If you are detaching a Multi-Attach enabled volume, you must specify an instance ID.

          */ - ImageId: string | undefined; + InstanceId?: string; + + /** + * @public + *

          The ID of the volume.

          + */ + VolumeId: string | undefined; /** * @public *

          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.

          + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; } /** * @public + *

          Contains the parameters for DetachVpnGateway.

          */ -export interface DisableImageResult { +export interface DetachVpnGatewayRequest { /** * @public - *

          Returns true if the request succeeds; otherwise, it returns an error.

          + *

          The ID of the VPC.

          */ - Return?: boolean; -} + VpcId: string | undefined; -/** - * @public - */ -export interface DisableImageBlockPublicAccessRequest { /** * @public - *

          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.

          + *

          The ID of the virtual private gateway.

          */ - DryRun?: boolean; -} - -/** - * @public - * @enum - */ -export const ImageBlockPublicAccessDisabledState = { - unblocked: "unblocked", -} as const; - -/** - * @public - */ -export type ImageBlockPublicAccessDisabledState = - (typeof ImageBlockPublicAccessDisabledState)[keyof typeof ImageBlockPublicAccessDisabledState]; + VpnGatewayId: string | undefined; -/** - * @public - */ -export interface DisableImageBlockPublicAccessResult { /** * @public - *

          Returns unblocked if the request succeeds; otherwise, it returns an - * error.

          + *

          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.

          */ - ImageBlockPublicAccessState?: ImageBlockPublicAccessDisabledState; + DryRun?: boolean; } /** * @public */ -export interface DisableImageDeprecationRequest { +export interface DisableAddressTransferRequest { /** * @public - *

          The ID of the AMI.

          + *

          The allocation ID of an Elastic IP address.

          */ - ImageId: string | undefined; + AllocationId: string | undefined; /** * @public *

          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.

          + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; } @@ -3855,72 +4137,42 @@ export interface DisableImageDeprecationRequest { /** * @public */ -export interface DisableImageDeprecationResult { +export interface DisableAddressTransferResult { /** * @public - *

          Returns true if the request succeeds; otherwise, it returns an error.

          + *

          An Elastic IP address transfer.

          */ - Return?: boolean; + AddressTransfer?: AddressTransfer; } /** * @public */ -export interface DisableIpamOrganizationAdminAccountRequest { - /** - * @public - *

          A check for 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.

          - */ - DryRun?: boolean; - +export interface DisableAwsNetworkPerformanceMetricSubscriptionRequest { /** * @public - *

          The Organizations member account ID that you want to disable as IPAM account.

          + *

          The source Region or Availability Zone that the metric subscription is disabled for. For example, us-east-1.

          */ - DelegatedAdminAccountId: string | undefined; -} + Source?: string; -/** - * @public - */ -export interface DisableIpamOrganizationAdminAccountResult { /** * @public - *

          The result of disabling the IPAM account.

          + *

          The target Region or Availability Zone that the metric subscription is disabled for. For example, eu-north-1.

          */ - Success?: boolean; -} + Destination?: string; -/** - * @public - */ -export interface DisableSerialConsoleAccessRequest { /** * @public - *

          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.

          + *

          The metric used for the disabled subscription.

          */ - DryRun?: boolean; -} + Metric?: MetricType; -/** - * @public - */ -export interface DisableSerialConsoleAccessResult { /** * @public - *

          If true, access to the EC2 serial console of all instances is enabled for - * your account. If false, access to the EC2 serial console of all instances - * is disabled for your account.

          + *

          The statistic used for the disabled subscription.

          */ - SerialConsoleAccessEnabled?: boolean; -} + Statistic?: StatisticType; -/** - * @public - */ -export interface DisableSnapshotBlockPublicAccessRequest { /** * @public *

          Checks whether you have the required permissions for the action, without actually making the request, @@ -3932,295 +4184,322 @@ export interface DisableSnapshotBlockPublicAccessRequest { /** * @public - * @enum */ -export const SnapshotBlockPublicAccessState = { - block_all_sharing: "block-all-sharing", - block_new_sharing: "block-new-sharing", - unblocked: "unblocked", -} as const; +export interface DisableAwsNetworkPerformanceMetricSubscriptionResult { + /** + * @public + *

          Indicates whether the unsubscribe action was successful.

          + */ + Output?: boolean; +} /** * @public */ -export type SnapshotBlockPublicAccessState = - (typeof SnapshotBlockPublicAccessState)[keyof typeof SnapshotBlockPublicAccessState]; +export interface DisableEbsEncryptionByDefaultRequest { + /** + * @public + *

          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.

          + */ + DryRun?: boolean; +} /** * @public */ -export interface DisableSnapshotBlockPublicAccessResult { +export interface DisableEbsEncryptionByDefaultResult { /** * @public - *

          Returns unblocked if the request succeeds.

          + *

          The updated status of encryption by default.

          */ - State?: SnapshotBlockPublicAccessState; + EbsEncryptionByDefault?: boolean; } /** * @public */ -export interface DisableTransitGatewayRouteTablePropagationRequest { +export interface DisableFastLaunchRequest { /** * @public - *

          The ID of the propagation route table.

          + *

          Specify the ID of the image for which to disable Windows fast launch.

          */ - TransitGatewayRouteTableId: string | undefined; + ImageId: string | undefined; /** * @public - *

          The ID of the attachment.

          + *

          Forces the image settings to turn off Windows fast launch for your Windows AMI. This parameter overrides + * any errors that are encountered while cleaning up resources in your account.

          */ - TransitGatewayAttachmentId?: string; + Force?: boolean; /** * @public *

          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.

          + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; - - /** - * @public - *

          The ID of the route table announcement.

          - */ - TransitGatewayRouteTableAnnouncementId?: string; } /** * @public - * @enum */ -export const TransitGatewayPropagationState = { - disabled: "disabled", - disabling: "disabling", - enabled: "enabled", - enabling: "enabling", -} as const; +export interface DisableFastLaunchResult { + /** + * @public + *

          The ID of the image for which Windows fast launch was disabled.

          + */ + ImageId?: string; -/** - * @public - */ -export type TransitGatewayPropagationState = - (typeof TransitGatewayPropagationState)[keyof typeof TransitGatewayPropagationState]; + /** + * @public + *

          The pre-provisioning resource type that must be cleaned after turning off Windows fast launch + * for the Windows AMI. Supported values include: snapshot.

          + */ + ResourceType?: FastLaunchResourceType; -/** - * @public - *

          Describes route propagation.

          - */ -export interface TransitGatewayPropagation { /** * @public - *

          The ID of the attachment.

          + *

          Parameters that were used for Windows fast launch for the Windows AMI before + * Windows fast launch was disabled. This informs the clean-up process.

          */ - TransitGatewayAttachmentId?: string; + SnapshotConfiguration?: FastLaunchSnapshotConfigurationResponse; /** * @public - *

          The ID of the resource.

          + *

          The launch template that was used to launch Windows instances from pre-provisioned snapshots.

          */ - ResourceId?: string; + LaunchTemplate?: FastLaunchLaunchTemplateSpecificationResponse; /** * @public - *

          The resource type. Note that the tgw-peering resource type has been deprecated.

          + *

          The maximum number of instances that Amazon EC2 can launch at the same time to + * create pre-provisioned snapshots for Windows fast launch.

          */ - ResourceType?: TransitGatewayAttachmentResourceType; + MaxParallelLaunches?: number; /** * @public - *

          The ID of the transit gateway route table.

          + *

          The owner of the Windows AMI for which Windows fast launch was disabled.

          */ - TransitGatewayRouteTableId?: string; + OwnerId?: string; /** * @public - *

          The state.

          + *

          The current state of Windows fast launch for the specified Windows AMI.

          */ - State?: TransitGatewayPropagationState; + State?: FastLaunchStateCode; /** * @public - *

          The ID of the transit gateway route table announcement.

          + *

          The reason that the state changed for Windows fast launch for the Windows AMI.

          */ - TransitGatewayRouteTableAnnouncementId?: string; -} + StateTransitionReason?: string; -/** - * @public - */ -export interface DisableTransitGatewayRouteTablePropagationResult { /** * @public - *

          Information about route propagation.

          + *

          The time that the state changed for Windows fast launch for the Windows AMI.

          */ - Propagation?: TransitGatewayPropagation; + StateTransitionTime?: Date; } /** * @public - *

          Contains the parameters for DisableVgwRoutePropagation.

          */ -export interface DisableVgwRoutePropagationRequest { +export interface DisableFastSnapshotRestoresRequest { /** * @public - *

          The ID of the virtual private gateway.

          + *

          One or more Availability Zones. For example, us-east-2a.

          */ - GatewayId: string | undefined; + AvailabilityZones: string[] | undefined; /** * @public - *

          The ID of the route table.

          + *

          The IDs of one or more snapshots. For example, snap-1234567890abcdef0.

          */ - RouteTableId: string | undefined; + SourceSnapshotIds: string[] | undefined; /** * @public - *

          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.

          + *

          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.

          */ DryRun?: boolean; } /** * @public + *

          Describes fast snapshot restores that were successfully disabled.

          */ -export interface DisableVpcClassicLinkRequest { +export interface DisableFastSnapshotRestoreSuccessItem { /** * @public - *

          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.

          + *

          The ID of the snapshot.

          */ - DryRun?: boolean; + SnapshotId?: string; /** * @public - *

          The ID of the VPC.

          + *

          The Availability Zone.

          */ - VpcId: string | undefined; -} + AvailabilityZone?: string; -/** - * @public - */ -export interface DisableVpcClassicLinkResult { /** * @public - *

          Returns true if the request succeeds; otherwise, it returns an error.

          + *

          The state of fast snapshot restores for the snapshot.

          */ - Return?: boolean; -} + State?: FastSnapshotRestoreStateCode; -/** - * @public - */ -export interface DisableVpcClassicLinkDnsSupportRequest { /** * @public - *

          The ID of the VPC.

          + *

          The reason for the state transition. The possible values are as follows:

          + *
            + *
          • + *

            + * Client.UserInitiated - The state successfully transitioned to enabling or + * disabling.

            + *
          • + *
          • + *

            + * Client.UserInitiated - Lifecycle state transition - The state successfully transitioned + * to optimizing, enabled, or disabled.

            + *
          • + *
          */ - VpcId?: string; -} + StateTransitionReason?: string; -/** - * @public - */ -export interface DisableVpcClassicLinkDnsSupportResult { /** * @public - *

          Returns true if the request succeeds; otherwise, it returns an error.

          + *

          The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

          */ - Return?: boolean; -} + OwnerId?: string; -/** - * @public - */ -export interface DisassociateAddressRequest { /** * @public - *

          The association ID. This parameter is required.

          + *

          The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

          */ - AssociationId?: string; + OwnerAlias?: string; /** * @public - *

          Deprecated.

          + *

          The time at which fast snapshot restores entered the enabling state.

          */ - PublicIp?: string; + EnablingTime?: Date; /** * @public - *

          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.

          + *

          The time at which fast snapshot restores entered the optimizing state.

          */ - DryRun?: boolean; + OptimizingTime?: Date; + + /** + * @public + *

          The time at which fast snapshot restores entered the enabled state.

          + */ + EnabledTime?: Date; + + /** + * @public + *

          The time at which fast snapshot restores entered the disabling state.

          + */ + DisablingTime?: Date; + + /** + * @public + *

          The time at which fast snapshot restores entered the disabled state.

          + */ + DisabledTime?: Date; } /** * @public + *

          Describes an error that occurred when disabling fast snapshot restores.

          */ -export interface DisassociateClientVpnTargetNetworkRequest { +export interface DisableFastSnapshotRestoreStateError { /** * @public - *

          The ID of the Client VPN endpoint from which to disassociate the target network.

          + *

          The error code.

          */ - ClientVpnEndpointId: string | undefined; + Code?: string; /** * @public - *

          The ID of the target network association.

          + *

          The error message.

          */ - AssociationId: string | undefined; + Message?: string; +} + +/** + * @public + *

          Contains information about an error that occurred when disabling fast snapshot restores.

          + */ +export interface DisableFastSnapshotRestoreStateErrorItem { + /** + * @public + *

          The Availability Zone.

          + */ + AvailabilityZone?: string; /** * @public - *

          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.

          + *

          The error.

          */ - DryRun?: boolean; + Error?: DisableFastSnapshotRestoreStateError; } /** * @public + *

          Contains information about the errors that occurred when disabling fast snapshot restores.

          */ -export interface DisassociateClientVpnTargetNetworkResult { +export interface DisableFastSnapshotRestoreErrorItem { + /** + * @public + *

          The ID of the snapshot.

          + */ + SnapshotId?: string; + + /** + * @public + *

          The errors.

          + */ + FastSnapshotRestoreStateErrors?: DisableFastSnapshotRestoreStateErrorItem[]; +} + +/** + * @public + */ +export interface DisableFastSnapshotRestoresResult { /** * @public - *

          The ID of the target network association.

          + *

          Information about the snapshots for which fast snapshot restores were successfully disabled.

          */ - AssociationId?: string; + Successful?: DisableFastSnapshotRestoreSuccessItem[]; /** * @public - *

          The current state of the target network association.

          + *

          Information about the snapshots for which fast snapshot restores could not be disabled.

          */ - Status?: AssociationStatus; + Unsuccessful?: DisableFastSnapshotRestoreErrorItem[]; } /** * @public */ -export interface DisassociateEnclaveCertificateIamRoleRequest { - /** - * @public - *

          The ARN of the ACM certificate from which to disassociate the IAM role.

          - */ - CertificateArn: string | undefined; - +export interface DisableImageRequest { /** * @public - *

          The ARN of the IAM role to disassociate.

          + *

          The ID of the AMI.

          */ - RoleArn: string | undefined; + ImageId: string | undefined; /** * @public - *

          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.

          + *

          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.

          */ DryRun?: boolean; } @@ -4228,7 +4507,7 @@ export interface DisassociateEnclaveCertificateIamRoleRequest { /** * @public */ -export interface DisassociateEnclaveCertificateIamRoleResult { +export interface DisableImageResult { /** * @public *

          Returns true if the request succeeds; otherwise, it returns an error.

          @@ -4239,90 +4518,76 @@ export interface DisassociateEnclaveCertificateIamRoleResult { /** * @public */ -export interface DisassociateIamInstanceProfileRequest { +export interface DisableImageBlockPublicAccessRequest { /** * @public - *

          The ID of the IAM instance profile association.

          + *

          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.

          */ - AssociationId: string | undefined; + DryRun?: boolean; } /** * @public + * @enum */ -export interface DisassociateIamInstanceProfileResult { - /** - * @public - *

          Information about the IAM instance profile association.

          - */ - IamInstanceProfileAssociation?: IamInstanceProfileAssociation; -} +export const ImageBlockPublicAccessDisabledState = { + unblocked: "unblocked", +} as const; /** * @public - *

          The targets to disassociate from the specified event window.

          */ -export interface InstanceEventWindowDisassociationRequest { - /** - * @public - *

          The IDs of the instances to disassociate from the event window.

          - */ - InstanceIds?: string[]; - - /** - * @public - *

          The instance tags to disassociate from the event window. Any instances associated with - * the tags will be disassociated from the event window.

          - */ - InstanceTags?: Tag[]; +export type ImageBlockPublicAccessDisabledState = + (typeof ImageBlockPublicAccessDisabledState)[keyof typeof ImageBlockPublicAccessDisabledState]; +/** + * @public + */ +export interface DisableImageBlockPublicAccessResult { /** * @public - *

          The IDs of the Dedicated Hosts to disassociate from the event window.

          + *

          Returns unblocked if the request succeeds; otherwise, it returns an + * error.

          */ - DedicatedHostIds?: string[]; + ImageBlockPublicAccessState?: ImageBlockPublicAccessDisabledState; } /** * @public */ -export interface DisassociateInstanceEventWindowRequest { - /** - * @public - *

          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.

          - */ - DryRun?: boolean; - +export interface DisableImageDeprecationRequest { /** * @public - *

          The ID of the event window.

          + *

          The ID of the AMI.

          */ - InstanceEventWindowId: string | undefined; + ImageId: string | undefined; /** * @public - *

          One or more targets to disassociate from the specified event window.

          + *

          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.

          */ - AssociationTarget: InstanceEventWindowDisassociationRequest | undefined; + DryRun?: boolean; } /** * @public */ -export interface DisassociateInstanceEventWindowResult { +export interface DisableImageDeprecationResult { /** * @public - *

          Information about the event window.

          + *

          Returns true if the request succeeds; otherwise, it returns an error.

          */ - InstanceEventWindow?: InstanceEventWindow; + Return?: boolean; } /** * @public */ -export interface DisassociateIpamResourceDiscoveryRequest { +export interface DisableIpamOrganizationAdminAccountRequest { /** * @public *

          A check for whether you have the required permissions for the action without actually making the request @@ -4333,49 +4598,29 @@ export interface DisassociateIpamResourceDiscoveryRequest { /** * @public - *

          A resource discovery association ID.

          + *

          The Organizations member account ID that you want to disable as IPAM account.

          */ - IpamResourceDiscoveryAssociationId: string | undefined; + DelegatedAdminAccountId: string | undefined; } /** * @public */ -export interface DisassociateIpamResourceDiscoveryResult { +export interface DisableIpamOrganizationAdminAccountResult { /** * @public - *

          A resource discovery association.

          + *

          The result of disabling the IPAM account.

          */ - IpamResourceDiscoveryAssociation?: IpamResourceDiscoveryAssociation; + Success?: boolean; } /** * @public */ -export interface DisassociateNatGatewayAddressRequest { - /** - * @public - *

          The ID of the NAT gateway.

          - */ - NatGatewayId: string | undefined; - - /** - * @public - *

          The association IDs of EIPs that have been associated with the NAT gateway.

          - */ - AssociationIds: string[] | undefined; - - /** - * @public - *

          The maximum amount of time to wait (in seconds) before forcibly releasing the IP addresses if connections are still in progress. Default value is 350 seconds.

          - */ - MaxDrainDurationSeconds?: number; - +export interface DisableSerialConsoleAccessRequest { /** * @public - *

          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.

          + *

          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.

          */ DryRun?: boolean; } @@ -4383,30 +4628,20 @@ export interface DisassociateNatGatewayAddressRequest { /** * @public */ -export interface DisassociateNatGatewayAddressResult { - /** - * @public - *

          The ID of the NAT gateway.

          - */ - NatGatewayId?: string; - +export interface DisableSerialConsoleAccessResult { /** * @public - *

          Information about the NAT gateway IP addresses.

          + *

          If true, access to the EC2 serial console of all instances is enabled for + * your account. If false, access to the EC2 serial console of all instances + * is disabled for your account.

          */ - NatGatewayAddresses?: NatGatewayAddress[]; + SerialConsoleAccessEnabled?: boolean; } /** * @public */ -export interface DisassociateRouteTableRequest { - /** - * @public - *

          The association ID representing the current association between the route table and subnet or gateway.

          - */ - AssociationId: string | undefined; - +export interface DisableSnapshotBlockPublicAccessRequest { /** * @public *

          Checks whether you have the required permissions for the action, without actually making the request, @@ -4418,53 +4653,46 @@ export interface DisassociateRouteTableRequest { /** * @public + * @enum */ -export interface DisassociateSubnetCidrBlockRequest { - /** - * @public - *

          The association ID for the CIDR block.

          - */ - AssociationId: string | undefined; -} +export const SnapshotBlockPublicAccessState = { + block_all_sharing: "block-all-sharing", + block_new_sharing: "block-new-sharing", + unblocked: "unblocked", +} as const; /** * @public */ -export interface DisassociateSubnetCidrBlockResult { - /** - * @public - *

          Information about the IPv6 CIDR block association.

          - */ - Ipv6CidrBlockAssociation?: SubnetIpv6CidrBlockAssociation; +export type SnapshotBlockPublicAccessState = + (typeof SnapshotBlockPublicAccessState)[keyof typeof SnapshotBlockPublicAccessState]; +/** + * @public + */ +export interface DisableSnapshotBlockPublicAccessResult { /** * @public - *

          The ID of the subnet.

          + *

          Returns unblocked if the request succeeds.

          */ - SubnetId?: string; + State?: SnapshotBlockPublicAccessState; } /** * @public */ -export interface DisassociateTransitGatewayMulticastDomainRequest { +export interface DisableTransitGatewayRouteTablePropagationRequest { /** * @public - *

          The ID of the transit gateway multicast domain.

          + *

          The ID of the propagation route table.

          */ - TransitGatewayMulticastDomainId: string | undefined; + TransitGatewayRouteTableId: string | undefined; /** * @public *

          The ID of the attachment.

          */ - TransitGatewayAttachmentId: string | undefined; - - /** - * @public - *

          The IDs of the subnets;

          - */ - SubnetIds: string[] | undefined; + TransitGatewayAttachmentId?: string; /** * @public @@ -4473,114 +4701,107 @@ export interface DisassociateTransitGatewayMulticastDomainRequest { * Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; -} -/** - * @public - */ -export interface DisassociateTransitGatewayMulticastDomainResult { /** * @public - *

          Information about the association.

          + *

          The ID of the route table announcement.

          */ - Associations?: TransitGatewayMulticastDomainAssociations; + TransitGatewayRouteTableAnnouncementId?: string; } +/** + * @public + * @enum + */ +export const TransitGatewayPropagationState = { + disabled: "disabled", + disabling: "disabling", + enabled: "enabled", + enabling: "enabling", +} as const; + /** * @public */ -export interface DisassociateTransitGatewayPolicyTableRequest { - /** - * @public - *

          The ID of the disassociated policy table.

          - */ - TransitGatewayPolicyTableId: string | undefined; +export type TransitGatewayPropagationState = + (typeof TransitGatewayPropagationState)[keyof typeof TransitGatewayPropagationState]; +/** + * @public + *

          Describes route propagation.

          + */ +export interface TransitGatewayPropagation { /** * @public - *

          The ID of the transit gateway attachment to disassociate from the policy table.

          + *

          The ID of the attachment.

          */ - TransitGatewayAttachmentId: string | undefined; + TransitGatewayAttachmentId?: string; /** * @public - *

          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.

          + *

          The ID of the resource.

          */ - DryRun?: boolean; -} + ResourceId?: string; -/** - * @public - */ -export interface DisassociateTransitGatewayPolicyTableResult { /** * @public - *

          Returns details about the transit gateway policy table disassociation.

          + *

          The resource type. Note that the tgw-peering resource type has been deprecated.

          */ - Association?: TransitGatewayPolicyTableAssociation; -} + ResourceType?: TransitGatewayAttachmentResourceType; -/** - * @public - */ -export interface DisassociateTransitGatewayRouteTableRequest { /** * @public *

          The ID of the transit gateway route table.

          */ - TransitGatewayRouteTableId: string | undefined; + TransitGatewayRouteTableId?: string; /** * @public - *

          The ID of the attachment.

          + *

          The state.

          */ - TransitGatewayAttachmentId: string | undefined; + State?: TransitGatewayPropagationState; /** * @public - *

          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.

          + *

          The ID of the transit gateway route table announcement.

          */ - DryRun?: boolean; + TransitGatewayRouteTableAnnouncementId?: string; } /** * @public */ -export interface DisassociateTransitGatewayRouteTableResult { +export interface DisableTransitGatewayRouteTablePropagationResult { /** * @public - *

          Information about the association.

          + *

          Information about route propagation.

          */ - Association?: TransitGatewayAssociation; + Propagation?: TransitGatewayPropagation; } /** * @public + *

          Contains the parameters for DisableVgwRoutePropagation.

          */ -export interface DisassociateTrunkInterfaceRequest { +export interface DisableVgwRoutePropagationRequest { /** * @public - *

          The ID of the association

          + *

          The ID of the virtual private gateway.

          */ - AssociationId: string | undefined; + GatewayId: string | undefined; /** * @public - *

          Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see How to Ensure - * Idempotency.

          + *

          The ID of the route table.

          */ - ClientToken?: string; + RouteTableId: string | undefined; /** * @public - *

          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.

          + *

          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.

          */ DryRun?: boolean; } @@ -4588,71 +4809,70 @@ export interface DisassociateTrunkInterfaceRequest { /** * @public */ -export interface DisassociateTrunkInterfaceResult { +export interface DisableVpcClassicLinkRequest { /** * @public - *

          Returns true if the request succeeds; otherwise, it returns an error.

          + *

          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.

          */ - Return?: boolean; + DryRun?: boolean; /** * @public - *

          Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see How to Ensure - * Idempotency.

          + *

          The ID of the VPC.

          */ - ClientToken?: string; + VpcId: string | undefined; } /** * @public */ -export interface DisassociateVpcCidrBlockRequest { +export interface DisableVpcClassicLinkResult { /** * @public - *

          The association ID for the CIDR block.

          + *

          Returns true if the request succeeds; otherwise, it returns an error.

          */ - AssociationId: string | undefined; + Return?: boolean; } /** * @public */ -export interface DisassociateVpcCidrBlockResult { - /** - * @public - *

          Information about the IPv6 CIDR block association.

          - */ - Ipv6CidrBlockAssociation?: VpcIpv6CidrBlockAssociation; - +export interface DisableVpcClassicLinkDnsSupportRequest { /** * @public - *

          Information about the IPv4 CIDR block association.

          + *

          The ID of the VPC.

          */ - CidrBlockAssociation?: VpcCidrBlockAssociation; + VpcId?: string; +} +/** + * @public + */ +export interface DisableVpcClassicLinkDnsSupportResult { /** * @public - *

          The ID of the VPC.

          + *

          Returns true if the request succeeds; otherwise, it returns an error.

          */ - VpcId?: string; + Return?: boolean; } /** * @public */ -export interface EnableAddressTransferRequest { +export interface DisassociateAddressRequest { /** * @public - *

          The allocation ID of an Elastic IP address.

          + *

          The association ID. This parameter is required.

          */ - AllocationId: string | undefined; + AssociationId?: string; /** * @public - *

          The ID of the account that you want to transfer the Elastic IP address to.

          + *

          Deprecated.

          */ - TransferAccountId: string | undefined; + PublicIp?: string; /** * @public @@ -4666,47 +4886,62 @@ export interface EnableAddressTransferRequest { /** * @public */ -export interface EnableAddressTransferResult { +export interface DisassociateClientVpnTargetNetworkRequest { /** * @public - *

          An Elastic IP address transfer.

          + *

          The ID of the Client VPN endpoint from which to disassociate the target network.

          */ - AddressTransfer?: AddressTransfer; + ClientVpnEndpointId: string | undefined; + + /** + * @public + *

          The ID of the target network association.

          + */ + AssociationId: string | undefined; + + /** + * @public + *

          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.

          + */ + DryRun?: boolean; } /** * @public */ -export interface EnableAwsNetworkPerformanceMetricSubscriptionRequest { +export interface DisassociateClientVpnTargetNetworkResult { /** * @public - *

          The source Region or Availability Zone that the metric subscription is enabled for. For example, us-east-1.

          + *

          The ID of the target network association.

          */ - Source?: string; + AssociationId?: string; /** * @public - *

          The target Region or Availability Zone that the metric subscription is enabled for. For example, eu-west-1.

          + *

          The current state of the target network association.

          */ - Destination?: string; + Status?: AssociationStatus; +} +/** + * @public + */ +export interface DisassociateEnclaveCertificateIamRoleRequest { /** * @public - *

          The metric used for the enabled subscription.

          + *

          The ARN of the ACM certificate from which to disassociate the IAM role.

          */ - Metric?: MetricType; + CertificateArn: string | undefined; /** * @public - *

          The statistic used for the enabled subscription.

          + *

          The ARN of the IAM role to disassociate.

          */ - Statistic?: StatisticType; + RoleArn: string | undefined; /** * @public - *

          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.

          + *

          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.

          */ DryRun?: boolean; } @@ -4714,208 +4949,220 @@ export interface EnableAwsNetworkPerformanceMetricSubscriptionRequest { /** * @public */ -export interface EnableAwsNetworkPerformanceMetricSubscriptionResult { +export interface DisassociateEnclaveCertificateIamRoleResult { /** * @public - *

          Indicates whether the subscribe action was successful.

          + *

          Returns true if the request succeeds; otherwise, it returns an error.

          */ - Output?: boolean; + Return?: boolean; } /** * @public */ -export interface EnableEbsEncryptionByDefaultRequest { +export interface DisassociateIamInstanceProfileRequest { /** * @public - *

          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.

          + *

          The ID of the IAM instance profile association.

          */ - DryRun?: boolean; + AssociationId: string | undefined; } /** * @public */ -export interface EnableEbsEncryptionByDefaultResult { +export interface DisassociateIamInstanceProfileResult { /** * @public - *

          The updated status of encryption by default.

          + *

          Information about the IAM instance profile association.

          */ - EbsEncryptionByDefault?: boolean; + IamInstanceProfileAssociation?: IamInstanceProfileAssociation; } /** * @public - *

          Request to create a launch template for a Windows fast launch enabled AMI.

          - * - *

          Note - You can specify either the LaunchTemplateName or the - * LaunchTemplateId, but not both.

          - *
          + *

          The targets to disassociate from the specified event window.

          */ -export interface FastLaunchLaunchTemplateSpecificationRequest { +export interface InstanceEventWindowDisassociationRequest { /** * @public - *

          Specify the ID of the launch template that the AMI should use for Windows fast launch.

          + *

          The IDs of the instances to disassociate from the event window.

          */ - LaunchTemplateId?: string; + InstanceIds?: string[]; /** * @public - *

          Specify the name of the launch template that the AMI should use for Windows fast launch.

          + *

          The instance tags to disassociate from the event window. Any instances associated with + * the tags will be disassociated from the event window.

          */ - LaunchTemplateName?: string; + InstanceTags?: Tag[]; /** * @public - *

          Specify the version of the launch template that the AMI should use for Windows fast launch.

          + *

          The IDs of the Dedicated Hosts to disassociate from the event window.

          */ - Version: string | undefined; + DedicatedHostIds?: string[]; } /** * @public - *

          Configuration settings for creating and managing pre-provisioned snapshots for a Windows fast launch - * enabled AMI.

          */ -export interface FastLaunchSnapshotConfigurationRequest { +export interface DisassociateInstanceEventWindowRequest { /** * @public - *

          The number of pre-provisioned snapshots to keep on hand for a Windows fast launch - * enabled AMI.

          + *

          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.

          */ - TargetResourceCount?: number; -} + DryRun?: boolean; -/** - * @public - */ -export interface EnableFastLaunchRequest { /** * @public - *

          Specify the ID of the image for which to enable Windows fast launch.

          + *

          The ID of the event window.

          */ - ImageId: string | undefined; + InstanceEventWindowId: string | undefined; /** * @public - *

          The type of resource to use for pre-provisioning the AMI for Windows fast launch. - * Supported values include: snapshot, which is the default value.

          + *

          One or more targets to disassociate from the specified event window.

          */ - ResourceType?: string; + AssociationTarget: InstanceEventWindowDisassociationRequest | undefined; +} +/** + * @public + */ +export interface DisassociateInstanceEventWindowResult { /** * @public - *

          Configuration settings for creating and managing the snapshots that are used for - * pre-provisioning the AMI for Windows fast launch. The associated ResourceType - * must be snapshot.

          + *

          Information about the event window.

          */ - SnapshotConfiguration?: FastLaunchSnapshotConfigurationRequest; + InstanceEventWindow?: InstanceEventWindow; +} +/** + * @public + */ +export interface DisassociateIpamByoasnRequest { /** * @public - *

          The launch template to use when launching Windows instances from pre-provisioned - * snapshots. Launch template parameters can include either the name or ID of the launch - * template, but not both.

          + *

          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.

          */ - LaunchTemplate?: FastLaunchLaunchTemplateSpecificationRequest; + DryRun?: boolean; /** * @public - *

          The maximum number of instances that Amazon EC2 can launch at the same time to create - * pre-provisioned snapshots for Windows fast launch. Value must be - * 6 or greater.

          + *

          A public 2-byte or 4-byte ASN.

          */ - MaxParallelLaunches?: number; + Asn: string | undefined; /** * @public - *

          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.

          + *

          A BYOIP CIDR.

          */ - DryRun?: boolean; + Cidr: string | undefined; } /** * @public */ -export interface EnableFastLaunchResult { +export interface DisassociateIpamByoasnResult { /** * @public - *

          The image ID that identifies the AMI for which Windows fast launch was enabled.

          + *

          An ASN and BYOIP CIDR association.

          */ - ImageId?: string; + AsnAssociation?: AsnAssociation; +} +/** + * @public + */ +export interface DisassociateIpamResourceDiscoveryRequest { /** * @public - *

          The type of resource that was defined for pre-provisioning the AMI for Windows fast launch.

          + *

          A check for 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.

          */ - ResourceType?: FastLaunchResourceType; + DryRun?: boolean; + + /** + * @public + *

          A resource discovery association ID.

          + */ + IpamResourceDiscoveryAssociationId: string | undefined; +} +/** + * @public + */ +export interface DisassociateIpamResourceDiscoveryResult { /** * @public - *

          Settings to create and manage the pre-provisioned snapshots that Amazon EC2 uses for faster - * launches from the Windows AMI. This property is returned when the associated - * resourceType is snapshot.

          + *

          A resource discovery association.

          */ - SnapshotConfiguration?: FastLaunchSnapshotConfigurationResponse; + IpamResourceDiscoveryAssociation?: IpamResourceDiscoveryAssociation; +} +/** + * @public + */ +export interface DisassociateNatGatewayAddressRequest { /** * @public - *

          The launch template that is used when launching Windows instances from pre-provisioned snapshots.

          + *

          The ID of the NAT gateway.

          */ - LaunchTemplate?: FastLaunchLaunchTemplateSpecificationResponse; + NatGatewayId: string | undefined; /** * @public - *

          The maximum number of instances that Amazon EC2 can launch at the same time to - * create pre-provisioned snapshots for Windows fast launch.

          + *

          The association IDs of EIPs that have been associated with the NAT gateway.

          */ - MaxParallelLaunches?: number; + AssociationIds: string[] | undefined; /** * @public - *

          The owner ID for the AMI for which Windows fast launch was enabled.

          + *

          The maximum amount of time to wait (in seconds) before forcibly releasing the IP addresses if connections are still in progress. Default value is 350 seconds.

          */ - OwnerId?: string; + MaxDrainDurationSeconds?: number; /** * @public - *

          The current state of Windows fast launch for the specified AMI.

          + *

          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.

          */ - State?: FastLaunchStateCode; + DryRun?: boolean; +} +/** + * @public + */ +export interface DisassociateNatGatewayAddressResult { /** * @public - *

          The reason that the state changed for Windows fast launch for the AMI.

          + *

          The ID of the NAT gateway.

          */ - StateTransitionReason?: string; + NatGatewayId?: string; /** * @public - *

          The time that the state changed for Windows fast launch for the AMI.

          + *

          Information about the NAT gateway IP addresses.

          */ - StateTransitionTime?: Date; + NatGatewayAddresses?: NatGatewayAddress[]; } /** * @public */ -export interface EnableFastSnapshotRestoresRequest { - /** - * @public - *

          One or more Availability Zones. For example, us-east-2a.

          - */ - AvailabilityZones: string[] | undefined; - +export interface DisassociateRouteTableRequest { /** * @public - *

          The IDs of one or more snapshots. For example, snap-1234567890abcdef0. You can specify - * a snapshot that was shared with you from another Amazon Web Services account.

          + *

          The association ID representing the current association between the route table and subnet or gateway.

          */ - SourceSnapshotIds: string[] | undefined; + AssociationId: string | undefined; /** * @public @@ -4928,220 +5175,247 @@ export interface EnableFastSnapshotRestoresRequest { /** * @public - *

          Describes fast snapshot restores that were successfully enabled.

          */ -export interface EnableFastSnapshotRestoreSuccessItem { +export interface DisassociateSubnetCidrBlockRequest { /** * @public - *

          The ID of the snapshot.

          + *

          The association ID for the CIDR block.

          */ - SnapshotId?: string; + AssociationId: string | undefined; +} +/** + * @public + */ +export interface DisassociateSubnetCidrBlockResult { /** * @public - *

          The Availability Zone.

          + *

          Information about the IPv6 CIDR block association.

          */ - AvailabilityZone?: string; + Ipv6CidrBlockAssociation?: SubnetIpv6CidrBlockAssociation; /** * @public - *

          The state of fast snapshot restores.

          + *

          The ID of the subnet.

          */ - State?: FastSnapshotRestoreStateCode; + SubnetId?: string; +} +/** + * @public + */ +export interface DisassociateTransitGatewayMulticastDomainRequest { /** * @public - *

          The reason for the state transition. The possible values are as follows:

          - *
            - *
          • - *

            - * Client.UserInitiated - The state successfully transitioned to enabling or - * disabling.

            - *
          • - *
          • - *

            - * Client.UserInitiated - Lifecycle state transition - The state successfully transitioned - * to optimizing, enabled, or disabled.

            - *
          • - *
          + *

          The ID of the transit gateway multicast domain.

          */ - StateTransitionReason?: string; + TransitGatewayMulticastDomainId: string | undefined; /** * @public - *

          The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

          + *

          The ID of the attachment.

          */ - OwnerId?: string; + TransitGatewayAttachmentId: string | undefined; /** * @public - *

          The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

          + *

          The IDs of the subnets;

          */ - OwnerAlias?: string; + SubnetIds: string[] | undefined; /** * @public - *

          The time at which fast snapshot restores entered the enabling state.

          + *

          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.

          */ - EnablingTime?: Date; + DryRun?: boolean; +} +/** + * @public + */ +export interface DisassociateTransitGatewayMulticastDomainResult { /** * @public - *

          The time at which fast snapshot restores entered the optimizing state.

          + *

          Information about the association.

          */ - OptimizingTime?: Date; + Associations?: TransitGatewayMulticastDomainAssociations; +} +/** + * @public + */ +export interface DisassociateTransitGatewayPolicyTableRequest { /** * @public - *

          The time at which fast snapshot restores entered the enabled state.

          + *

          The ID of the disassociated policy table.

          */ - EnabledTime?: Date; + TransitGatewayPolicyTableId: string | undefined; /** * @public - *

          The time at which fast snapshot restores entered the disabling state.

          + *

          The ID of the transit gateway attachment to disassociate from the policy table.

          */ - DisablingTime?: Date; + TransitGatewayAttachmentId: string | undefined; /** * @public - *

          The time at which fast snapshot restores entered the disabled state.

          + *

          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.

          */ - DisabledTime?: Date; + DryRun?: boolean; } /** * @public - *

          Describes an error that occurred when enabling fast snapshot restores.

          */ -export interface EnableFastSnapshotRestoreStateError { - /** - * @public - *

          The error code.

          - */ - Code?: string; - +export interface DisassociateTransitGatewayPolicyTableResult { /** * @public - *

          The error message.

          + *

          Returns details about the transit gateway policy table disassociation.

          */ - Message?: string; + Association?: TransitGatewayPolicyTableAssociation; } /** * @public - *

          Contains information about an error that occurred when enabling fast snapshot restores.

          */ -export interface EnableFastSnapshotRestoreStateErrorItem { +export interface DisassociateTransitGatewayRouteTableRequest { /** * @public - *

          The Availability Zone.

          + *

          The ID of the transit gateway route table.

          */ - AvailabilityZone?: string; + TransitGatewayRouteTableId: string | undefined; /** * @public - *

          The error.

          + *

          The ID of the attachment.

          */ - Error?: EnableFastSnapshotRestoreStateError; -} + TransitGatewayAttachmentId: string | undefined; -/** - * @public - *

          Contains information about the errors that occurred when enabling fast snapshot restores.

          - */ -export interface EnableFastSnapshotRestoreErrorItem { /** * @public - *

          The ID of the snapshot.

          + *

          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.

          */ - SnapshotId?: string; + DryRun?: boolean; +} +/** + * @public + */ +export interface DisassociateTransitGatewayRouteTableResult { /** * @public - *

          The errors.

          + *

          Information about the association.

          */ - FastSnapshotRestoreStateErrors?: EnableFastSnapshotRestoreStateErrorItem[]; + Association?: TransitGatewayAssociation; } /** * @public */ -export interface EnableFastSnapshotRestoresResult { +export interface DisassociateTrunkInterfaceRequest { /** * @public - *

          Information about the snapshots for which fast snapshot restores were successfully enabled.

          + *

          The ID of the association

          */ - Successful?: EnableFastSnapshotRestoreSuccessItem[]; + AssociationId: string | undefined; /** * @public - *

          Information about the snapshots for which fast snapshot restores could not be enabled.

          + *

          Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see How to Ensure + * Idempotency.

          */ - Unsuccessful?: EnableFastSnapshotRestoreErrorItem[]; + ClientToken?: string; + + /** + * @public + *

          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.

          + */ + DryRun?: boolean; } /** * @public */ -export interface EnableImageRequest { +export interface DisassociateTrunkInterfaceResult { /** * @public - *

          The ID of the AMI.

          + *

          Returns true if the request succeeds; otherwise, it returns an error.

          */ - ImageId: string | undefined; + Return?: boolean; /** * @public - *

          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.

          + *

          Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see How to Ensure + * Idempotency.

          */ - DryRun?: boolean; + ClientToken?: string; } /** * @public */ -export interface EnableImageResult { +export interface DisassociateVpcCidrBlockRequest { /** * @public - *

          Returns true if the request succeeds; otherwise, it returns an error.

          + *

          The association ID for the CIDR block.

          */ - Return?: boolean; + AssociationId: string | undefined; } /** * @public - * @enum */ -export const ImageBlockPublicAccessEnabledState = { - block_new_sharing: "block-new-sharing", -} as const; +export interface DisassociateVpcCidrBlockResult { + /** + * @public + *

          Information about the IPv6 CIDR block association.

          + */ + Ipv6CidrBlockAssociation?: VpcIpv6CidrBlockAssociation; -/** - * @public - */ -export type ImageBlockPublicAccessEnabledState = - (typeof ImageBlockPublicAccessEnabledState)[keyof typeof ImageBlockPublicAccessEnabledState]; + /** + * @public + *

          Information about the IPv4 CIDR block association.

          + */ + CidrBlockAssociation?: VpcCidrBlockAssociation; + + /** + * @public + *

          The ID of the VPC.

          + */ + VpcId?: string; +} /** * @public */ -export interface EnableImageBlockPublicAccessRequest { +export interface EnableAddressTransferRequest { + /** + * @public + *

          The allocation ID of an Elastic IP address.

          + */ + AllocationId: string | undefined; + /** * @public - *

          Specify block-new-sharing to enable block public access for AMIs at the - * account level in the specified Region. This will block any attempt to publicly share your AMIs - * in the specified Region.

          + *

          The ID of the account that you want to transfer the Elastic IP address to.

          */ - ImageBlockPublicAccessState: ImageBlockPublicAccessEnabledState | undefined; + TransferAccountId: string | undefined; /** * @public *

          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.

          + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; } @@ -5149,90 +5423,66 @@ export interface EnableImageBlockPublicAccessRequest { /** * @public */ -export interface EnableImageBlockPublicAccessResult { +export interface EnableAddressTransferResult { /** * @public - *

          Returns block-new-sharing if the request succeeds; otherwise, it returns an - * error.

          + *

          An Elastic IP address transfer.

          */ - ImageBlockPublicAccessState?: ImageBlockPublicAccessEnabledState; + AddressTransfer?: AddressTransfer; } /** * @public */ -export interface EnableImageDeprecationRequest { +export interface EnableAwsNetworkPerformanceMetricSubscriptionRequest { /** * @public - *

          The ID of the AMI.

          + *

          The source Region or Availability Zone that the metric subscription is enabled for. For example, us-east-1.

          */ - ImageId: string | undefined; + Source?: string; /** * @public - *

          The date and time to deprecate the AMI, in UTC, in the following format: - * YYYY-MM-DDTHH:MM:SSZ. - * If you specify a value for seconds, Amazon EC2 rounds the seconds to the - * nearest minute.

          - *

          You can’t specify a date in the past. The upper limit for DeprecateAt is 10 - * years from now, except for public AMIs, where the upper limit is 2 years from the creation date.

          + *

          The target Region or Availability Zone that the metric subscription is enabled for. For example, eu-west-1.

          */ - DeprecateAt: Date | undefined; + Destination?: string; /** * @public - *

          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.

          + *

          The metric used for the enabled subscription.

          */ - DryRun?: boolean; -} + Metric?: MetricType; -/** - * @public - */ -export interface EnableImageDeprecationResult { /** * @public - *

          Returns true if the request succeeds; otherwise, it returns an error.

          + *

          The statistic used for the enabled subscription.

          */ - Return?: boolean; -} + Statistic?: StatisticType; -/** - * @public - */ -export interface EnableIpamOrganizationAdminAccountRequest { /** * @public - *

          A check for whether you have the required permissions for the action without actually making the request + *

          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.

          */ DryRun?: boolean; - - /** - * @public - *

          The Organizations member account ID that you want to enable as the IPAM account.

          - */ - DelegatedAdminAccountId: string | undefined; } /** * @public */ -export interface EnableIpamOrganizationAdminAccountResult { +export interface EnableAwsNetworkPerformanceMetricSubscriptionResult { /** * @public - *

          The result of enabling the IPAM account.

          + *

          Indicates whether the subscribe action was successful.

          */ - Success?: boolean; + Output?: boolean; } /** * @public */ -export interface EnableReachabilityAnalyzerOrganizationSharingRequest { +export interface EnableEbsEncryptionByDefaultRequest { /** * @public *

          Checks whether you have the required permissions for the action, without actually making the request, @@ -5245,77 +5495,102 @@ export interface EnableReachabilityAnalyzerOrganizationSharingRequest { /** * @public */ -export interface EnableReachabilityAnalyzerOrganizationSharingResult { +export interface EnableEbsEncryptionByDefaultResult { /** * @public - *

          Returns true if the request succeeds; otherwise, returns an error.

          + *

          The updated status of encryption by default.

          */ - ReturnValue?: boolean; + EbsEncryptionByDefault?: boolean; } /** * @public + *

          Request to create a launch template for a Windows fast launch enabled AMI.

          + * + *

          Note - You can specify either the LaunchTemplateName or the + * LaunchTemplateId, but not both.

          + *
          */ -export interface EnableSerialConsoleAccessRequest { +export interface FastLaunchLaunchTemplateSpecificationRequest { /** * @public - *

          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.

          + *

          Specify the ID of the launch template that the AMI should use for Windows fast launch.

          */ - DryRun?: boolean; + LaunchTemplateId?: string; + + /** + * @public + *

          Specify the name of the launch template that the AMI should use for Windows fast launch.

          + */ + LaunchTemplateName?: string; + + /** + * @public + *

          Specify the version of the launch template that the AMI should use for Windows fast launch.

          + */ + Version: string | undefined; } /** * @public + *

          Configuration settings for creating and managing pre-provisioned snapshots for a Windows fast launch + * enabled AMI.

          */ -export interface EnableSerialConsoleAccessResult { +export interface FastLaunchSnapshotConfigurationRequest { /** * @public - *

          If true, access to the EC2 serial console of all instances is enabled for - * your account. If false, access to the EC2 serial console of all instances - * is disabled for your account.

          + *

          The number of pre-provisioned snapshots to keep on hand for a Windows fast launch + * enabled AMI.

          */ - SerialConsoleAccessEnabled?: boolean; + TargetResourceCount?: number; } /** * @public */ -export interface EnableSnapshotBlockPublicAccessRequest { +export interface EnableFastLaunchRequest { /** * @public - *

          The mode in which to enable block public access for snapshots for the Region. - * Specify one of the following values:

          - *
            - *
          • - *

            - * block-all-sharing - Prevents all public sharing of snapshots in - * the Region. Users in the account will no longer be able to request new public - * sharing. Additionally, snapshots that are already publicly shared are treated as - * private and they are no longer publicly available.

            - * - *

            If you enable block public access for snapshots in block-all-sharing - * mode, it does not change the permissions for snapshots that are already publicly shared. - * Instead, it prevents these snapshots from be publicly visible and publicly accessible. - * Therefore, the attributes for these snapshots still indicate that they are publicly - * shared, even though they are not publicly available.

            - *
            - *
          • - *
          • - *

            - * block-new-sharing - Prevents only new public sharing of snapshots - * in the Region. Users in the account will no longer be able to request new public - * sharing. However, snapshots that are already publicly shared, remain publicly - * available.

            - *
          • - *
          + *

          Specify the ID of the image for which to enable Windows fast launch.

          */ - State: SnapshotBlockPublicAccessState | undefined; + ImageId: string | undefined; + + /** + * @public + *

          The type of resource to use for pre-provisioning the AMI for Windows fast launch. + * Supported values include: snapshot, which is the default value.

          + */ + ResourceType?: string; + + /** + * @public + *

          Configuration settings for creating and managing the snapshots that are used for + * pre-provisioning the AMI for Windows fast launch. The associated ResourceType + * must be snapshot.

          + */ + SnapshotConfiguration?: FastLaunchSnapshotConfigurationRequest; + + /** + * @public + *

          The launch template to use when launching Windows instances from pre-provisioned + * snapshots. Launch template parameters can include either the name or ID of the launch + * template, but not both.

          + */ + LaunchTemplate?: FastLaunchLaunchTemplateSpecificationRequest; + + /** + * @public + *

          The maximum number of instances that Amazon EC2 can launch at the same time to create + * pre-provisioned snapshots for Windows fast launch. Value must be + * 6 or greater.

          + */ + MaxParallelLaunches?: number; /** * @public *

          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.

          + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; } @@ -5323,92 +5598,82 @@ export interface EnableSnapshotBlockPublicAccessRequest { /** * @public */ -export interface EnableSnapshotBlockPublicAccessResult { +export interface EnableFastLaunchResult { /** * @public - *

          The state of block public access for snapshots for the account and Region. Returns - * either block-all-sharing or block-new-sharing if the request - * succeeds.

          + *

          The image ID that identifies the AMI for which Windows fast launch was enabled.

          */ - State?: SnapshotBlockPublicAccessState; -} + ImageId?: string; -/** - * @public - */ -export interface EnableTransitGatewayRouteTablePropagationRequest { /** * @public - *

          The ID of the propagation route table.

          + *

          The type of resource that was defined for pre-provisioning the AMI for Windows fast launch.

          */ - TransitGatewayRouteTableId: string | undefined; + ResourceType?: FastLaunchResourceType; /** * @public - *

          The ID of the attachment.

          + *

          Settings to create and manage the pre-provisioned snapshots that Amazon EC2 uses for faster + * launches from the Windows AMI. This property is returned when the associated + * resourceType is snapshot.

          */ - TransitGatewayAttachmentId?: string; + SnapshotConfiguration?: FastLaunchSnapshotConfigurationResponse; /** * @public - *

          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.

          + *

          The launch template that is used when launching Windows instances from pre-provisioned snapshots.

          */ - DryRun?: boolean; + LaunchTemplate?: FastLaunchLaunchTemplateSpecificationResponse; /** * @public - *

          The ID of the transit gateway route table announcement.

          + *

          The maximum number of instances that Amazon EC2 can launch at the same time to + * create pre-provisioned snapshots for Windows fast launch.

          */ - TransitGatewayRouteTableAnnouncementId?: string; -} + MaxParallelLaunches?: number; -/** - * @public - */ -export interface EnableTransitGatewayRouteTablePropagationResult { /** * @public - *

          Information about route propagation.

          + *

          The owner ID for the AMI for which Windows fast launch was enabled.

          */ - Propagation?: TransitGatewayPropagation; -} + OwnerId?: string; -/** - * @public - *

          Contains the parameters for EnableVgwRoutePropagation.

          - */ -export interface EnableVgwRoutePropagationRequest { /** * @public - *

          The ID of the virtual private gateway that is attached to a VPC. The virtual private - * gateway must be attached to the same VPC that the routing tables are associated with. - *

          + *

          The current state of Windows fast launch for the specified AMI.

          */ - GatewayId: string | undefined; + State?: FastLaunchStateCode; /** * @public - *

          The ID of the route table. The routing table must be associated with the same VPC that - * the virtual private gateway is attached to.

          + *

          The reason that the state changed for Windows fast launch for the AMI.

          */ - RouteTableId: string | undefined; + StateTransitionReason?: string; /** * @public - *

          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.

          + *

          The time that the state changed for Windows fast launch for the AMI.

          */ - DryRun?: boolean; + StateTransitionTime?: Date; } /** * @public */ -export interface EnableVolumeIORequest { +export interface EnableFastSnapshotRestoresRequest { + /** + * @public + *

          One or more Availability Zones. For example, us-east-2a.

          + */ + AvailabilityZones: string[] | undefined; + + /** + * @public + *

          The IDs of one or more snapshots. For example, snap-1234567890abcdef0. You can specify + * a snapshot that was shared with you from another Amazon Web Services account.

          + */ + SourceSnapshotIds: string[] | undefined; + /** * @public *

          Checks whether you have the required permissions for the action, without actually making the request, @@ -5416,362 +5681,392 @@ export interface EnableVolumeIORequest { * Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; - - /** - * @public - *

          The ID of the volume.

          - */ - VolumeId: string | undefined; } /** * @public + *

          Describes fast snapshot restores that were successfully enabled.

          */ -export interface EnableVpcClassicLinkRequest { +export interface EnableFastSnapshotRestoreSuccessItem { /** * @public - *

          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.

          + *

          The ID of the snapshot.

          */ - DryRun?: boolean; + SnapshotId?: string; /** * @public - *

          The ID of the VPC.

          + *

          The Availability Zone.

          */ - VpcId: string | undefined; -} + AvailabilityZone?: string; -/** - * @public - */ -export interface EnableVpcClassicLinkResult { /** * @public - *

          Returns true if the request succeeds; otherwise, it returns an error.

          + *

          The state of fast snapshot restores.

          */ - Return?: boolean; -} + State?: FastSnapshotRestoreStateCode; -/** - * @public - */ -export interface EnableVpcClassicLinkDnsSupportRequest { /** * @public - *

          The ID of the VPC.

          + *

          The reason for the state transition. The possible values are as follows:

          + *
            + *
          • + *

            + * Client.UserInitiated - The state successfully transitioned to enabling or + * disabling.

            + *
          • + *
          • + *

            + * Client.UserInitiated - Lifecycle state transition - The state successfully transitioned + * to optimizing, enabled, or disabled.

            + *
          • + *
          */ - VpcId?: string; -} + StateTransitionReason?: string; -/** - * @public - */ -export interface EnableVpcClassicLinkDnsSupportResult { /** * @public - *

          Returns true if the request succeeds; otherwise, it returns an error.

          + *

          The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

          */ - Return?: boolean; -} + OwnerId?: string; -/** - * @public - */ -export interface ExportClientVpnClientCertificateRevocationListRequest { /** * @public - *

          The ID of the Client VPN endpoint.

          + *

          The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

          */ - ClientVpnEndpointId: string | undefined; + OwnerAlias?: string; /** * @public - *

          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.

          + *

          The time at which fast snapshot restores entered the enabling state.

          */ - DryRun?: boolean; -} - -/** - * @public - * @enum - */ -export const ClientCertificateRevocationListStatusCode = { - active: "active", - pending: "pending", -} as const; - -/** - * @public - */ -export type ClientCertificateRevocationListStatusCode = - (typeof ClientCertificateRevocationListStatusCode)[keyof typeof ClientCertificateRevocationListStatusCode]; + EnablingTime?: Date; -/** - * @public - *

          Describes the state of a client certificate revocation list.

          - */ -export interface ClientCertificateRevocationListStatus { /** * @public - *

          The state of the client certificate revocation list.

          + *

          The time at which fast snapshot restores entered the optimizing state.

          */ - Code?: ClientCertificateRevocationListStatusCode; + OptimizingTime?: Date; /** * @public - *

          A message about the status of the client certificate revocation list, if applicable.

          + *

          The time at which fast snapshot restores entered the enabled state.

          */ - Message?: string; -} + EnabledTime?: Date; -/** - * @public - */ -export interface ExportClientVpnClientCertificateRevocationListResult { /** * @public - *

          Information about the client certificate revocation list.

          + *

          The time at which fast snapshot restores entered the disabling state.

          */ - CertificateRevocationList?: string; + DisablingTime?: Date; /** * @public - *

          The current state of the client certificate revocation list.

          + *

          The time at which fast snapshot restores entered the disabled state.

          */ - Status?: ClientCertificateRevocationListStatus; + DisabledTime?: Date; } /** * @public + *

          Describes an error that occurred when enabling fast snapshot restores.

          */ -export interface ExportClientVpnClientConfigurationRequest { +export interface EnableFastSnapshotRestoreStateError { /** * @public - *

          The ID of the Client VPN endpoint.

          + *

          The error code.

          */ - ClientVpnEndpointId: string | undefined; + Code?: string; /** * @public - *

          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.

          + *

          The error message.

          */ - DryRun?: boolean; + Message?: string; } /** * @public + *

          Contains information about an error that occurred when enabling fast snapshot restores.

          */ -export interface ExportClientVpnClientConfigurationResult { +export interface EnableFastSnapshotRestoreStateErrorItem { /** * @public - *

          The contents of the Client VPN endpoint configuration file.

          + *

          The Availability Zone.

          */ - ClientConfiguration?: string; + AvailabilityZone?: string; + + /** + * @public + *

          The error.

          + */ + Error?: EnableFastSnapshotRestoreStateError; } /** * @public - *

          Describes the destination for an export image task.

          + *

          Contains information about the errors that occurred when enabling fast snapshot restores.

          */ -export interface ExportTaskS3LocationRequest { +export interface EnableFastSnapshotRestoreErrorItem { /** * @public - *

          The destination Amazon S3 bucket.

          + *

          The ID of the snapshot.

          */ - S3Bucket: string | undefined; + SnapshotId?: string; /** * @public - *

          The prefix (logical hierarchy) in the bucket.

          + *

          The errors.

          */ - S3Prefix?: string; + FastSnapshotRestoreStateErrors?: EnableFastSnapshotRestoreStateErrorItem[]; } /** * @public */ -export interface ExportImageRequest { +export interface EnableFastSnapshotRestoresResult { /** * @public - *

          Token to enable idempotency for export image requests.

          + *

          Information about the snapshots for which fast snapshot restores were successfully enabled.

          */ - ClientToken?: string; + Successful?: EnableFastSnapshotRestoreSuccessItem[]; /** * @public - *

          A description of the image being exported. The maximum length is 255 characters.

          + *

          Information about the snapshots for which fast snapshot restores could not be enabled.

          */ - Description?: string; + Unsuccessful?: EnableFastSnapshotRestoreErrorItem[]; +} +/** + * @public + */ +export interface EnableImageRequest { /** * @public - *

          The disk image format.

          + *

          The ID of the AMI.

          */ - DiskImageFormat: DiskImageFormat | undefined; + ImageId: string | undefined; /** * @public *

          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.

          + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; +} +/** + * @public + */ +export interface EnableImageResult { /** * @public - *

          The ID of the image.

          + *

          Returns true if the request succeeds; otherwise, it returns an error.

          */ - ImageId: string | undefined; + Return?: boolean; +} + +/** + * @public + * @enum + */ +export const ImageBlockPublicAccessEnabledState = { + block_new_sharing: "block-new-sharing", +} as const; +/** + * @public + */ +export type ImageBlockPublicAccessEnabledState = + (typeof ImageBlockPublicAccessEnabledState)[keyof typeof ImageBlockPublicAccessEnabledState]; + +/** + * @public + */ +export interface EnableImageBlockPublicAccessRequest { /** * @public - *

          The Amazon S3 bucket for the destination image. The destination bucket must exist.

          + *

          Specify block-new-sharing to enable block public access for AMIs at the + * account level in the specified Region. This will block any attempt to publicly share your AMIs + * in the specified Region.

          */ - S3ExportLocation: ExportTaskS3LocationRequest | undefined; + ImageBlockPublicAccessState: ImageBlockPublicAccessEnabledState | undefined; /** * @public - *

          The name of the role that grants VM Import/Export permission to export images to your Amazon - * S3 bucket. If this parameter is not specified, the default role is named 'vmimport'.

          + *

          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.

          */ - RoleName?: string; + DryRun?: boolean; +} +/** + * @public + */ +export interface EnableImageBlockPublicAccessResult { /** * @public - *

          The tags to apply to the export image task during creation.

          + *

          Returns block-new-sharing if the request succeeds; otherwise, it returns an + * error.

          */ - TagSpecifications?: TagSpecification[]; + ImageBlockPublicAccessState?: ImageBlockPublicAccessEnabledState; } /** * @public */ -export interface ExportImageResult { +export interface EnableImageDeprecationRequest { /** * @public - *

          A description of the image being exported.

          + *

          The ID of the AMI.

          */ - Description?: string; + ImageId: string | undefined; /** * @public - *

          The disk image format for the exported image.

          + *

          The date and time to deprecate the AMI, in UTC, in the following format: + * YYYY-MM-DDTHH:MM:SSZ. + * If you specify a value for seconds, Amazon EC2 rounds the seconds to the + * nearest minute.

          + *

          You can’t specify a date in the past. The upper limit for DeprecateAt is 10 + * years from now, except for public AMIs, where the upper limit is 2 years from the creation date.

          */ - DiskImageFormat?: DiskImageFormat; + DeprecateAt: Date | undefined; /** * @public - *

          The ID of the export image task.

          + *

          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.

          */ - ExportImageTaskId?: string; + DryRun?: boolean; +} +/** + * @public + */ +export interface EnableImageDeprecationResult { /** * @public - *

          The ID of the image.

          + *

          Returns true if the request succeeds; otherwise, it returns an error.

          */ - ImageId?: string; + Return?: boolean; +} +/** + * @public + */ +export interface EnableIpamOrganizationAdminAccountRequest { /** * @public - *

          The name of the role that grants VM Import/Export permission to export images to your Amazon - * S3 bucket.

          + *

          A check for 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.

          */ - RoleName?: string; + DryRun?: boolean; /** * @public - *

          The percent complete of the export image task.

          + *

          The Organizations member account ID that you want to enable as the IPAM account.

          */ - Progress?: string; + DelegatedAdminAccountId: string | undefined; +} +/** + * @public + */ +export interface EnableIpamOrganizationAdminAccountResult { /** * @public - *

          Information about the destination Amazon S3 bucket.

          + *

          The result of enabling the IPAM account.

          */ - S3ExportLocation?: ExportTaskS3Location; + Success?: boolean; +} +/** + * @public + */ +export interface EnableReachabilityAnalyzerOrganizationSharingRequest { /** * @public - *

          The status of the export image task. The possible values are active, completed, - * deleting, and deleted.

          + *

          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.

          */ - Status?: string; + DryRun?: boolean; +} +/** + * @public + */ +export interface EnableReachabilityAnalyzerOrganizationSharingResult { /** * @public - *

          The status message for the export image task.

          + *

          Returns true if the request succeeds; otherwise, returns an error.

          */ - StatusMessage?: string; + ReturnValue?: boolean; +} +/** + * @public + */ +export interface EnableSerialConsoleAccessRequest { /** * @public - *

          Any tags assigned to the export image task.

          + *

          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.

          */ - Tags?: Tag[]; + DryRun?: boolean; } /** * @public */ -export interface ExportTransitGatewayRoutesRequest { +export interface EnableSerialConsoleAccessResult { /** * @public - *

          The ID of the route table.

          + *

          If true, access to the EC2 serial console of all instances is enabled for + * your account. If false, access to the EC2 serial console of all instances + * is disabled for your account.

          */ - TransitGatewayRouteTableId: string | undefined; + SerialConsoleAccessEnabled?: boolean; +} +/** + * @public + */ +export interface EnableSnapshotBlockPublicAccessRequest { /** * @public - *

          One or more filters. The possible values are:

          + *

          The mode in which to enable block public access for snapshots for the Region. + * Specify one of the following values:

          *
            *
          • *

            - * attachment.transit-gateway-attachment-id - The id of the transit gateway attachment.

            - *
          • - *
          • - *

            - * attachment.resource-id - The resource id of the transit gateway attachment.

            - *
          • - *
          • - *

            - * route-search.exact-match - The exact match of the specified filter.

            - *
          • - *
          • - *

            - * route-search.longest-prefix-match - The longest prefix that matches the route.

            - *
          • - *
          • - *

            - * route-search.subnet-of-match - The routes with a subnet that match the specified CIDR filter.

            - *
          • - *
          • - *

            - * route-search.supernet-of-match - The routes with a CIDR that encompass the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29.

            - *
          • - *
          • - *

            - * state - The state of the route (active | blackhole).

            - *
          • - *
          • - *

            - * transit-gateway-route-destination-cidr-block - The CIDR range.

            + * block-all-sharing - Prevents all public sharing of snapshots in + * the Region. Users in the account will no longer be able to request new public + * sharing. Additionally, snapshots that are already publicly shared are treated as + * private and they are no longer publicly available.

            + * + *

            If you enable block public access for snapshots in block-all-sharing + * mode, it does not change the permissions for snapshots that are already publicly shared. + * Instead, it prevents these snapshots from be publicly visible and publicly accessible. + * Therefore, the attributes for these snapshots still indicate that they are publicly + * shared, even though they are not publicly available.

            + *
            *
          • *
          • *

            - * type - The type of route (propagated | - * static).

            + * block-new-sharing - Prevents only new public sharing of snapshots + * in the Region. Users in the account will no longer be able to request new public + * sharing. However, snapshots that are already publicly shared, remain publicly + * available.

            *
          • *
          */ - Filters?: Filter[]; - - /** - * @public - *

          The name of the S3 bucket.

          - */ - S3Bucket: string | undefined; + State: SnapshotBlockPublicAccessState | undefined; /** * @public @@ -5785,472 +6080,445 @@ export interface ExportTransitGatewayRoutesRequest { /** * @public */ -export interface ExportTransitGatewayRoutesResult { - /** - * @public - *

          The URL of the exported file in Amazon S3. For example, - * s3://bucket_name/VPCTransitGateway/TransitGatewayRouteTables/file_name.

          - */ - S3Location?: string; -} - -/** - * @public - */ -export interface GetAssociatedEnclaveCertificateIamRolesRequest { - /** - * @public - *

          The ARN of the ACM certificate for which to view the associated IAM roles, encryption keys, and Amazon - * S3 object information.

          - */ - CertificateArn: string | undefined; - +export interface EnableSnapshotBlockPublicAccessResult { /** * @public - *

          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.

          + *

          The state of block public access for snapshots for the account and Region. Returns + * either block-all-sharing or block-new-sharing if the request + * succeeds.

          */ - DryRun?: boolean; + State?: SnapshotBlockPublicAccessState; } /** * @public - *

          Information about the associated IAM roles.

          */ -export interface AssociatedRole { +export interface EnableTransitGatewayRouteTablePropagationRequest { /** * @public - *

          The ARN of the associated IAM role.

          + *

          The ID of the propagation route table.

          */ - AssociatedRoleArn?: string; + TransitGatewayRouteTableId: string | undefined; /** * @public - *

          The name of the Amazon S3 bucket in which the Amazon S3 object is stored.

          + *

          The ID of the attachment.

          */ - CertificateS3BucketName?: string; + TransitGatewayAttachmentId?: string; /** * @public - *

          The key of the Amazon S3 object ey where the certificate, certificate chain, and encrypted private key bundle - * is stored. The object key is formated as follows: role_arn/certificate_arn. - *

          + *

          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.

          */ - CertificateS3ObjectKey?: string; + DryRun?: boolean; /** * @public - *

          The ID of the KMS customer master key (CMK) used to encrypt the private key.

          + *

          The ID of the transit gateway route table announcement.

          */ - EncryptionKmsKeyId?: string; + TransitGatewayRouteTableAnnouncementId?: string; } /** * @public */ -export interface GetAssociatedEnclaveCertificateIamRolesResult { +export interface EnableTransitGatewayRouteTablePropagationResult { /** * @public - *

          Information about the associated IAM roles.

          + *

          Information about route propagation.

          */ - AssociatedRoles?: AssociatedRole[]; + Propagation?: TransitGatewayPropagation; } /** * @public + *

          Contains the parameters for EnableVgwRoutePropagation.

          */ -export interface GetAssociatedIpv6PoolCidrsRequest { - /** - * @public - *

          The ID of the IPv6 address pool.

          - */ - PoolId: string | undefined; - +export interface EnableVgwRoutePropagationRequest { /** * @public - *

          The token for the next page of results.

          + *

          The ID of the virtual private gateway that is attached to a VPC. The virtual private + * gateway must be attached to the same VPC that the routing tables are associated with. + *

          */ - NextToken?: string; + GatewayId: string | undefined; /** * @public - *

          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

          + *

          The ID of the route table. The routing table must be associated with the same VPC that + * the virtual private gateway is attached to.

          */ - MaxResults?: number; + RouteTableId: string | undefined; /** * @public - *

          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.

          + *

          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.

          */ DryRun?: boolean; } /** * @public - *

          Describes an IPv6 CIDR block association.

          */ -export interface Ipv6CidrAssociation { +export interface EnableVolumeIORequest { /** * @public - *

          The IPv6 CIDR block.

          + *

          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.

          */ - Ipv6Cidr?: string; + DryRun?: boolean; /** * @public - *

          The resource that's associated with the IPv6 CIDR block.

          + *

          The ID of the volume.

          */ - AssociatedResource?: string; + VolumeId: string | undefined; } /** * @public */ -export interface GetAssociatedIpv6PoolCidrsResult { +export interface EnableVpcClassicLinkRequest { /** * @public - *

          Information about the IPv6 CIDR block associations.

          + *

          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.

          */ - Ipv6CidrAssociations?: Ipv6CidrAssociation[]; + DryRun?: boolean; /** * @public - *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          + *

          The ID of the VPC.

          */ - NextToken?: string; + VpcId: string | undefined; } /** * @public - *

          A query used for retrieving network health data.

          */ -export interface DataQuery { - /** - * @public - *

          A user-defined ID associated with a data query that's returned in the dataResponse identifying the query. For example, if you set the Id to MyQuery01in the query, the dataResponse identifies the query as MyQuery01.

          - */ - Id?: string; - +export interface EnableVpcClassicLinkResult { /** * @public - *

          The Region or Availability Zone that's the source for the data query. For example, us-east-1.

          + *

          Returns true if the request succeeds; otherwise, it returns an error.

          */ - Source?: string; + Return?: boolean; +} +/** + * @public + */ +export interface EnableVpcClassicLinkDnsSupportRequest { /** * @public - *

          The Region or Availability Zone that's the target for the data query. For example, eu-north-1.

          + *

          The ID of the VPC.

          */ - Destination?: string; + VpcId?: string; +} +/** + * @public + */ +export interface EnableVpcClassicLinkDnsSupportResult { /** * @public - *

          The metric, aggregation-latency, indicating that network latency is aggregated for the query. This is the only supported metric.

          + *

          Returns true if the request succeeds; otherwise, it returns an error.

          */ - Metric?: MetricType; + Return?: boolean; +} +/** + * @public + */ +export interface ExportClientVpnClientCertificateRevocationListRequest { /** * @public - *

          The metric data aggregation period, p50, between the specified startDate and endDate. For example, a metric of five_minutes is the median of all the data points gathered within those five minutes. p50 is the only supported metric.

          + *

          The ID of the Client VPN endpoint.

          */ - Statistic?: StatisticType; + ClientVpnEndpointId: string | undefined; /** * @public - *

          The aggregation period used for the data query.

          + *

          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.

          */ - Period?: PeriodType; + DryRun?: boolean; } /** * @public + * @enum */ -export interface GetAwsNetworkPerformanceDataRequest { +export const ClientCertificateRevocationListStatusCode = { + active: "active", + pending: "pending", +} as const; + +/** + * @public + */ +export type ClientCertificateRevocationListStatusCode = + (typeof ClientCertificateRevocationListStatusCode)[keyof typeof ClientCertificateRevocationListStatusCode]; + +/** + * @public + *

          Describes the state of a client certificate revocation list.

          + */ +export interface ClientCertificateRevocationListStatus { /** * @public - *

          A list of network performance data queries.

          + *

          The state of the client certificate revocation list.

          */ - DataQueries?: DataQuery[]; + Code?: ClientCertificateRevocationListStatusCode; /** * @public - *

          The starting time for the performance data request. The starting time must be formatted - * as yyyy-mm-ddThh:mm:ss. For example, 2022-06-10T12:00:00.000Z.

          + *

          A message about the status of the client certificate revocation list, if applicable.

          */ - StartTime?: Date; + Message?: string; +} +/** + * @public + */ +export interface ExportClientVpnClientCertificateRevocationListResult { /** * @public - *

          The ending time for the performance data request. The end time must be formatted as yyyy-mm-ddThh:mm:ss. For example, 2022-06-12T12:00:00.000Z.

          + *

          Information about the client certificate revocation list.

          */ - EndTime?: Date; + CertificateRevocationList?: string; /** * @public - *

          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

          + *

          The current state of the client certificate revocation list.

          */ - MaxResults?: number; + Status?: ClientCertificateRevocationListStatus; +} +/** + * @public + */ +export interface ExportClientVpnClientConfigurationRequest { /** * @public - *

          The token for the next page of results.

          + *

          The ID of the Client VPN endpoint.

          */ - NextToken?: string; + ClientVpnEndpointId: string | undefined; /** * @public - *

          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.

          + *

          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.

          */ DryRun?: boolean; } /** * @public - *

          Indicates whether the network was healthy or degraded at a particular point. The value is aggregated from the startDate to the endDate. Currently only five_minutes is supported.

          */ -export interface MetricPoint { +export interface ExportClientVpnClientConfigurationResult { /** * @public - *

          The start date for the metric point. The starting date for the metric point. The starting time must be formatted - * as yyyy-mm-ddThh:mm:ss. For example, 2022-06-10T12:00:00.000Z.

          + *

          The contents of the Client VPN endpoint configuration file.

          */ - StartDate?: Date; + ClientConfiguration?: string; +} +/** + * @public + *

          Describes the destination for an export image task.

          + */ +export interface ExportTaskS3LocationRequest { /** * @public - *

          The end date for the metric point. The ending time must be formatted as yyyy-mm-ddThh:mm:ss. For example, 2022-06-12T12:00:00.000Z.

          + *

          The destination Amazon S3 bucket.

          */ - EndDate?: Date; + S3Bucket: string | undefined; - Value?: number; /** * @public - *

          The status of the metric point.

          + *

          The prefix (logical hierarchy) in the bucket.

          */ - Status?: string; + S3Prefix?: string; } /** * @public - *

          The response to a DataQuery.

          */ -export interface DataResponse { - /** - * @public - *

          The ID passed in the DataQuery.

          - */ - Id?: string; - +export interface ExportImageRequest { /** * @public - *

          The Region or Availability Zone that's the source for the data query. For example, us-east-1.

          + *

          Token to enable idempotency for export image requests.

          */ - Source?: string; + ClientToken?: string; /** * @public - *

          The Region or Availability Zone that's the destination for the data query. For example, eu-west-1.

          + *

          A description of the image being exported. The maximum length is 255 characters.

          */ - Destination?: string; + Description?: string; /** * @public - *

          The metric used for the network performance request. Only aggregate-latency is supported, which shows network latency during a specified period.

          + *

          The disk image format.

          */ - Metric?: MetricType; + DiskImageFormat: DiskImageFormat | undefined; /** * @public - *

          The statistic used for the network performance request.

          + *

          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.

          */ - Statistic?: StatisticType; + DryRun?: boolean; /** * @public - *

          The period used for the network performance request.

          + *

          The ID of the image.

          */ - Period?: PeriodType; + ImageId: string | undefined; /** * @public - *

          A list of MetricPoint objects.

          + *

          The Amazon S3 bucket for the destination image. The destination bucket must exist.

          */ - MetricPoints?: MetricPoint[]; -} + S3ExportLocation: ExportTaskS3LocationRequest | undefined; -/** - * @public - */ -export interface GetAwsNetworkPerformanceDataResult { /** * @public - *

          The list of data responses.

          + *

          The name of the role that grants VM Import/Export permission to export images to your Amazon + * S3 bucket. If this parameter is not specified, the default role is named 'vmimport'.

          */ - DataResponses?: DataResponse[]; + RoleName?: string; /** * @public - *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          + *

          The tags to apply to the export image task during creation.

          */ - NextToken?: string; + TagSpecifications?: TagSpecification[]; } /** * @public */ -export interface GetCapacityReservationUsageRequest { +export interface ExportImageResult { /** * @public - *

          The ID of the Capacity Reservation.

          + *

          A description of the image being exported.

          */ - CapacityReservationId: string | undefined; + Description?: string; /** * @public - *

          The token to use to retrieve the next page of results.

          + *

          The disk image format for the exported image.

          */ - NextToken?: string; + DiskImageFormat?: DiskImageFormat; /** * @public - *

          The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

          - *

          Valid range: Minimum value of 1. Maximum value of 1000.

          + *

          The ID of the export image task.

          */ - MaxResults?: number; + ExportImageTaskId?: string; /** * @public - *

          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.

          + *

          The ID of the image.

          */ - DryRun?: boolean; -} + ImageId?: string; -/** - * @public - *

          Information about the Capacity Reservation usage.

          - */ -export interface InstanceUsage { /** * @public - *

          The ID of the Amazon Web Services account that is making use of the Capacity Reservation.

          + *

          The name of the role that grants VM Import/Export permission to export images to your Amazon + * S3 bucket.

          */ - AccountId?: string; + RoleName?: string; /** * @public - *

          The number of instances the Amazon Web Services account currently has in the Capacity Reservation.

          + *

          The percent complete of the export image task.

          */ - UsedInstanceCount?: number; -} + Progress?: string; -/** - * @public - */ -export interface GetCapacityReservationUsageResult { /** * @public - *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          + *

          Information about the destination Amazon S3 bucket.

          */ - NextToken?: string; + S3ExportLocation?: ExportTaskS3Location; /** * @public - *

          The ID of the Capacity Reservation.

          + *

          The status of the export image task. The possible values are active, completed, + * deleting, and deleted.

          */ - CapacityReservationId?: string; + Status?: string; /** * @public - *

          The type of instance for which the Capacity Reservation reserves capacity.

          + *

          The status message for the export image task.

          */ - InstanceType?: string; + StatusMessage?: string; /** * @public - *

          The number of instances for which the Capacity Reservation reserves capacity.

          + *

          Any tags assigned to the export image task.

          */ - TotalInstanceCount?: number; + Tags?: Tag[]; +} +/** + * @public + */ +export interface ExportTransitGatewayRoutesRequest { /** * @public - *

          The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

          + *

          The ID of the route table.

          */ - AvailableInstanceCount?: number; + TransitGatewayRouteTableId: string | undefined; /** * @public - *

          The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

          + *

          One or more filters. The possible values are:

          *
            *
          • *

            - * active - The Capacity Reservation is active and the capacity is available for your use.

            - *
          • - *
          • - *

            - * expired - The Capacity Reservation expired automatically at the date and time specified - * in your request. The reserved capacity is no longer available for your use.

            + * attachment.transit-gateway-attachment-id - The id of the transit gateway attachment.

            *
          • *
          • *

            - * cancelled - The Capacity Reservation was cancelled. The reserved capacity is no - * longer available for your use.

            + * attachment.resource-id - The resource id of the transit gateway attachment.

            *
          • *
          • *

            - * pending - The Capacity Reservation request was successful but the capacity - * provisioning is still pending.

            + * route-search.exact-match - The exact match of the specified filter.

            *
          • *
          • *

            - * failed - The Capacity Reservation request has failed. A request might fail - * due to invalid request parameters, capacity constraints, or instance limit constraints. - * Failed requests are retained for 60 minutes.

            + * route-search.longest-prefix-match - The longest prefix that matches the route.

            *
          • - *
          - */ - State?: CapacityReservationState; - - /** - * @public - *

          Information about the Capacity Reservation usage.

          - */ - InstanceUsages?: InstanceUsage[]; -} - -/** - * @public - */ -export interface GetCoipPoolUsageRequest { - /** - * @public - *

          The ID of the address pool.

          - */ - PoolId: string | undefined; - - /** - * @public - *

          One or more filters.

          - *
            *
          • *

            - * coip-address-usage.allocation-id - The allocation ID of the address.

            + * route-search.subnet-of-match - The routes with a subnet that match the specified CIDR filter.

            *
          • *
          • *

            - * coip-address-usage.aws-account-id - The ID of the Amazon Web Services account that is using the customer-owned IP address.

            + * route-search.supernet-of-match - The routes with a CIDR that encompass the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29.

            *
          • *
          • *

            - * coip-address-usage.aws-service - The Amazon Web Services service that is using the customer-owned IP address.

            + * state - The state of the route (active | blackhole).

            *
          • *
          • *

            - * coip-address-usage.co-ip - The customer-owned IP address.

            + * transit-gateway-route-destination-cidr-block - The CIDR range.

            + *
          • + *
          • + *

            + * type - The type of route (propagated | + * static).

            *
          • *
          */ @@ -6258,16 +6526,9 @@ export interface GetCoipPoolUsageRequest { /** * @public - *

          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

          - */ - MaxResults?: number; - - /** - * @public - *

          The token for the next page of results.

          + *

          The name of the S3 bucket.

          */ - NextToken?: string; + S3Bucket: string | undefined; /** * @public @@ -6280,117 +6541,100 @@ export interface GetCoipPoolUsageRequest { /** * @public - *

          Describes address usage for a customer-owned address pool.

          */ -export interface CoipAddressUsage { - /** - * @public - *

          The allocation ID of the address.

          - */ - AllocationId?: string; - +export interface ExportTransitGatewayRoutesResult { /** * @public - *

          The Amazon Web Services account ID.

          + *

          The URL of the exported file in Amazon S3. For example, + * s3://bucket_name/VPCTransitGateway/TransitGatewayRouteTables/file_name.

          */ - AwsAccountId?: string; + S3Location?: string; +} +/** + * @public + */ +export interface GetAssociatedEnclaveCertificateIamRolesRequest { /** * @public - *

          The Amazon Web Services service.

          + *

          The ARN of the ACM certificate for which to view the associated IAM roles, encryption keys, and Amazon + * S3 object information.

          */ - AwsService?: string; + CertificateArn: string | undefined; /** * @public - *

          The customer-owned IP address.

          + *

          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.

          */ - CoIp?: string; + DryRun?: boolean; } /** * @public + *

          Information about the associated IAM roles.

          */ -export interface GetCoipPoolUsageResult { +export interface AssociatedRole { /** * @public - *

          The ID of the customer-owned address pool.

          + *

          The ARN of the associated IAM role.

          */ - CoipPoolId?: string; + AssociatedRoleArn?: string; /** * @public - *

          Information about the address usage.

          + *

          The name of the Amazon S3 bucket in which the Amazon S3 object is stored.

          */ - CoipAddressUsages?: CoipAddressUsage[]; + CertificateS3BucketName?: string; /** * @public - *

          The ID of the local gateway route table.

          + *

          The key of the Amazon S3 object ey where the certificate, certificate chain, and encrypted private key bundle + * is stored. The object key is formated as follows: role_arn/certificate_arn. + *

          */ - LocalGatewayRouteTableId?: string; + CertificateS3ObjectKey?: string; /** * @public - *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          + *

          The ID of the KMS customer master key (CMK) used to encrypt the private key.

          */ - NextToken?: string; + EncryptionKmsKeyId?: string; } /** * @public */ -export interface GetConsoleOutputRequest { - /** - * @public - *

          The ID of the instance.

          - */ - InstanceId: string | undefined; - - /** - * @public - *

          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.

          - */ - DryRun?: boolean; - +export interface GetAssociatedEnclaveCertificateIamRolesResult { /** * @public - *

          When enabled, retrieves the latest console output for the instance.

          - *

          Default: disabled (false)

          + *

          Information about the associated IAM roles.

          */ - Latest?: boolean; + AssociatedRoles?: AssociatedRole[]; } /** * @public */ -export interface GetConsoleOutputResult { +export interface GetAssociatedIpv6PoolCidrsRequest { /** * @public - *

          The ID of the instance.

          + *

          The ID of the IPv6 address pool.

          */ - InstanceId?: string; + PoolId: string | undefined; /** * @public - *

          The console output, base64-encoded. If you are using a command line tool, the tool - * decodes the output for you.

          + *

          The token for the next page of results.

          */ - Output?: string; + NextToken?: string; /** * @public - *

          The time at which the output was last updated.

          + *

          The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

          */ - Timestamp?: Date; -} + MaxResults?: number; -/** - * @public - */ -export interface GetConsoleScreenshotRequest { /** * @public *

          Checks whether you have the required permissions for the action, without actually making the request, @@ -6398,221 +6642,121 @@ export interface GetConsoleScreenshotRequest { * Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; - - /** - * @public - *

          The ID of the instance.

          - */ - InstanceId: string | undefined; - - /** - * @public - *

          When set to true, acts as keystroke input and wakes up an instance that's - * in standby or "sleep" mode.

          - */ - WakeUp?: boolean; } /** * @public + *

          Describes an IPv6 CIDR block association.

          */ -export interface GetConsoleScreenshotResult { - /** - * @public - *

          The data that comprises the image.

          - */ - ImageData?: string; - - /** - * @public - *

          The ID of the instance.

          - */ - InstanceId?: string; -} - -/** - * @public - * @enum - */ -export const UnlimitedSupportedInstanceFamily = { - t2: "t2", - t3: "t3", - t3a: "t3a", - t4g: "t4g", -} as const; - -/** - * @public - */ -export type UnlimitedSupportedInstanceFamily = - (typeof UnlimitedSupportedInstanceFamily)[keyof typeof UnlimitedSupportedInstanceFamily]; - -/** - * @public - */ -export interface GetDefaultCreditSpecificationRequest { +export interface Ipv6CidrAssociation { /** * @public - *

          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.

          + *

          The IPv6 CIDR block.

          */ - DryRun?: boolean; + Ipv6Cidr?: string; /** * @public - *

          The instance family.

          + *

          The resource that's associated with the IPv6 CIDR block.

          */ - InstanceFamily: UnlimitedSupportedInstanceFamily | undefined; + AssociatedResource?: string; } /** * @public - *

          Describes the default credit option for CPU usage of a burstable performance instance - * family.

          */ -export interface InstanceFamilyCreditSpecification { +export interface GetAssociatedIpv6PoolCidrsResult { /** * @public - *

          The instance family.

          + *

          Information about the IPv6 CIDR block associations.

          */ - InstanceFamily?: UnlimitedSupportedInstanceFamily; + Ipv6CidrAssociations?: Ipv6CidrAssociation[]; /** * @public - *

          The default credit option for CPU usage of the instance family. Valid values are - * standard and unlimited.

          + *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          */ - CpuCredits?: string; + NextToken?: string; } /** * @public + *

          A query used for retrieving network health data.

          */ -export interface GetDefaultCreditSpecificationResult { +export interface DataQuery { /** * @public - *

          The default credit option for CPU usage of the instance family.

          + *

          A user-defined ID associated with a data query that's returned in the dataResponse identifying the query. For example, if you set the Id to MyQuery01in the query, the dataResponse identifies the query as MyQuery01.

          */ - InstanceFamilyCreditSpecification?: InstanceFamilyCreditSpecification; -} + Id?: string; -/** - * @public - */ -export interface GetEbsDefaultKmsKeyIdRequest { /** * @public - *

          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.

          + *

          The Region or Availability Zone that's the source for the data query. For example, us-east-1.

          */ - DryRun?: boolean; -} + Source?: string; -/** - * @public - */ -export interface GetEbsDefaultKmsKeyIdResult { /** * @public - *

          The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

          + *

          The Region or Availability Zone that's the target for the data query. For example, eu-north-1.

          */ - KmsKeyId?: string; -} + Destination?: string; -/** - * @public - */ -export interface GetEbsEncryptionByDefaultRequest { /** * @public - *

          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.

          + *

          The metric, aggregation-latency, indicating that network latency is aggregated for the query. This is the only supported metric.

          */ - DryRun?: boolean; -} + Metric?: MetricType; -/** - * @public - */ -export interface GetEbsEncryptionByDefaultResult { /** * @public - *

          Indicates whether encryption by default is enabled.

          + *

          The metric data aggregation period, p50, between the specified startDate and endDate. For example, a metric of five_minutes is the median of all the data points gathered within those five minutes. p50 is the only supported metric.

          */ - EbsEncryptionByDefault?: boolean; + Statistic?: StatisticType; /** * @public - *

          Reserved for future use.

          + *

          The aggregation period used for the data query.

          */ - SseType?: SSEType; -} - -/** - * @public - * @enum - */ -export const PartitionLoadFrequency = { - DAILY: "daily", - MONTHLY: "monthly", - NONE: "none", - WEEKLY: "weekly", -} as const; - -/** - * @public - */ -export type PartitionLoadFrequency = (typeof PartitionLoadFrequency)[keyof typeof PartitionLoadFrequency]; + Period?: PeriodType; +} /** * @public - *

          Describes integration options for Amazon Athena.

          */ -export interface AthenaIntegration { +export interface GetAwsNetworkPerformanceDataRequest { /** * @public - *

          The location in Amazon S3 to store the generated CloudFormation template.

          + *

          A list of network performance data queries.

          */ - IntegrationResultS3DestinationArn: string | undefined; + DataQueries?: DataQuery[]; /** * @public - *

          The schedule for adding new partitions to the table.

          + *

          The starting time for the performance data request. The starting time must be formatted + * as yyyy-mm-ddThh:mm:ss. For example, 2022-06-10T12:00:00.000Z.

          */ - PartitionLoadFrequency: PartitionLoadFrequency | undefined; + StartTime?: Date; /** * @public - *

          The start date for the partition.

          + *

          The ending time for the performance data request. The end time must be formatted as yyyy-mm-ddThh:mm:ss. For example, 2022-06-12T12:00:00.000Z.

          */ - PartitionStartDate?: Date; + EndTime?: Date; /** * @public - *

          The end date for the partition.

          + *

          The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

          */ - PartitionEndDate?: Date; -} + MaxResults?: number; -/** - * @public - *

          Describes service integrations with VPC Flow logs.

          - */ -export interface IntegrateServices { /** * @public - *

          Information about the integration with Amazon Athena.

          + *

          The token for the next page of results.

          */ - AthenaIntegrations?: AthenaIntegration[]; -} + NextToken?: string; -/** - * @public - */ -export interface GetFlowLogsIntegrationTemplateRequest { /** * @public *

          Checks whether you have the required permissions for the action, without actually making the request, @@ -6620,317 +6764,332 @@ export interface GetFlowLogsIntegrationTemplateRequest { * Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; +} +/** + * @public + *

          Indicates whether the network was healthy or degraded at a particular point. The value is aggregated from the startDate to the endDate. Currently only five_minutes is supported.

          + */ +export interface MetricPoint { /** * @public - *

          The ID of the flow log.

          + *

          The start date for the metric point. The starting date for the metric point. The starting time must be formatted + * as yyyy-mm-ddThh:mm:ss. For example, 2022-06-10T12:00:00.000Z.

          */ - FlowLogId: string | undefined; + StartDate?: Date; /** * @public - *

          To store the CloudFormation template in Amazon S3, specify the location in Amazon S3.

          + *

          The end date for the metric point. The ending time must be formatted as yyyy-mm-ddThh:mm:ss. For example, 2022-06-12T12:00:00.000Z.

          */ - ConfigDeliveryS3DestinationArn: string | undefined; + EndDate?: Date; + Value?: number; /** * @public - *

          Information about the service integration.

          + *

          The status of the metric point.

          */ - IntegrateServices: IntegrateServices | undefined; + Status?: string; } /** * @public + *

          The response to a DataQuery.

          */ -export interface GetFlowLogsIntegrationTemplateResult { +export interface DataResponse { /** * @public - *

          The generated CloudFormation template.

          + *

          The ID passed in the DataQuery.

          */ - Result?: string; -} + Id?: string; -/** - * @public - */ -export interface GetGroupsForCapacityReservationRequest { /** * @public - *

          The ID of the Capacity Reservation. If you specify a Capacity Reservation that is shared - * with you, the operation returns only Capacity Reservation groups that you own.

          + *

          The Region or Availability Zone that's the source for the data query. For example, us-east-1.

          */ - CapacityReservationId: string | undefined; + Source?: string; /** * @public - *

          The token to use to retrieve the next page of results.

          + *

          The Region or Availability Zone that's the destination for the data query. For example, eu-west-1.

          */ - NextToken?: string; + Destination?: string; /** * @public - *

          The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

          + *

          The metric used for the network performance request. Only aggregate-latency is supported, which shows network latency during a specified period.

          */ - MaxResults?: number; + Metric?: MetricType; /** * @public - *

          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.

          + *

          The statistic used for the network performance request.

          */ - DryRun?: boolean; -} + Statistic?: StatisticType; -/** - * @public - *

          Describes a resource group to which a Capacity Reservation has been added.

          - */ -export interface CapacityReservationGroup { /** * @public - *

          The ARN of the resource group.

          + *

          The period used for the network performance request.

          */ - GroupArn?: string; + Period?: PeriodType; /** * @public - *

          The ID of the Amazon Web Services account that owns the resource group.

          + *

          A list of MetricPoint objects.

          */ - OwnerId?: string; + MetricPoints?: MetricPoint[]; } /** * @public */ -export interface GetGroupsForCapacityReservationResult { +export interface GetAwsNetworkPerformanceDataResult { /** * @public - *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          + *

          The list of data responses.

          */ - NextToken?: string; + DataResponses?: DataResponse[]; /** * @public - *

          Information about the resource groups to which the Capacity Reservation has been added.

          + *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          */ - CapacityReservationGroups?: CapacityReservationGroup[]; + NextToken?: string; } /** * @public */ -export interface GetHostReservationPurchasePreviewRequest { - /** - * @public - *

          The IDs of the Dedicated Hosts with which the reservation is associated.

          - */ - HostIdSet: string[] | undefined; - +export interface GetCapacityReservationUsageRequest { /** * @public - *

          The offering ID of the reservation.

          + *

          The ID of the Capacity Reservation.

          */ - OfferingId: string | undefined; -} + CapacityReservationId: string | undefined; -/** - * @public - *

          Describes the result of the purchase.

          - */ -export interface Purchase { /** * @public - *

          The currency in which the UpfrontPrice and HourlyPrice - * amounts are specified. At this time, the only supported currency is - * USD.

          + *

          The token to use to retrieve the next page of results.

          */ - CurrencyCode?: CurrencyCodeValues; + NextToken?: string; /** * @public - *

          The duration of the reservation's term in seconds.

          + *

          The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

          + *

          Valid range: Minimum value of 1. Maximum value of 1000.

          */ - Duration?: number; + MaxResults?: number; /** * @public - *

          The IDs of the Dedicated Hosts associated with the reservation.

          + *

          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.

          */ - HostIdSet?: string[]; + DryRun?: boolean; +} +/** + * @public + *

          Information about the Capacity Reservation usage.

          + */ +export interface InstanceUsage { /** * @public - *

          The ID of the reservation.

          + *

          The ID of the Amazon Web Services account that is making use of the Capacity Reservation.

          */ - HostReservationId?: string; + AccountId?: string; /** * @public - *

          The hourly price of the reservation per hour.

          + *

          The number of instances the Amazon Web Services account currently has in the Capacity Reservation.

          */ - HourlyPrice?: string; + UsedInstanceCount?: number; +} +/** + * @public + */ +export interface GetCapacityReservationUsageResult { /** * @public - *

          The instance family on the Dedicated Host that the reservation can be associated - * with.

          + *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          */ - InstanceFamily?: string; + NextToken?: string; /** * @public - *

          The payment option for the reservation.

          + *

          The ID of the Capacity Reservation.

          */ - PaymentOption?: PaymentOption; + CapacityReservationId?: string; /** * @public - *

          The upfront price of the reservation.

          + *

          The type of instance for which the Capacity Reservation reserves capacity.

          */ - UpfrontPrice?: string; -} + InstanceType?: string; -/** - * @public - */ -export interface GetHostReservationPurchasePreviewResult { /** * @public - *

          The currency in which the totalUpfrontPrice and - * totalHourlyPrice amounts are specified. At this time, the only - * supported currency is USD.

          + *

          The number of instances for which the Capacity Reservation reserves capacity.

          */ - CurrencyCode?: CurrencyCodeValues; + TotalInstanceCount?: number; /** * @public - *

          The purchase information of the Dedicated Host reservation and the Dedicated Hosts - * associated with it.

          + *

          The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

          */ - Purchase?: Purchase[]; + AvailableInstanceCount?: number; /** * @public - *

          The potential total hourly price of the reservation per hour.

          + *

          The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

          + *
            + *
          • + *

            + * active - The Capacity Reservation is active and the capacity is available for your use.

            + *
          • + *
          • + *

            + * expired - The Capacity Reservation expired automatically at the date and time specified + * in your request. The reserved capacity is no longer available for your use.

            + *
          • + *
          • + *

            + * cancelled - The Capacity Reservation was cancelled. The reserved capacity is no + * longer available for your use.

            + *
          • + *
          • + *

            + * pending - The Capacity Reservation request was successful but the capacity + * provisioning is still pending.

            + *
          • + *
          • + *

            + * failed - The Capacity Reservation request has failed. A request might fail + * due to invalid request parameters, capacity constraints, or instance limit constraints. + * Failed requests are retained for 60 minutes.

            + *
          • + *
          */ - TotalHourlyPrice?: string; + State?: CapacityReservationState; /** * @public - *

          The potential total upfront price. This is billed immediately.

          + *

          Information about the Capacity Reservation usage.

          */ - TotalUpfrontPrice?: string; + InstanceUsages?: InstanceUsage[]; } /** * @public */ -export interface GetImageBlockPublicAccessStateRequest { +export interface GetCoipPoolUsageRequest { /** * @public - *

          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.

          + *

          The ID of the address pool.

          */ - DryRun?: boolean; -} + PoolId: string | undefined; -/** - * @public - */ -export interface GetImageBlockPublicAccessStateResult { /** * @public - *

          The current state of block public access for AMIs at the account level in the specified - * Amazon Web Services Region.

          - *

          Possible values:

          + *

          One or more filters.

          *
            *
          • *

            - * block-new-sharing - Any attempt to publicly share your AMIs in the - * specified Region is blocked.

            + * coip-address-usage.allocation-id - The allocation ID of the address.

            *
          • *
          • *

            - * unblocked - Your AMIs in the specified Region can be publicly - * shared.

            + * coip-address-usage.aws-account-id - The ID of the Amazon Web Services account that is using the customer-owned IP address.

            + *
          • + *
          • + *

            + * coip-address-usage.aws-service - The Amazon Web Services service that is using the customer-owned IP address.

            + *
          • + *
          • + *

            + * coip-address-usage.co-ip - The customer-owned IP address.

            *
          • *
          */ - ImageBlockPublicAccessState?: string; -} + Filters?: Filter[]; -/** - * @public - */ -export interface GetInstanceTypesFromInstanceRequirementsRequest { /** * @public - *

          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.

          + *

          The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

          */ - DryRun?: boolean; + MaxResults?: number; /** * @public - *

          The processor architecture type.

          + *

          The token for the next page of results.

          */ - ArchitectureTypes: ArchitectureType[] | undefined; + NextToken?: string; /** * @public - *

          The virtualization type.

          + *

          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.

          */ - VirtualizationTypes: VirtualizationType[] | undefined; + DryRun?: boolean; +} +/** + * @public + *

          Describes address usage for a customer-owned address pool.

          + */ +export interface CoipAddressUsage { /** * @public - *

          The attributes required for the instance types.

          + *

          The allocation ID of the address.

          */ - InstanceRequirements: InstanceRequirementsRequest | undefined; + AllocationId?: string; /** * @public - *

          The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

          + *

          The Amazon Web Services account ID.

          */ - MaxResults?: number; + AwsAccountId?: string; /** * @public - *

          The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

          + *

          The Amazon Web Services service.

          */ - NextToken?: string; -} + AwsService?: string; -/** - * @public - *

          The list of instance types with the specified instance attributes.

          - */ -export interface InstanceTypeInfoFromInstanceRequirements { /** * @public - *

          The matching instance type.

          + *

          The customer-owned IP address.

          */ - InstanceType?: string; + CoIp?: string; } /** * @public */ -export interface GetInstanceTypesFromInstanceRequirementsResult { +export interface GetCoipPoolUsageResult { /** * @public - *

          The instance types with the specified instance attributes.

          + *

          The ID of the customer-owned address pool.

          */ - InstanceTypes?: InstanceTypeInfoFromInstanceRequirements[]; + CoipPoolId?: string; /** * @public - *

          The token to include in another request to get the next page of items. This value is null when there - * are no more items to return.

          + *

          Information about the address usage.

          + */ + CoipAddressUsages?: CoipAddressUsage[]; + + /** + * @public + *

          The ID of the local gateway route table.

          + */ + LocalGatewayRouteTableId?: string; + + /** + * @public + *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          */ NextToken?: string; } @@ -6938,10 +7097,10 @@ export interface GetInstanceTypesFromInstanceRequirementsResult { /** * @public */ -export interface GetInstanceUefiDataRequest { +export interface GetConsoleOutputRequest { /** * @public - *

          The ID of the instance from which to retrieve the UEFI data.

          + *

          The ID of the instance.

          */ InstanceId: string | undefined; @@ -6952,227 +7111,268 @@ export interface GetInstanceUefiDataRequest { * Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; -} - -/** - * @public - */ -export interface GetInstanceUefiDataResult { - /** - * @public - *

          The ID of the instance from which to retrieve the UEFI data.

          - */ - InstanceId?: string; /** * @public - *

          Base64 representation of the non-volatile UEFI variable store.

          + *

          When enabled, retrieves the latest console output for the instance.

          + *

          Default: disabled (false)

          */ - UefiData?: string; + Latest?: boolean; } /** * @public */ -export interface GetIpamAddressHistoryRequest { +export interface GetConsoleOutputResult { /** * @public - *

          A check for 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.

          + *

          The ID of the instance.

          */ - DryRun?: boolean; + InstanceId?: string; /** * @public - *

          The CIDR you want the history of. The CIDR can be an IPv4 or IPv6 IP address range. - * If you enter a /16 IPv4 CIDR, you will get records that match it exactly. You will not get records for any subnets within the /16 CIDR.

          + *

          The console output, base64-encoded. If you are using a command line tool, the tool + * decodes the output for you.

          */ - Cidr: string | undefined; + Output?: string; /** * @public - *

          The ID of the IPAM scope that the CIDR is in.

          + *

          The time at which the output was last updated.

          */ - IpamScopeId: string | undefined; + Timestamp?: Date; +} +/** + * @public + */ +export interface GetConsoleScreenshotRequest { /** * @public - *

          The ID of the VPC you want your history records filtered by.

          + *

          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.

          */ - VpcId?: string; + DryRun?: boolean; /** * @public - *

          The start of the time period for which you are looking for history. If you omit this option, it will default to the value of EndTime.

          + *

          The ID of the instance.

          */ - StartTime?: Date; + InstanceId: string | undefined; /** * @public - *

          The end of the time period for which you are looking for history. If you omit this option, it will default to the current time.

          + *

          When set to true, acts as keystroke input and wakes up an instance that's + * in standby or "sleep" mode.

          */ - EndTime?: Date; + WakeUp?: boolean; +} +/** + * @public + */ +export interface GetConsoleScreenshotResult { /** * @public - *

          The maximum number of historical results you would like returned per page. Defaults to 100.

          + *

          The data that comprises the image.

          */ - MaxResults?: number; + ImageData?: string; /** * @public - *

          The token for the next page of results.

          + *

          The ID of the instance.

          */ - NextToken?: string; + InstanceId?: string; } /** * @public * @enum */ -export const IpamComplianceStatus = { - compliant: "compliant", - ignored: "ignored", - noncompliant: "noncompliant", - unmanaged: "unmanaged", +export const UnlimitedSupportedInstanceFamily = { + t2: "t2", + t3: "t3", + t3a: "t3a", + t4g: "t4g", } as const; /** * @public */ -export type IpamComplianceStatus = (typeof IpamComplianceStatus)[keyof typeof IpamComplianceStatus]; - -/** - * @public - * @enum - */ -export const IpamOverlapStatus = { - ignored: "ignored", - nonoverlapping: "nonoverlapping", - overlapping: "overlapping", -} as const; +export type UnlimitedSupportedInstanceFamily = + (typeof UnlimitedSupportedInstanceFamily)[keyof typeof UnlimitedSupportedInstanceFamily]; /** * @public */ -export type IpamOverlapStatus = (typeof IpamOverlapStatus)[keyof typeof IpamOverlapStatus]; +export interface GetDefaultCreditSpecificationRequest { + /** + * @public + *

          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.

          + */ + DryRun?: boolean; -/** - * @public - * @enum - */ -export const IpamAddressHistoryResourceType = { - eip: "eip", - instance: "instance", - network_interface: "network-interface", - subnet: "subnet", - vpc: "vpc", -} as const; + /** + * @public + *

          The instance family.

          + */ + InstanceFamily: UnlimitedSupportedInstanceFamily | undefined; +} /** * @public + *

          Describes the default credit option for CPU usage of a burstable performance instance + * family.

          */ -export type IpamAddressHistoryResourceType = - (typeof IpamAddressHistoryResourceType)[keyof typeof IpamAddressHistoryResourceType]; +export interface InstanceFamilyCreditSpecification { + /** + * @public + *

          The instance family.

          + */ + InstanceFamily?: UnlimitedSupportedInstanceFamily; -/** - * @public - *

          The historical record of a CIDR within an IPAM scope. For more information, see View the history of IP addresses in the Amazon VPC IPAM User Guide. - *

          - */ -export interface IpamAddressHistoryRecord { /** * @public - *

          The ID of the resource owner.

          + *

          The default credit option for CPU usage of the instance family. Valid values are + * standard and unlimited.

          */ - ResourceOwnerId?: string; + CpuCredits?: string; +} +/** + * @public + */ +export interface GetDefaultCreditSpecificationResult { /** * @public - *

          The Amazon Web Services Region of the resource.

          + *

          The default credit option for CPU usage of the instance family.

          */ - ResourceRegion?: string; + InstanceFamilyCreditSpecification?: InstanceFamilyCreditSpecification; +} +/** + * @public + */ +export interface GetEbsDefaultKmsKeyIdRequest { /** * @public - *

          The type of the resource.

          + *

          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.

          */ - ResourceType?: IpamAddressHistoryResourceType; + DryRun?: boolean; +} +/** + * @public + */ +export interface GetEbsDefaultKmsKeyIdResult { /** * @public - *

          The ID of the resource.

          + *

          The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

          */ - ResourceId?: string; + KmsKeyId?: string; +} +/** + * @public + */ +export interface GetEbsEncryptionByDefaultRequest { /** * @public - *

          The CIDR of the resource.

          + *

          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.

          */ - ResourceCidr?: string; + DryRun?: boolean; +} +/** + * @public + */ +export interface GetEbsEncryptionByDefaultResult { /** * @public - *

          The name of the resource.

          + *

          Indicates whether encryption by default is enabled.

          */ - ResourceName?: string; + EbsEncryptionByDefault?: boolean; /** * @public - *

          The compliance status of a resource. For more information on compliance statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

          + *

          Reserved for future use.

          */ - ResourceComplianceStatus?: IpamComplianceStatus; + SseType?: SSEType; +} + +/** + * @public + * @enum + */ +export const PartitionLoadFrequency = { + DAILY: "daily", + MONTHLY: "monthly", + NONE: "none", + WEEKLY: "weekly", +} as const; + +/** + * @public + */ +export type PartitionLoadFrequency = (typeof PartitionLoadFrequency)[keyof typeof PartitionLoadFrequency]; +/** + * @public + *

          Describes integration options for Amazon Athena.

          + */ +export interface AthenaIntegration { /** * @public - *

          The overlap status of an IPAM resource. The overlap status tells you if the CIDR for a resource overlaps with another CIDR in the scope. For more information on overlap statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

          + *

          The location in Amazon S3 to store the generated CloudFormation template.

          */ - ResourceOverlapStatus?: IpamOverlapStatus; + IntegrationResultS3DestinationArn: string | undefined; /** * @public - *

          The VPC ID of the resource.

          + *

          The schedule for adding new partitions to the table.

          */ - VpcId?: string; + PartitionLoadFrequency: PartitionLoadFrequency | undefined; /** * @public - *

          Sampled start time of the resource-to-CIDR association within the IPAM scope. Changes are picked up in periodic snapshots, so the start time may have occurred before this specific time.

          + *

          The start date for the partition.

          */ - SampledStartTime?: Date; + PartitionStartDate?: Date; /** * @public - *

          Sampled end time of the resource-to-CIDR association within the IPAM scope. Changes are picked up in periodic snapshots, so the end time may have occurred before this specific time.

          + *

          The end date for the partition.

          */ - SampledEndTime?: Date; + PartitionEndDate?: Date; } /** * @public + *

          Describes service integrations with VPC Flow logs.

          */ -export interface GetIpamAddressHistoryResult { - /** - * @public - *

          A historical record for a CIDR within an IPAM scope. If the CIDR is associated with an EC2 instance, you will see an object in the response for the instance and one for the network interface.

          - */ - HistoryRecords?: IpamAddressHistoryRecord[]; - +export interface IntegrateServices { /** * @public - *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          + *

          Information about the integration with Amazon Athena.

          */ - NextToken?: string; + AthenaIntegrations?: AthenaIntegration[]; } /** * @public */ -export interface GetIpamDiscoveredAccountsRequest { +export interface GetFlowLogsIntegrationTemplateRequest { /** * @public - *

          A check for whether you have the required permissions for the action without actually making the request + *

          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.

          */ @@ -7180,368 +7380,358 @@ export interface GetIpamDiscoveredAccountsRequest { /** * @public - *

          A resource discovery ID.

          - */ - IpamResourceDiscoveryId: string | undefined; - - /** - * @public - *

          The Amazon Web Services Region that the account information is returned from.

          + *

          The ID of the flow log.

          */ - DiscoveryRegion: string | undefined; + FlowLogId: string | undefined; /** * @public - *

          Discovered account filters.

          + *

          To store the CloudFormation template in Amazon S3, specify the location in Amazon S3.

          */ - Filters?: Filter[]; + ConfigDeliveryS3DestinationArn: string | undefined; /** * @public - *

          Specify the pagination token from a previous request to retrieve the next page of results.

          + *

          Information about the service integration.

          */ - NextToken?: string; + IntegrateServices: IntegrateServices | undefined; +} +/** + * @public + */ +export interface GetFlowLogsIntegrationTemplateResult { /** * @public - *

          The maximum number of discovered accounts to return in one page of results.

          + *

          The generated CloudFormation template.

          */ - MaxResults?: number; + Result?: string; } /** * @public - * @enum */ -export const IpamDiscoveryFailureCode = { - assume_role_failure: "assume-role-failure", - throttling_failure: "throttling-failure", - unauthorized_failure: "unauthorized-failure", -} as const; +export interface GetGroupsForCapacityReservationRequest { + /** + * @public + *

          The ID of the Capacity Reservation. If you specify a Capacity Reservation that is shared + * with you, the operation returns only Capacity Reservation groups that you own.

          + */ + CapacityReservationId: string | undefined; -/** - * @public - */ -export type IpamDiscoveryFailureCode = (typeof IpamDiscoveryFailureCode)[keyof typeof IpamDiscoveryFailureCode]; + /** + * @public + *

          The token to use to retrieve the next page of results.

          + */ + NextToken?: string; -/** - * @public - *

          The discovery failure reason.

          - */ -export interface IpamDiscoveryFailureReason { /** * @public - *

          The discovery failure code.

          - *
            - *
          • - *

            - * assume-role-failure - IPAM could not assume the Amazon Web Services IAM service-linked role. This could be because of any of the following:

            - *
              - *
            • - *

              SLR has not been created yet and IPAM is still creating it.

              - *
            • - *
            • - *

              You have opted-out of the IPAM home Region.

              - *
            • - *
            • - *

              Account you are using as your IPAM account has been suspended.

              - *
            • - *
            - *
          • - *
          • - *

            - * throttling-failure - IPAM account is already using the allotted transactions per second and IPAM is receiving a throttling error when assuming the Amazon Web Services IAM SLR.

            - *
          • - *
          • - *

            - * unauthorized-failure - Amazon Web Services account making the request is not authorized. For more information, see AuthFailure in the Amazon Elastic Compute Cloud API Reference.

            - *
          • - *
          + *

          The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

          */ - Code?: IpamDiscoveryFailureCode; + MaxResults?: number; /** * @public - *

          The discovery failure message.

          + *

          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.

          */ - Message?: string; + DryRun?: boolean; } /** * @public - *

          An IPAM discovered account. A discovered account is an Amazon Web Services account that is monitored under a resource discovery. If you have integrated IPAM with Amazon Web Services Organizations, all accounts in the organization are discovered accounts.

          + *

          Describes a resource group to which a Capacity Reservation has been added.

          */ -export interface IpamDiscoveredAccount { - /** - * @public - *

          The account ID.

          - */ - AccountId?: string; - +export interface CapacityReservationGroup { /** * @public - *

          The Amazon Web Services Region that the account information is returned from. - * An account can be discovered in multiple regions and will have a separate discovered account for each Region.

          + *

          The ARN of the resource group.

          */ - DiscoveryRegion?: string; + GroupArn?: string; /** * @public - *

          The resource discovery failure reason.

          + *

          The ID of the Amazon Web Services account that owns the resource group.

          */ - FailureReason?: IpamDiscoveryFailureReason; + OwnerId?: string; +} +/** + * @public + */ +export interface GetGroupsForCapacityReservationResult { /** * @public - *

          The last attempted resource discovery time.

          + *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          */ - LastAttemptedDiscoveryTime?: Date; + NextToken?: string; /** * @public - *

          The last successful resource discovery time.

          + *

          Information about the resource groups to which the Capacity Reservation has been added.

          */ - LastSuccessfulDiscoveryTime?: Date; + CapacityReservationGroups?: CapacityReservationGroup[]; } /** * @public */ -export interface GetIpamDiscoveredAccountsResult { +export interface GetHostReservationPurchasePreviewRequest { /** * @public - *

          Discovered accounts.

          + *

          The IDs of the Dedicated Hosts with which the reservation is associated.

          */ - IpamDiscoveredAccounts?: IpamDiscoveredAccount[]; + HostIdSet: string[] | undefined; /** * @public - *

          Specify the pagination token from a previous request to retrieve the next page of results.

          + *

          The offering ID of the reservation.

          */ - NextToken?: string; + OfferingId: string | undefined; } /** * @public + *

          Describes the result of the purchase.

          */ -export interface GetIpamDiscoveredResourceCidrsRequest { +export interface Purchase { /** * @public - *

          A check for 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.

          + *

          The currency in which the UpfrontPrice and HourlyPrice + * amounts are specified. At this time, the only supported currency is + * USD.

          */ - DryRun?: boolean; + CurrencyCode?: CurrencyCodeValues; /** * @public - *

          A resource discovery ID.

          + *

          The duration of the reservation's term in seconds.

          */ - IpamResourceDiscoveryId: string | undefined; + Duration?: number; /** * @public - *

          A resource Region.

          + *

          The IDs of the Dedicated Hosts associated with the reservation.

          */ - ResourceRegion: string | undefined; + HostIdSet?: string[]; /** * @public - *

          Filters.

          + *

          The ID of the reservation.

          */ - Filters?: Filter[]; + HostReservationId?: string; /** * @public - *

          Specify the pagination token from a previous request to retrieve the next page of results.

          + *

          The hourly price of the reservation per hour.

          */ - NextToken?: string; + HourlyPrice?: string; /** * @public - *

          The maximum number of discovered resource CIDRs to return in one page of results.

          + *

          The instance family on the Dedicated Host that the reservation can be associated + * with.

          */ - MaxResults?: number; -} - -/** - * @public - * @enum - */ -export const IpamResourceType = { - eip: "eip", - ipv6_pool: "ipv6-pool", - public_ipv4_pool: "public-ipv4-pool", - subnet: "subnet", - vpc: "vpc", -} as const; - -/** - * @public - */ -export type IpamResourceType = (typeof IpamResourceType)[keyof typeof IpamResourceType]; + InstanceFamily?: string; -/** - * @public - *

          An IPAM discovered resource CIDR. A discovered resource is a resource CIDR monitored under a resource discovery. The following resources can be discovered: VPCs, Public IPv4 pools, VPC subnets, and Elastic IP addresses. The discovered resource CIDR is the IP address range in CIDR notation that is associated with the resource.

          - */ -export interface IpamDiscoveredResourceCidr { /** * @public - *

          The resource discovery ID.

          + *

          The payment option for the reservation.

          */ - IpamResourceDiscoveryId?: string; + PaymentOption?: PaymentOption; /** * @public - *

          The resource Region.

          + *

          The upfront price of the reservation.

          */ - ResourceRegion?: string; + UpfrontPrice?: string; +} +/** + * @public + */ +export interface GetHostReservationPurchasePreviewResult { /** * @public - *

          The resource ID.

          + *

          The currency in which the totalUpfrontPrice and + * totalHourlyPrice amounts are specified. At this time, the only + * supported currency is USD.

          */ - ResourceId?: string; + CurrencyCode?: CurrencyCodeValues; /** * @public - *

          The resource owner ID.

          + *

          The purchase information of the Dedicated Host reservation and the Dedicated Hosts + * associated with it.

          */ - ResourceOwnerId?: string; + Purchase?: Purchase[]; /** * @public - *

          The resource CIDR.

          + *

          The potential total hourly price of the reservation per hour.

          */ - ResourceCidr?: string; + TotalHourlyPrice?: string; /** * @public - *

          The resource type.

          + *

          The potential total upfront price. This is billed immediately.

          */ - ResourceType?: IpamResourceType; + TotalUpfrontPrice?: string; +} +/** + * @public + */ +export interface GetImageBlockPublicAccessStateRequest { /** * @public - *

          The resource tags.

          + *

          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.

          */ - ResourceTags?: IpamResourceTag[]; + DryRun?: boolean; +} +/** + * @public + */ +export interface GetImageBlockPublicAccessStateResult { /** * @public - *

          The percentage of IP address space in use. To convert the decimal to a percentage, multiply the decimal by 100. Note the following:

          + *

          The current state of block public access for AMIs at the account level in the specified + * Amazon Web Services Region.

          + *

          Possible values:

          *
            *
          • - *

            For resources that are VPCs, this is the percentage of IP address space in the VPC that's taken up by subnet CIDRs. - *

            - *
          • - *
          • - *

            For resources that are subnets, if the subnet has an IPv4 CIDR provisioned to it, this is the percentage of IPv4 address space in the subnet that's in use. If the subnet has an IPv6 CIDR provisioned to it, the percentage of IPv6 address space in use is not represented. The percentage of IPv6 address space in use cannot currently be calculated. - *

            + *

            + * block-new-sharing - Any attempt to publicly share your AMIs in the + * specified Region is blocked.

            *
          • *
          • - *

            For resources that are public IPv4 pools, this is the percentage of IP address space in the pool that's been allocated to Elastic IP addresses (EIPs). - *

            + *

            + * unblocked - Your AMIs in the specified Region can be publicly + * shared.

            *
          • *
          */ - IpUsage?: number; + ImageBlockPublicAccessState?: string; +} +/** + * @public + */ +export interface GetInstanceTypesFromInstanceRequirementsRequest { /** * @public - *

          The VPC ID.

          + *

          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.

          */ - VpcId?: string; + DryRun?: boolean; /** * @public - *

          The last successful resource discovery time.

          + *

          The processor architecture type.

          */ - SampleTime?: Date; -} + ArchitectureTypes: ArchitectureType[] | undefined; -/** - * @public - */ -export interface GetIpamDiscoveredResourceCidrsResult { /** * @public - *

          Discovered resource CIDRs.

          + *

          The virtualization type.

          */ - IpamDiscoveredResourceCidrs?: IpamDiscoveredResourceCidr[]; + VirtualizationTypes: VirtualizationType[] | undefined; /** * @public - *

          Specify the pagination token from a previous request to retrieve the next page of results.

          + *

          The attributes required for the instance types.

          + */ + InstanceRequirements: InstanceRequirementsRequest | undefined; + + /** + * @public + *

          The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

          + */ + MaxResults?: number; + + /** + * @public + *

          The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

          */ NextToken?: string; } /** * @public + *

          The list of instance types with the specified instance attributes.

          */ -export interface GetIpamPoolAllocationsRequest { - /** - * @public - *

          A check for 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.

          - */ - DryRun?: boolean; - +export interface InstanceTypeInfoFromInstanceRequirements { /** * @public - *

          The ID of the IPAM pool you want to see the allocations for.

          + *

          The matching instance type.

          */ - IpamPoolId: string | undefined; + InstanceType?: string; +} +/** + * @public + */ +export interface GetInstanceTypesFromInstanceRequirementsResult { /** * @public - *

          The ID of the allocation.

          + *

          The instance types with the specified instance attributes.

          */ - IpamPoolAllocationId?: string; + InstanceTypes?: InstanceTypeInfoFromInstanceRequirements[]; /** * @public - *

          One or more filters for the request. For more information about filtering, see Filtering CLI output.

          + *

          The token to include in another request to get the next page of items. This value is null when there + * are no more items to return.

          */ - Filters?: Filter[]; + NextToken?: string; +} +/** + * @public + */ +export interface GetInstanceUefiDataRequest { /** * @public - *

          The maximum number of results you would like returned per page.

          + *

          The ID of the instance from which to retrieve the UEFI data.

          */ - MaxResults?: number; + InstanceId: string | undefined; /** * @public - *

          The token for the next page of results.

          + *

          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.

          */ - NextToken?: string; + DryRun?: boolean; } /** * @public */ -export interface GetIpamPoolAllocationsResult { +export interface GetInstanceUefiDataResult { /** * @public - *

          The IPAM pool allocations you want information on.

          + *

          The ID of the instance from which to retrieve the UEFI data.

          */ - IpamPoolAllocations?: IpamPoolAllocation[]; + InstanceId?: string; /** * @public - *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          + *

          Base64 representation of the non-volatile UEFI variable store.

          */ - NextToken?: string; + UefiData?: string; } /** * @public */ -export interface GetIpamPoolCidrsRequest { +export interface GetIpamAddressHistoryRequest { /** * @public *

          A check for whether you have the required permissions for the action without actually making the request @@ -7552,293 +7742,349 @@ export interface GetIpamPoolCidrsRequest { /** * @public - *

          The ID of the IPAM pool you want the CIDR for.

          + *

          The CIDR you want the history of. The CIDR can be an IPv4 or IPv6 IP address range. + * If you enter a /16 IPv4 CIDR, you will get records that match it exactly. You will not get records for any subnets within the /16 CIDR.

          */ - IpamPoolId: string | undefined; + Cidr: string | undefined; /** * @public - *

          One or more filters for the request. For more information about filtering, see Filtering CLI output.

          + *

          The ID of the IPAM scope that the CIDR is in.

          */ - Filters?: Filter[]; + IpamScopeId: string | undefined; /** * @public - *

          The maximum number of results to return in the request.

          + *

          The ID of the VPC you want your history records filtered by.

          */ - MaxResults?: number; + VpcId?: string; /** * @public - *

          The token for the next page of results.

          + *

          The start of the time period for which you are looking for history. If you omit this option, it will default to the value of EndTime.

          */ - NextToken?: string; -} + StartTime?: Date; -/** - * @public - */ -export interface GetIpamPoolCidrsResult { /** * @public - *

          Information about the CIDRs provisioned to an IPAM pool.

          + *

          The end of the time period for which you are looking for history. If you omit this option, it will default to the current time.

          */ - IpamPoolCidrs?: IpamPoolCidr[]; + EndTime?: Date; /** * @public - *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          + *

          The maximum number of historical results you would like returned per page. Defaults to 100.

          + */ + MaxResults?: number; + + /** + * @public + *

          The token for the next page of results.

          */ NextToken?: string; } /** * @public + * @enum + */ +export const IpamComplianceStatus = { + compliant: "compliant", + ignored: "ignored", + noncompliant: "noncompliant", + unmanaged: "unmanaged", +} as const; + +/** + * @public + */ +export type IpamComplianceStatus = (typeof IpamComplianceStatus)[keyof typeof IpamComplianceStatus]; + +/** + * @public + * @enum + */ +export const IpamOverlapStatus = { + ignored: "ignored", + nonoverlapping: "nonoverlapping", + overlapping: "overlapping", +} as const; + +/** + * @public + */ +export type IpamOverlapStatus = (typeof IpamOverlapStatus)[keyof typeof IpamOverlapStatus]; + +/** + * @public + * @enum + */ +export const IpamAddressHistoryResourceType = { + eip: "eip", + instance: "instance", + network_interface: "network-interface", + subnet: "subnet", + vpc: "vpc", +} as const; + +/** + * @public + */ +export type IpamAddressHistoryResourceType = + (typeof IpamAddressHistoryResourceType)[keyof typeof IpamAddressHistoryResourceType]; + +/** + * @public + *

          The historical record of a CIDR within an IPAM scope. For more information, see View the history of IP addresses in the Amazon VPC IPAM User Guide. + *

          */ -export interface GetIpamResourceCidrsRequest { +export interface IpamAddressHistoryRecord { /** * @public - *

          A check for 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.

          + *

          The ID of the resource owner.

          + */ + ResourceOwnerId?: string; + + /** + * @public + *

          The Amazon Web Services Region of the resource.

          */ - DryRun?: boolean; + ResourceRegion?: string; /** * @public - *

          One or more filters for the request. For more information about filtering, see Filtering CLI output.

          + *

          The type of the resource.

          */ - Filters?: Filter[]; + ResourceType?: IpamAddressHistoryResourceType; /** * @public - *

          The maximum number of results to return in the request.

          + *

          The ID of the resource.

          */ - MaxResults?: number; + ResourceId?: string; /** * @public - *

          The token for the next page of results.

          + *

          The CIDR of the resource.

          */ - NextToken?: string; + ResourceCidr?: string; /** * @public - *

          The ID of the scope that the resource is in.

          + *

          The name of the resource.

          */ - IpamScopeId: string | undefined; + ResourceName?: string; /** * @public - *

          The ID of the IPAM pool that the resource is in.

          + *

          The compliance status of a resource. For more information on compliance statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

          */ - IpamPoolId?: string; + ResourceComplianceStatus?: IpamComplianceStatus; /** * @public - *

          The ID of the resource.

          + *

          The overlap status of an IPAM resource. The overlap status tells you if the CIDR for a resource overlaps with another CIDR in the scope. For more information on overlap statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

          */ - ResourceId?: string; + ResourceOverlapStatus?: IpamOverlapStatus; /** * @public - *

          The resource type.

          + *

          The VPC ID of the resource.

          */ - ResourceType?: IpamResourceType; + VpcId?: string; /** * @public - *

          The resource tag.

          + *

          Sampled start time of the resource-to-CIDR association within the IPAM scope. Changes are picked up in periodic snapshots, so the start time may have occurred before this specific time.

          */ - ResourceTag?: RequestIpamResourceTag; + SampledStartTime?: Date; /** * @public - *

          The ID of the Amazon Web Services account that owns the resource.

          + *

          Sampled end time of the resource-to-CIDR association within the IPAM scope. Changes are picked up in periodic snapshots, so the end time may have occurred before this specific time.

          */ - ResourceOwner?: string; + SampledEndTime?: Date; } /** * @public - * @enum - */ -export const IpamManagementState = { - ignored: "ignored", - managed: "managed", - unmanaged: "unmanaged", -} as const; - -/** - * @public - */ -export type IpamManagementState = (typeof IpamManagementState)[keyof typeof IpamManagementState]; - -/** - * @public - *

          The CIDR for an IPAM resource.

          */ -export interface IpamResourceCidr { +export interface GetIpamAddressHistoryResult { /** * @public - *

          The IPAM ID for an IPAM resource.

          + *

          A historical record for a CIDR within an IPAM scope. If the CIDR is associated with an EC2 instance, you will see an object in the response for the instance and one for the network interface.

          */ - IpamId?: string; + HistoryRecords?: IpamAddressHistoryRecord[]; /** * @public - *

          The scope ID for an IPAM resource.

          + *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          */ - IpamScopeId?: string; + NextToken?: string; +} +/** + * @public + */ +export interface GetIpamDiscoveredAccountsRequest { /** * @public - *

          The pool ID for an IPAM resource.

          + *

          A check for 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.

          */ - IpamPoolId?: string; + DryRun?: boolean; /** * @public - *

          The Amazon Web Services Region for an IPAM resource.

          + *

          A resource discovery ID.

          */ - ResourceRegion?: string; + IpamResourceDiscoveryId: string | undefined; /** * @public - *

          The Amazon Web Services account number of the owner of an IPAM resource.

          + *

          The Amazon Web Services Region that the account information is returned from.

          */ - ResourceOwnerId?: string; + DiscoveryRegion: string | undefined; /** * @public - *

          The ID of an IPAM resource.

          + *

          Discovered account filters.

          */ - ResourceId?: string; + Filters?: Filter[]; /** * @public - *

          The name of an IPAM resource.

          + *

          Specify the pagination token from a previous request to retrieve the next page of results.

          */ - ResourceName?: string; + NextToken?: string; /** * @public - *

          The CIDR for an IPAM resource.

          + *

          The maximum number of discovered accounts to return in one page of results.

          */ - ResourceCidr?: string; + MaxResults?: number; +} - /** - * @public - *

          The type of IPAM resource.

          - */ - ResourceType?: IpamResourceType; +/** + * @public + * @enum + */ +export const IpamDiscoveryFailureCode = { + assume_role_failure: "assume-role-failure", + throttling_failure: "throttling-failure", + unauthorized_failure: "unauthorized-failure", +} as const; - /** - * @public - *

          The tags for an IPAM resource.

          - */ - ResourceTags?: IpamResourceTag[]; +/** + * @public + */ +export type IpamDiscoveryFailureCode = (typeof IpamDiscoveryFailureCode)[keyof typeof IpamDiscoveryFailureCode]; +/** + * @public + *

          The discovery failure reason.

          + */ +export interface IpamDiscoveryFailureReason { /** * @public - *

          The percentage of IP address space in use. To convert the decimal to a percentage, multiply the decimal by 100. Note the following:

          + *

          The discovery failure code.

          *
            *
          • - *

            For resources that are VPCs, this is the percentage of IP address space in the VPC that's taken up by subnet CIDRs. - *

            + *

            + * assume-role-failure - IPAM could not assume the Amazon Web Services IAM service-linked role. This could be because of any of the following:

            + *
              + *
            • + *

              SLR has not been created yet and IPAM is still creating it.

              + *
            • + *
            • + *

              You have opted-out of the IPAM home Region.

              + *
            • + *
            • + *

              Account you are using as your IPAM account has been suspended.

              + *
            • + *
            *
          • *
          • - *

            For resources that are subnets, if the subnet has an IPv4 CIDR provisioned to it, this is the percentage of IPv4 address space in the subnet that's in use. If the subnet has an IPv6 CIDR provisioned to it, the percentage of IPv6 address space in use is not represented. The percentage of IPv6 address space in use cannot currently be calculated. - *

            + *

            + * throttling-failure - IPAM account is already using the allotted transactions per second and IPAM is receiving a throttling error when assuming the Amazon Web Services IAM SLR.

            *
          • *
          • - *

            For resources that are public IPv4 pools, this is the percentage of IP address space in the pool that's been allocated to Elastic IP addresses (EIPs). - *

            + *

            + * unauthorized-failure - Amazon Web Services account making the request is not authorized. For more information, see AuthFailure in the Amazon Elastic Compute Cloud API Reference.

            *
          • *
          */ - IpUsage?: number; + Code?: IpamDiscoveryFailureCode; /** * @public - *

          The compliance status of the IPAM resource. For more information on compliance statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

          + *

          The discovery failure message.

          */ - ComplianceStatus?: IpamComplianceStatus; + Message?: string; +} +/** + * @public + *

          An IPAM discovered account. A discovered account is an Amazon Web Services account that is monitored under a resource discovery. If you have integrated IPAM with Amazon Web Services Organizations, all accounts in the organization are discovered accounts.

          + */ +export interface IpamDiscoveredAccount { /** * @public - *

          The management state of the resource. For more information about management states, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

          + *

          The account ID.

          */ - ManagementState?: IpamManagementState; + AccountId?: string; /** * @public - *

          The overlap status of an IPAM resource. The overlap status tells you if the CIDR for a resource overlaps with another CIDR in the scope. For more information on overlap statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

          + *

          The Amazon Web Services Region that the account information is returned from. + * An account can be discovered in multiple regions and will have a separate discovered account for each Region.

          */ - OverlapStatus?: IpamOverlapStatus; + DiscoveryRegion?: string; /** * @public - *

          The ID of a VPC.

          + *

          The resource discovery failure reason.

          */ - VpcId?: string; -} + FailureReason?: IpamDiscoveryFailureReason; -/** - * @public - */ -export interface GetIpamResourceCidrsResult { /** * @public - *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          + *

          The last attempted resource discovery time.

          */ - NextToken?: string; + LastAttemptedDiscoveryTime?: Date; /** * @public - *

          The resource CIDRs.

          + *

          The last successful resource discovery time.

          */ - IpamResourceCidrs?: IpamResourceCidr[]; + LastSuccessfulDiscoveryTime?: Date; } /** * @public */ -export interface GetLaunchTemplateDataRequest { - /** - * @public - *

          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.

          - */ - DryRun?: boolean; - +export interface GetIpamDiscoveredAccountsResult { /** * @public - *

          The ID of the instance.

          + *

          Discovered accounts.

          */ - InstanceId: string | undefined; -} + IpamDiscoveredAccounts?: IpamDiscoveredAccount[]; -/** - * @public - */ -export interface GetLaunchTemplateDataResult { /** * @public - *

          The instance data.

          + *

          Specify the pagination token from a previous request to retrieve the next page of results.

          */ - LaunchTemplateData?: ResponseLaunchTemplateData; + NextToken?: string; } /** * @public */ -export interface GetManagedPrefixListAssociationsRequest { +export interface GetIpamDiscoveredPublicAddressesRequest { /** * @public - *

          Checks whether you have the required permissions for the action, without actually making the request, + *

          A check for 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.

          */ @@ -7846,575 +8092,550 @@ export interface GetManagedPrefixListAssociationsRequest { /** * @public - *

          The ID of the prefix list.

          + *

          An IPAM resource discovery ID.

          */ - PrefixListId: string | undefined; + IpamResourceDiscoveryId: string | undefined; /** * @public - *

          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

          + *

          The Amazon Web Services Region for the IP address.

          */ - MaxResults?: number; + AddressRegion: string | undefined; /** * @public - *

          The token for the next page of results.

          + *

          Filters.

          */ - NextToken?: string; -} + Filters?: Filter[]; -/** - * @public - *

          Describes the resource with which a prefix list is associated.

          - */ -export interface PrefixListAssociation { /** * @public - *

          The ID of the resource.

          + *

          The token for the next page of results.

          */ - ResourceId?: string; + NextToken?: string; /** * @public - *

          The owner of the resource.

          + *

          The maximum number of IPAM discovered public addresses to return in one page of results.

          */ - ResourceOwner?: string; + MaxResults?: number; } /** * @public + * @enum + */ +export const IpamPublicAddressType = { + AMAZON_OWNED_EIP: "amazon-owned-eip", + BYOIP: "byoip", + EC2_PUBLIC_IP: "ec2-public-ip", + SERVICE_MANAGED_BYOIP: "service-managed-byoip", + SERVICE_MANAGED_IP: "service-managed-ip", +} as const; + +/** + * @public + */ +export type IpamPublicAddressType = (typeof IpamPublicAddressType)[keyof typeof IpamPublicAddressType]; + +/** + * @public + * @enum + */ +export const IpamPublicAddressAssociationStatus = { + ASSOCIATED: "associated", + DISASSOCIATED: "disassociated", +} as const; + +/** + * @public + */ +export type IpamPublicAddressAssociationStatus = + (typeof IpamPublicAddressAssociationStatus)[keyof typeof IpamPublicAddressAssociationStatus]; + +/** + * @public + *

          The security group that the resource with the public IP address is in.

          */ -export interface GetManagedPrefixListAssociationsResult { +export interface IpamPublicAddressSecurityGroup { /** * @public - *

          Information about the associations.

          + *

          The security group's name.

          */ - PrefixListAssociations?: PrefixListAssociation[]; + GroupName?: string; /** * @public - *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          + *

          The security group's ID.

          */ - NextToken?: string; + GroupId?: string; } +/** + * @public + * @enum + */ +export const IpamPublicAddressAwsService = { + AGA: "global-accelerator", + DMS: "database-migration-service", + EC2_LB: "load-balancer", + ECS: "elastic-container-service", + NAT_GATEWAY: "nat-gateway", + OTHER: "other", + RDS: "relational-database-service", + REDSHIFT: "redshift", + S2S_VPN: "site-to-site-vpn", +} as const; + /** * @public */ -export interface GetManagedPrefixListEntriesRequest { +export type IpamPublicAddressAwsService = + (typeof IpamPublicAddressAwsService)[keyof typeof IpamPublicAddressAwsService]; + +/** + * @public + *

          A tag for a public IP address discovered by IPAM.

          + */ +export interface IpamPublicAddressTag { /** * @public - *

          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.

          + *

          The tag's key.

          */ - DryRun?: boolean; + Key?: string; /** * @public - *

          The ID of the prefix list.

          + *

          The tag's value.

          */ - PrefixListId: string | undefined; + Value?: string; +} +/** + * @public + *

          Tags for a public IP address discovered by IPAM.

          + */ +export interface IpamPublicAddressTags { /** * @public - *

          The version of the prefix list for which to return the entries. The default is the current version.

          + *

          Tags for an Elastic IP address.

          */ - TargetVersion?: number; + EipTags?: IpamPublicAddressTag[]; +} +/** + * @public + *

          A public IP Address discovered by IPAM.

          + */ +export interface IpamDiscoveredPublicAddress { /** * @public - *

          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

          + *

          The resource discovery ID.

          */ - MaxResults?: number; + IpamResourceDiscoveryId?: string; /** * @public - *

          The token for the next page of results.

          + *

          The Region of the resource the IP address is assigned to.

          */ - NextToken?: string; -} + AddressRegion?: string; -/** - * @public - *

          Describes a prefix list entry.

          - */ -export interface PrefixListEntry { /** * @public - *

          The CIDR block.

          + *

          The IP address.

          */ - Cidr?: string; + Address?: string; /** * @public - *

          The description.

          + *

          The ID of the owner of the resource the IP address is assigned to.

          */ - Description?: string; -} + AddressOwnerId?: string; -/** - * @public - */ -export interface GetManagedPrefixListEntriesResult { /** * @public - *

          Information about the prefix list entries.

          + *

          The allocation ID of the resource the IP address is assigned to.

          */ - Entries?: PrefixListEntry[]; + AddressAllocationId?: string; /** * @public - *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          + *

          The association status.

          */ - NextToken?: string; -} + AssociationStatus?: IpamPublicAddressAssociationStatus; -/** - * @public - */ -export interface GetNetworkInsightsAccessScopeAnalysisFindingsRequest { /** * @public - *

          The ID of the Network Access Scope analysis.

          + *

          The IP address type.

          */ - NetworkInsightsAccessScopeAnalysisId: string | undefined; + AddressType?: IpamPublicAddressType; /** * @public - *

          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

          + *

          The Amazon Web Services service associated with the IP address.

          */ - MaxResults?: number; + Service?: IpamPublicAddressAwsService; /** * @public - *

          The token for the next page of results.

          + *

          The resource ARN or ID.

          */ - NextToken?: string; + ServiceResource?: string; /** * @public - *

          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.

          + *

          The ID of the VPC that the resource with the assigned IP address is in.

          */ - DryRun?: boolean; -} + VpcId?: string; -/** - * @public - */ -export interface GetNetworkInsightsAccessScopeAnalysisFindingsResult { /** * @public - *

          The ID of the Network Access Scope analysis.

          + *

          The ID of the subnet that the resource with the assigned IP address is in.

          */ - NetworkInsightsAccessScopeAnalysisId?: string; + SubnetId?: string; /** * @public - *

          The status of Network Access Scope Analysis.

          + *

          The ID of the public IPv4 pool that the resource with the assigned IP address is from.

          */ - AnalysisStatus?: AnalysisStatus; + PublicIpv4PoolId?: string; /** * @public - *

          The findings associated with Network Access Scope Analysis.

          + *

          The network interface ID of the resource with the assigned IP address.

          */ - AnalysisFindings?: AccessScopeAnalysisFinding[]; + NetworkInterfaceId?: string; /** * @public - *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          + *

          The description of the network interface that IP address is assigned to.

          */ - NextToken?: string; -} + NetworkInterfaceDescription?: string; -/** - * @public - */ -export interface GetNetworkInsightsAccessScopeContentRequest { /** * @public - *

          The ID of the Network Access Scope.

          + *

          The instance ID of the instance the assigned IP address is assigned to.

          */ - NetworkInsightsAccessScopeId: string | undefined; + InstanceId?: string; /** * @public - *

          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.

          + *

          Tags associated with the IP address.

          */ - DryRun?: boolean; -} + Tags?: IpamPublicAddressTags; -/** - * @public - */ -export interface GetNetworkInsightsAccessScopeContentResult { /** * @public - *

          The Network Access Scope content.

          + *

          The network border group that the resource that the IP address is assigned to is in.

          */ - NetworkInsightsAccessScopeContent?: NetworkInsightsAccessScopeContent; -} + NetworkBorderGroup?: string; -/** - * @public - */ -export interface GetPasswordDataRequest { /** * @public - *

          The ID of the Windows instance.

          + *

          Security groups associated with the resource that the IP address is assigned to.

          */ - InstanceId: string | undefined; + SecurityGroups?: IpamPublicAddressSecurityGroup[]; /** * @public - *

          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.

          + *

          The last successful resource discovery time.

          */ - DryRun?: boolean; + SampleTime?: Date; } /** * @public */ -export interface GetPasswordDataResult { +export interface GetIpamDiscoveredPublicAddressesResult { /** * @public - *

          The ID of the Windows instance.

          + *

          IPAM discovered public addresses.

          */ - InstanceId?: string; + IpamDiscoveredPublicAddresses?: IpamDiscoveredPublicAddress[]; /** * @public - *

          The password of the instance. Returns an empty string if the password is not - * available.

          + *

          The oldest successful resource discovery time.

          */ - PasswordData?: string; + OldestSampleTime?: Date; /** * @public - *

          The time the data was last updated.

          + *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          */ - Timestamp?: Date; + NextToken?: string; } /** * @public - *

          Contains the parameters for GetReservedInstanceExchangeQuote.

          */ -export interface GetReservedInstancesExchangeQuoteRequest { +export interface GetIpamDiscoveredResourceCidrsRequest { /** * @public - *

          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.

          + *

          A check for 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.

          */ DryRun?: boolean; /** * @public - *

          The IDs of the Convertible Reserved Instances to exchange.

          + *

          A resource discovery ID.

          */ - ReservedInstanceIds: string[] | undefined; + IpamResourceDiscoveryId: string | undefined; /** * @public - *

          The configuration of the target Convertible Reserved Instance to exchange for your - * current Convertible Reserved Instances.

          + *

          A resource Region.

          */ - TargetConfigurations?: TargetConfigurationRequest[]; -} + ResourceRegion: string | undefined; -/** - * @public - *

          The cost associated with the Reserved Instance.

          - */ -export interface ReservationValue { /** * @public - *

          The hourly rate of the reservation.

          + *

          Filters.

          */ - HourlyPrice?: string; + Filters?: Filter[]; /** * @public - *

          The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice * number of hours remaining).

          + *

          Specify the pagination token from a previous request to retrieve the next page of results.

          */ - RemainingTotalValue?: string; + NextToken?: string; /** * @public - *

          The remaining upfront cost of the reservation.

          + *

          The maximum number of discovered resource CIDRs to return in one page of results.

          */ - RemainingUpfrontValue?: string; + MaxResults?: number; } /** * @public - *

          The total value of the Convertible Reserved Instance.

          + * @enum */ -export interface ReservedInstanceReservationValue { - /** - * @public - *

          The total value of the Convertible Reserved Instance that you are exchanging.

          - */ - ReservationValue?: ReservationValue; - - /** - * @public - *

          The ID of the Convertible Reserved Instance that you are exchanging.

          - */ - ReservedInstanceId?: string; -} +export const IpamResourceType = { + eip: "eip", + eni: "eni", + ipv6_pool: "ipv6-pool", + public_ipv4_pool: "public-ipv4-pool", + subnet: "subnet", + vpc: "vpc", +} as const; /** * @public - *

          Information about the Convertible Reserved Instance offering.

          */ -export interface TargetConfiguration { - /** - * @public - *

          The number of instances the Convertible Reserved Instance offering can be applied to. This parameter is - * reserved and cannot be specified in a request

          - */ - InstanceCount?: number; +export type IpamResourceType = (typeof IpamResourceType)[keyof typeof IpamResourceType]; +/** + * @public + *

          An IPAM discovered resource CIDR. A discovered resource is a resource CIDR monitored under a resource discovery. The following resources can be discovered: VPCs, Public IPv4 pools, VPC subnets, and Elastic IP addresses. The discovered resource CIDR is the IP address range in CIDR notation that is associated with the resource.

          + */ +export interface IpamDiscoveredResourceCidr { /** * @public - *

          The ID of the Convertible Reserved Instance offering.

          + *

          The resource discovery ID.

          */ - OfferingId?: string; -} + IpamResourceDiscoveryId?: string; -/** - * @public - *

          The total value of the new Convertible Reserved Instances.

          - */ -export interface TargetReservationValue { /** * @public - *

          The total value of the Convertible Reserved Instances that make up the exchange. This is the sum of - * the list value, remaining upfront price, and additional upfront cost of the exchange.

          + *

          The resource Region.

          */ - ReservationValue?: ReservationValue; + ResourceRegion?: string; /** * @public - *

          The configuration of the Convertible Reserved Instances that make up the exchange.

          + *

          The resource ID.

          */ - TargetConfiguration?: TargetConfiguration; -} + ResourceId?: string; -/** - * @public - *

          Contains the output of GetReservedInstancesExchangeQuote.

          - */ -export interface GetReservedInstancesExchangeQuoteResult { /** * @public - *

          The currency of the transaction.

          + *

          The resource owner ID.

          */ - CurrencyCode?: string; + ResourceOwnerId?: string; /** * @public - *

          If true, the exchange is valid. If false, the exchange cannot be completed.

          + *

          The resource CIDR.

          */ - IsValidExchange?: boolean; + ResourceCidr?: string; /** * @public - *

          The new end date of the reservation term.

          + *

          The resource type.

          */ - OutputReservedInstancesWillExpireAt?: Date; + ResourceType?: IpamResourceType; /** * @public - *

          The total true upfront charge for the exchange.

          + *

          The resource tags.

          */ - PaymentDue?: string; + ResourceTags?: IpamResourceTag[]; /** * @public - *

          The cost associated with the Reserved Instance.

          + *

          The percentage of IP address space in use. To convert the decimal to a percentage, multiply the decimal by 100. Note the following:

          + *
            + *
          • + *

            For resources that are VPCs, this is the percentage of IP address space in the VPC that's taken up by subnet CIDRs. + *

            + *
          • + *
          • + *

            For resources that are subnets, if the subnet has an IPv4 CIDR provisioned to it, this is the percentage of IPv4 address space in the subnet that's in use. If the subnet has an IPv6 CIDR provisioned to it, the percentage of IPv6 address space in use is not represented. The percentage of IPv6 address space in use cannot currently be calculated. + *

            + *
          • + *
          • + *

            For resources that are public IPv4 pools, this is the percentage of IP address space in the pool that's been allocated to Elastic IP addresses (EIPs). + *

            + *
          • + *
          */ - ReservedInstanceValueRollup?: ReservationValue; + IpUsage?: number; /** * @public - *

          The configuration of your Convertible Reserved Instances.

          + *

          The VPC ID.

          */ - ReservedInstanceValueSet?: ReservedInstanceReservationValue[]; + VpcId?: string; /** * @public - *

          The cost associated with the Reserved Instance.

          + *

          The last successful resource discovery time.

          */ - TargetConfigurationValueRollup?: ReservationValue; + SampleTime?: Date; +} +/** + * @public + */ +export interface GetIpamDiscoveredResourceCidrsResult { /** * @public - *

          The values of the target Convertible Reserved Instances.

          + *

          Discovered resource CIDRs.

          */ - TargetConfigurationValueSet?: TargetReservationValue[]; + IpamDiscoveredResourceCidrs?: IpamDiscoveredResourceCidr[]; /** * @public - *

          Describes the reason why the exchange cannot be completed.

          + *

          Specify the pagination token from a previous request to retrieve the next page of results.

          */ - ValidationFailureReason?: string; + NextToken?: string; } /** * @public */ -export interface GetSecurityGroupsForVpcRequest { +export interface GetIpamPoolAllocationsRequest { /** * @public - *

          The VPC ID where the security group can be used.

          + *

          A check for 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.

          */ - VpcId: string | undefined; + DryRun?: boolean; /** * @public - *

          The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

          + *

          The ID of the IPAM pool you want to see the allocations for.

          */ - NextToken?: string; + IpamPoolId: string | undefined; /** * @public - *

          The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

          + *

          The ID of the allocation.

          */ - MaxResults?: number; + IpamPoolAllocationId?: string; /** * @public - *

          The filters. If using multiple filters, the results include security groups which match all filters.

          - *
            - *
          • - *

            - * group-id: The security group ID.

            - *
          • - *
          • - *

            - * description: The security group's description.

            - *
          • - *
          • - *

            - * group-name: The security group name.

            - *
          • - *
          • - *

            - * owner-id: The security group owner ID.

            - *
          • - *
          • - *

            - * primary-vpc-id: The VPC ID in which the security group was created.

            - *
          • - *
          + *

          One or more filters for the request. For more information about filtering, see Filtering CLI output.

          */ Filters?: Filter[]; /** * @public - *

          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.

          + *

          The maximum number of results you would like returned per page.

          */ - DryRun?: boolean; + MaxResults?: number; + + /** + * @public + *

          The token for the next page of results.

          + */ + NextToken?: string; } /** * @public - *

          A security group that can be used by interfaces in the VPC.

          */ -export interface SecurityGroupForVpc { +export interface GetIpamPoolAllocationsResult { /** * @public - *

          The security group's description.

          + *

          The IPAM pool allocations you want information on.

          */ - Description?: string; + IpamPoolAllocations?: IpamPoolAllocation[]; /** * @public - *

          The security group name.

          + *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          */ - GroupName?: string; + NextToken?: string; +} +/** + * @public + */ +export interface GetIpamPoolCidrsRequest { /** * @public - *

          The security group owner ID.

          + *

          A check for 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.

          */ - OwnerId?: string; + DryRun?: boolean; /** * @public - *

          The security group ID.

          + *

          The ID of the IPAM pool you want the CIDR for.

          */ - GroupId?: string; + IpamPoolId: string | undefined; /** * @public - *

          The security group tags.

          + *

          One or more filters for the request. For more information about filtering, see Filtering CLI output.

          */ - Tags?: Tag[]; + Filters?: Filter[]; /** * @public - *

          The VPC ID in which the security group was created.

          + *

          The maximum number of results to return in the request.

          */ - PrimaryVpcId?: string; -} + MaxResults?: number; -/** - * @public - */ -export interface GetSecurityGroupsForVpcResult { /** * @public - *

          The token to include in another request to get the next page of items. This value is null when there are no more items to return.

          + *

          The token for the next page of results.

          */ NextToken?: string; - - /** - * @public - *

          The security group that can be used by interfaces in the VPC.

          - */ - SecurityGroupForVpcs?: SecurityGroupForVpc[]; } /** * @public */ -export interface GetSerialConsoleAccessStatusRequest { +export interface GetIpamPoolCidrsResult { /** * @public - *

          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.

          + *

          Information about the CIDRs provisioned to an IPAM pool.

          */ - DryRun?: boolean; -} + IpamPoolCidrs?: IpamPoolCidr[]; -/** - * @public - */ -export interface GetSerialConsoleAccessStatusResult { /** * @public - *

          If true, access to the EC2 serial console of all instances is enabled for - * your account. If false, access to the EC2 serial console of all instances - * is disabled for your account.

          + *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          */ - SerialConsoleAccessEnabled?: boolean; + NextToken?: string; } /** @@ -8452,21 +8673,3 @@ export const DetachVerifiedAccessTrustProviderResultFilterSensitiveLog = ( VerifiedAccessTrustProvider: VerifiedAccessTrustProviderFilterSensitiveLog(obj.VerifiedAccessTrustProvider), }), }); - -/** - * @internal - */ -export const GetLaunchTemplateDataResultFilterSensitiveLog = (obj: GetLaunchTemplateDataResult): any => ({ - ...obj, - ...(obj.LaunchTemplateData && { - LaunchTemplateData: ResponseLaunchTemplateDataFilterSensitiveLog(obj.LaunchTemplateData), - }), -}); - -/** - * @internal - */ -export const GetPasswordDataResultFilterSensitiveLog = (obj: GetPasswordDataResult): any => ({ - ...obj, - ...(obj.PasswordData && { PasswordData: SENSITIVE_STRING }), -}); diff --git a/clients/client-ec2/src/models/models_6.ts b/clients/client-ec2/src/models/models_6.ts index bcba9cc21dcb7..1975f07787d71 100644 --- a/clients/client-ec2/src/models/models_6.ts +++ b/clients/client-ec2/src/models/models_6.ts @@ -3,6 +3,7 @@ import { SENSITIVE_STRING } from "@smithy/smithy-client"; import { _InstanceType, + AccessScopeAnalysisFinding, AddedPrincipal, AddIpamOperatingRegion, AddPrefixListEntry, @@ -19,19 +20,14 @@ import { EndDateType, HostMaintenance, HostRecovery, - IamInstanceProfileAssociation, - IamInstanceProfileSpecification, InstanceEventWindow, Ipv6SupportValue, - PortRange, - RouteTableAssociationState, SubnetAssociation, Tag, TagSpecification, + TargetConfigurationRequest, TransitGatewayAssociationState, TransitGatewayAttachmentResourceType, - TransitGatewayMulticastDomainAssociations, - TransitGatewayPeeringAttachment, TransitGatewayPolicyTableAssociation, TransitGatewayVpcAttachment, UnsuccessfulItem, @@ -48,24 +44,28 @@ import { ClientConnectOptions, ClientLoginBannerOptions, ConnectionLogOptions, + ConnectionTrackingSpecificationRequest, DiskImageFormat, FleetExcessCapacityTerminationPolicy, FleetLaunchTemplateConfigRequest, HostnameType, - IcmpTypeCode, InstanceEventWindowTimeRangeRequest, InstanceRequirementsRequest, Ipam, IpamPool, IpamResourceDiscovery, + IpamResourceTag, IpamScope, + IpamTier, LaunchTemplate, LocalGatewayRoute, ManagedPrefixList, + NetworkInsightsAccessScopeContent, Placement, PlatformValues, RequestIpamResourceTag, - RuleAction, + ResponseLaunchTemplateData, + ResponseLaunchTemplateDataFilterSensitiveLog, SelfServicePortal, ShutdownBehavior, TargetCapacitySpecificationRequest, @@ -97,7 +97,6 @@ import { TrafficMirrorSession, TransitGateway, TransitGatewayPrefixListReference, - TransitGatewayRoute, VerifiedAccessEndpoint, VerifiedAccessEndpointProtocol, VerifiedAccessGroup, @@ -109,8 +108,8 @@ import { } from "./models_2"; import { ArchitectureValues, - AttributeBooleanValue, BootModeValues, + Byoasn, ConversionTask, ConversionTaskFilterSensitiveLog, Filter, @@ -118,23 +117,23 @@ import { FpgaImageAttributeName, ImdsSupportValues, ImportImageLicenseConfigurationResponse, - InstanceAttributeName, InstanceTagNotificationAttribute, IpamPoolCidr, LaunchPermission, PermissionGroup, SnapshotDetail, SnapshotDetailFilterSensitiveLog, - SnapshotTaskDetail, - SnapshotTaskDetailFilterSensitiveLog, TpmSupportValues, VirtualizationType, } from "./models_3"; import { + AnalysisStatus, ArchitectureType, + AttributeBooleanValue, CreateVolumePermission, ExcessCapacityTerminationPolicy, HttpTokensState, + InstanceAttributeName, InstanceAutoRecoveryState, InstanceMetadataEndpointState, InstanceMetadataOptionsResponse, @@ -148,12 +147,14 @@ import { ReservedInstancesConfiguration, ScheduledInstance, SnapshotAttributeName, - SpotFleetRequestConfigData, - SpotFleetRequestConfigDataFilterSensitiveLog, + SnapshotTaskDetail, + SnapshotTaskDetailFilterSensitiveLog, } from "./models_4"; import { InstanceFamilyCreditSpecification, - IpamResourceCidr, + IpamComplianceStatus, + IpamOverlapStatus, + IpamResourceType, Purchase, SnapshotBlockPublicAccessState, TransitGatewayPropagationState, @@ -165,315 +166,260 @@ import { /** * @public */ -export interface GetSnapshotBlockPublicAccessStateRequest { +export interface GetIpamResourceCidrsRequest { /** * @public - *

          Checks whether you have the required permissions for the action, without actually making the request, + *

          A check for 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.

          */ DryRun?: boolean; -} -/** - * @public - */ -export interface GetSnapshotBlockPublicAccessStateResult { /** * @public - *

          The current state of block public access for snapshots. Possible values include:

          - *
            - *
          • - *

            - * block-all-sharing - All public sharing of snapshots is blocked. Users in - * the account can't request new public sharing. Additionally, snapshots that were already - * publicly shared are treated as private and are not publicly available.

            - *
          • - *
          • - *

            - * block-new-sharing - Only new public sharing of snapshots is blocked. - * Users in the account can't request new public sharing. However, snapshots that were - * already publicly shared, remain publicly available.

            - *
          • - *
          • - *

            - * unblocked - Public sharing is not blocked. Users can publicly share - * snapshots.

            - *
          • - *
          + *

          One or more filters for the request. For more information about filtering, see Filtering CLI output.

          */ - State?: SnapshotBlockPublicAccessState; -} + Filters?: Filter[]; -/** - * @public - *

          The architecture type, virtualization type, and other attributes for the instance types. - * When you specify instance attributes, Amazon EC2 will identify instance types with those - * attributes.

          - *

          If you specify InstanceRequirementsWithMetadataRequest, you can't specify - * InstanceTypes.

          - */ -export interface InstanceRequirementsWithMetadataRequest { /** * @public - *

          The architecture type.

          + *

          The maximum number of results to return in the request.

          */ - ArchitectureTypes?: ArchitectureType[]; + MaxResults?: number; /** * @public - *

          The virtualization type.

          + *

          The token for the next page of results.

          */ - VirtualizationTypes?: VirtualizationType[]; + NextToken?: string; /** * @public - *

          The attributes for the instance types. When you specify instance attributes, Amazon EC2 will - * identify instance types with those attributes.

          + *

          The ID of the scope that the resource is in.

          */ - InstanceRequirements?: InstanceRequirementsRequest; -} + IpamScopeId: string | undefined; -/** - * @public - */ -export interface GetSpotPlacementScoresRequest { /** * @public - *

          The instance types. We recommend that you specify at least three instance types. If you - * specify one or two instance types, or specify variations of a single instance type (for - * example, an m3.xlarge with and without instance storage), the returned - * placement score will always be low.

          - *

          If you specify InstanceTypes, you can't specify - * InstanceRequirementsWithMetadata.

          + *

          The ID of the IPAM pool that the resource is in.

          */ - InstanceTypes?: string[]; + IpamPoolId?: string; /** * @public - *

          The target capacity.

          + *

          The ID of the resource.

          */ - TargetCapacity: number | undefined; + ResourceId?: string; /** * @public - *

          The unit for the target capacity.

          - *

          Default: units (translates to number of instances)

          + *

          The resource type.

          */ - TargetCapacityUnitType?: TargetCapacityUnitType; + ResourceType?: IpamResourceType; /** * @public - *

          Specify true so that the response returns a list of scored Availability Zones. - * Otherwise, the response returns a list of scored Regions.

          - *

          A list of scored Availability Zones is useful if you want to launch all of your Spot - * capacity into a single Availability Zone.

          + *

          The resource tag.

          */ - SingleAvailabilityZone?: boolean; + ResourceTag?: RequestIpamResourceTag; /** * @public - *

          The Regions used to narrow down the list of Regions to be scored. Enter the Region code, - * for example, us-east-1.

          + *

          The ID of the Amazon Web Services account that owns the resource.

          */ - RegionNames?: string[]; + ResourceOwner?: string; +} + +/** + * @public + * @enum + */ +export const IpamManagementState = { + ignored: "ignored", + managed: "managed", + unmanaged: "unmanaged", +} as const; + +/** + * @public + */ +export type IpamManagementState = (typeof IpamManagementState)[keyof typeof IpamManagementState]; +/** + * @public + *

          The CIDR for an IPAM resource.

          + */ +export interface IpamResourceCidr { /** * @public - *

          The attributes for the instance types. When you specify instance attributes, Amazon EC2 will - * identify instance types with those attributes.

          - *

          If you specify InstanceRequirementsWithMetadata, you can't specify - * InstanceTypes.

          + *

          The IPAM ID for an IPAM resource.

          */ - InstanceRequirementsWithMetadata?: InstanceRequirementsWithMetadataRequest; + IpamId?: string; /** * @public - *

          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.

          + *

          The scope ID for an IPAM resource.

          */ - DryRun?: boolean; + IpamScopeId?: string; /** * @public - *

          The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

          + *

          The pool ID for an IPAM resource.

          */ - MaxResults?: number; + IpamPoolId?: string; /** * @public - *

          The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

          + *

          The Amazon Web Services Region for an IPAM resource.

          */ - NextToken?: string; -} + ResourceRegion?: string; -/** - * @public - *

          The Spot placement score for this Region or Availability Zone. The score is calculated - * based on the assumption that the capacity-optimized allocation strategy is - * used and that all of the Availability Zones in the Region can be used.

          - */ -export interface SpotPlacementScore { /** * @public - *

          The Region.

          + *

          The Amazon Web Services account number of the owner of an IPAM resource.

          */ - Region?: string; + ResourceOwnerId?: string; /** * @public - *

          The Availability Zone.

          + *

          The ID of an IPAM resource.

          */ - AvailabilityZoneId?: string; + ResourceId?: string; /** * @public - *

          The placement score, on a scale from 1 to 10. A score of - * 10 indicates that your Spot request is highly likely to succeed in this - * Region or Availability Zone. A score of 1 indicates that your Spot request is - * not likely to succeed.

          + *

          The name of an IPAM resource.

          */ - Score?: number; -} + ResourceName?: string; -/** - * @public - */ -export interface GetSpotPlacementScoresResult { /** * @public - *

          The Spot placement score for the top 10 Regions or Availability Zones, scored on a scale - * from 1 to 10. Each score
 reflects how likely it is that each Region or Availability Zone - * will succeed at fulfilling the specified target capacity
 at the time of the Spot - * placement score request. A score of 10 means that your Spot - * capacity request is highly likely to succeed in that Region or Availability Zone.

          - *

          If you request a Spot placement score for Regions, a high score assumes that your fleet - * request will be configured to use all Availability Zones and the - * capacity-optimized allocation strategy. If you request a Spot placement - * score for Availability Zones, a high score assumes that your fleet request will be - * configured to use a single Availability Zone and the capacity-optimized - * allocation strategy.

          - *

          Different
 Regions or Availability Zones might return the same score.

          - * - *

          The Spot placement score serves as a recommendation only. No score guarantees that your - * Spot request will be fully or partially fulfilled.

          - *
          + *

          The CIDR for an IPAM resource.

          */ - SpotPlacementScores?: SpotPlacementScore[]; + ResourceCidr?: string; /** * @public - *

          The token to include in another request to get the next page of items. This value is null when there - * are no more items to return.

          + *

          The type of IPAM resource.

          */ - NextToken?: string; -} + ResourceType?: IpamResourceType; -/** - * @public - */ -export interface GetSubnetCidrReservationsRequest { /** * @public - *

          One or more filters.

          + *

          The tags for an IPAM resource.

          + */ + ResourceTags?: IpamResourceTag[]; + + /** + * @public + *

          The percentage of IP address space in use. To convert the decimal to a percentage, multiply the decimal by 100. Note the following:

          *
            *
          • - *

            - * reservationType - The type of reservation (prefix | - * explicit).

            - *
          • - *
          • - *

            - * subnet-id - The ID of the subnet.

            + *

            For resources that are VPCs, this is the percentage of IP address space in the VPC that's taken up by subnet CIDRs. + *

            *
          • *
          • - *

            - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

            + *

            For resources that are subnets, if the subnet has an IPv4 CIDR provisioned to it, this is the percentage of IPv4 address space in the subnet that's in use. If the subnet has an IPv6 CIDR provisioned to it, the percentage of IPv6 address space in use is not represented. The percentage of IPv6 address space in use cannot currently be calculated. + *

            *
          • *
          • - *

            - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

            + *

            For resources that are public IPv4 pools, this is the percentage of IP address space in the pool that's been allocated to Elastic IP addresses (EIPs). + *

            *
          • *
          */ - Filters?: Filter[]; + IpUsage?: number; /** * @public - *

          The ID of the subnet.

          + *

          The compliance status of the IPAM resource. For more information on compliance statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

          */ - SubnetId: string | undefined; + ComplianceStatus?: IpamComplianceStatus; /** * @public - *

          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.

          + *

          The management state of the resource. For more information about management states, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

          */ - DryRun?: boolean; + ManagementState?: IpamManagementState; /** * @public - *

          The token for the next page of results.

          + *

          The overlap status of an IPAM resource. The overlap status tells you if the CIDR for a resource overlaps with another CIDR in the scope. For more information on overlap statuses, see Monitor CIDR usage by resource in the Amazon VPC IPAM User Guide.

          + */ + OverlapStatus?: IpamOverlapStatus; + + /** + * @public + *

          The ID of a VPC.

          + */ + VpcId?: string; +} + +/** + * @public + */ +export interface GetIpamResourceCidrsResult { + /** + * @public + *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          */ NextToken?: string; /** * @public - *

          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

          + *

          The resource CIDRs.

          */ - MaxResults?: number; + IpamResourceCidrs?: IpamResourceCidr[]; } /** * @public */ -export interface GetSubnetCidrReservationsResult { +export interface GetLaunchTemplateDataRequest { /** * @public - *

          Information about the IPv4 subnet CIDR reservations.

          + *

          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.

          */ - SubnetIpv4CidrReservations?: SubnetCidrReservation[]; + DryRun?: boolean; /** * @public - *

          Information about the IPv6 subnet CIDR reservations.

          + *

          The ID of the instance.

          */ - SubnetIpv6CidrReservations?: SubnetCidrReservation[]; + InstanceId: string | undefined; +} +/** + * @public + */ +export interface GetLaunchTemplateDataResult { /** * @public - *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          + *

          The instance data.

          */ - NextToken?: string; + LaunchTemplateData?: ResponseLaunchTemplateData; } /** * @public */ -export interface GetTransitGatewayAttachmentPropagationsRequest { +export interface GetManagedPrefixListAssociationsRequest { /** * @public - *

          The ID of the attachment.

          + *

          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.

          */ - TransitGatewayAttachmentId: string | undefined; + DryRun?: boolean; /** * @public - *

          One or more filters. The possible values are:

          - *
            - *
          • - *

            - * transit-gateway-route-table-id - The ID of the transit gateway route table.

            - *
          • - *
          + *

          The ID of the prefix list.

          */ - Filters?: Filter[]; + PrefixListId: string | undefined; /** * @public @@ -487,43 +433,35 @@ export interface GetTransitGatewayAttachmentPropagationsRequest { *

          The token for the next page of results.

          */ NextToken?: string; - - /** - * @public - *

          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.

          - */ - DryRun?: boolean; } /** * @public - *

          Describes a propagation route table.

          + *

          Describes the resource with which a prefix list is associated.

          */ -export interface TransitGatewayAttachmentPropagation { +export interface PrefixListAssociation { /** * @public - *

          The ID of the propagation route table.

          + *

          The ID of the resource.

          */ - TransitGatewayRouteTableId?: string; + ResourceId?: string; /** * @public - *

          The state of the propagation route table.

          + *

          The owner of the resource.

          */ - State?: TransitGatewayPropagationState; + ResourceOwner?: string; } /** * @public */ -export interface GetTransitGatewayAttachmentPropagationsResult { +export interface GetManagedPrefixListAssociationsResult { /** * @public - *

          Information about the propagation route tables.

          + *

          Information about the associations.

          */ - TransitGatewayAttachmentPropagations?: TransitGatewayAttachmentPropagation[]; + PrefixListAssociations?: PrefixListAssociation[]; /** * @public @@ -535,42 +473,26 @@ export interface GetTransitGatewayAttachmentPropagationsResult { /** * @public */ -export interface GetTransitGatewayMulticastDomainAssociationsRequest { +export interface GetManagedPrefixListEntriesRequest { /** * @public - *

          The ID of the transit gateway multicast domain.

          + *

          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.

          */ - TransitGatewayMulticastDomainId: string | undefined; + DryRun?: boolean; /** * @public - *

          One or more filters. The possible values are:

          - *
            - *
          • - *

            - * resource-id - The ID of the resource.

            - *
          • - *
          • - *

            - * resource-type - The type of resource. The valid value is: vpc.

            - *
          • - *
          • - *

            - * state - The state of the subnet association. Valid values are - * associated | associating | - * disassociated | disassociating.

            - *
          • - *
          • - *

            - * subnet-id - The ID of the subnet.

            - *
          • - *
          • - *

            - * transit-gateway-attachment-id - The id of the transit gateway attachment.

            - *
          • - *
          + *

          The ID of the prefix list.

          */ - Filters?: Filter[]; + PrefixListId: string | undefined; + + /** + * @public + *

          The version of the prefix list for which to return the entries. The default is the current version.

          + */ + TargetVersion?: number; /** * @public @@ -584,61 +506,35 @@ export interface GetTransitGatewayMulticastDomainAssociationsRequest { *

          The token for the next page of results.

          */ NextToken?: string; - - /** - * @public - *

          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.

          - */ - DryRun?: boolean; } /** * @public - *

          Describes the resources associated with the transit gateway multicast domain.

          + *

          Describes a prefix list entry.

          */ -export interface TransitGatewayMulticastDomainAssociation { - /** - * @public - *

          The ID of the transit gateway attachment.

          - */ - TransitGatewayAttachmentId?: string; - - /** - * @public - *

          The ID of the resource.

          - */ - ResourceId?: string; - - /** - * @public - *

          The type of resource, for example a VPC attachment.

          - */ - ResourceType?: TransitGatewayAttachmentResourceType; - +export interface PrefixListEntry { /** * @public - *

          The ID of the Amazon Web Services account that owns the transit gateway multicast domain association resource.

          + *

          The CIDR block.

          */ - ResourceOwnerId?: string; + Cidr?: string; /** * @public - *

          The subnet associated with the transit gateway multicast domain.

          + *

          The description.

          */ - Subnet?: SubnetAssociation; + Description?: string; } /** * @public */ -export interface GetTransitGatewayMulticastDomainAssociationsResult { +export interface GetManagedPrefixListEntriesResult { /** * @public - *

          Information about the multicast domain associations.

          + *

          Information about the prefix list entries.

          */ - MulticastDomainAssociations?: TransitGatewayMulticastDomainAssociation[]; + Entries?: PrefixListEntry[]; /** * @public @@ -650,23 +546,17 @@ export interface GetTransitGatewayMulticastDomainAssociationsResult { /** * @public */ -export interface GetTransitGatewayPolicyTableAssociationsRequest { - /** - * @public - *

          The ID of the transit gateway policy table.

          - */ - TransitGatewayPolicyTableId: string | undefined; - +export interface GetNetworkInsightsAccessScopeAnalysisFindingsRequest { /** * @public - *

          The filters associated with the transit gateway policy table.

          + *

          The ID of the Network Access Scope analysis.

          */ - Filters?: Filter[]; + NetworkInsightsAccessScopeAnalysisId: string | undefined; /** * @public *

          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

          + * To retrieve the remaining results, make another call with the returned nextToken value.

          */ MaxResults?: number; @@ -688,16 +578,28 @@ export interface GetTransitGatewayPolicyTableAssociationsRequest { /** * @public */ -export interface GetTransitGatewayPolicyTableAssociationsResult { +export interface GetNetworkInsightsAccessScopeAnalysisFindingsResult { /** * @public - *

          Returns details about the transit gateway policy table association.

          + *

          The ID of the Network Access Scope analysis.

          */ - Associations?: TransitGatewayPolicyTableAssociation[]; + NetworkInsightsAccessScopeAnalysisId?: string; /** * @public - *

          The token for the next page of results.

          + *

          The status of Network Access Scope Analysis.

          + */ + AnalysisStatus?: AnalysisStatus; + + /** + * @public + *

          The findings associated with Network Access Scope Analysis.

          + */ + AnalysisFindings?: AccessScopeAnalysisFinding[]; + + /** + * @public + *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          */ NextToken?: string; } @@ -705,31 +607,42 @@ export interface GetTransitGatewayPolicyTableAssociationsResult { /** * @public */ -export interface GetTransitGatewayPolicyTableEntriesRequest { +export interface GetNetworkInsightsAccessScopeContentRequest { /** * @public - *

          The ID of the transit gateway policy table.

          + *

          The ID of the Network Access Scope.

          */ - TransitGatewayPolicyTableId: string | undefined; + NetworkInsightsAccessScopeId: string | undefined; /** * @public - *

          The filters associated with the transit gateway policy table.

          + *

          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.

          */ - Filters?: Filter[]; + DryRun?: boolean; +} +/** + * @public + */ +export interface GetNetworkInsightsAccessScopeContentResult { /** * @public - *

          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

          + *

          The Network Access Scope content.

          */ - MaxResults?: number; + NetworkInsightsAccessScopeContent?: NetworkInsightsAccessScopeContent; +} +/** + * @public + */ +export interface GetPasswordDataRequest { /** * @public - *

          The token for the next page of results.

          + *

          The ID of the Windows instance.

          */ - NextToken?: string; + InstanceId: string | undefined; /** * @public @@ -742,231 +655,247 @@ export interface GetTransitGatewayPolicyTableEntriesRequest { /** * @public - *

          Describes the meta data tags associated with a transit gateway policy rule.

          */ -export interface TransitGatewayPolicyRuleMetaData { +export interface GetPasswordDataResult { /** * @public - *

          The key name for the transit gateway policy rule meta data tag.

          + *

          The ID of the Windows instance.

          */ - MetaDataKey?: string; + InstanceId?: string; /** * @public - *

          The value of the key for the transit gateway policy rule meta data tag.

          + *

          The password of the instance. Returns an empty string if the password is not + * available.

          */ - MetaDataValue?: string; + PasswordData?: string; + + /** + * @public + *

          The time the data was last updated.

          + */ + Timestamp?: Date; } /** * @public - *

          Describes a rule associated with a transit gateway policy.

          + *

          Contains the parameters for GetReservedInstanceExchangeQuote.

          */ -export interface TransitGatewayPolicyRule { +export interface GetReservedInstancesExchangeQuoteRequest { /** * @public - *

          The source CIDR block for the transit gateway policy rule.

          + *

          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.

          */ - SourceCidrBlock?: string; + DryRun?: boolean; /** * @public - *

          The port range for the transit gateway policy rule. Currently this is set to * (all).

          + *

          The IDs of the Convertible Reserved Instances to exchange.

          */ - SourcePortRange?: string; + ReservedInstanceIds: string[] | undefined; /** * @public - *

          The destination CIDR block for the transit gateway policy rule.

          + *

          The configuration of the target Convertible Reserved Instance to exchange for your + * current Convertible Reserved Instances.

          */ - DestinationCidrBlock?: string; + TargetConfigurations?: TargetConfigurationRequest[]; +} +/** + * @public + *

          The cost associated with the Reserved Instance.

          + */ +export interface ReservationValue { /** * @public - *

          The port range for the transit gateway policy rule. Currently this is set to * (all).

          + *

          The hourly rate of the reservation.

          */ - DestinationPortRange?: string; + HourlyPrice?: string; /** * @public - *

          The protocol used by the transit gateway policy rule.

          + *

          The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice * number of hours remaining).

          */ - Protocol?: string; + RemainingTotalValue?: string; /** * @public - *

          The meta data tags used for the transit gateway policy rule.

          + *

          The remaining upfront cost of the reservation.

          */ - MetaData?: TransitGatewayPolicyRuleMetaData; + RemainingUpfrontValue?: string; } /** * @public - *

          Describes a transit gateway policy table entry

          + *

          The total value of the Convertible Reserved Instance.

          */ -export interface TransitGatewayPolicyTableEntry { +export interface ReservedInstanceReservationValue { /** * @public - *

          The rule number for the transit gateway policy table entry.

          + *

          The total value of the Convertible Reserved Instance that you are exchanging.

          */ - PolicyRuleNumber?: string; + ReservationValue?: ReservationValue; /** * @public - *

          The policy rule associated with the transit gateway policy table.

          + *

          The ID of the Convertible Reserved Instance that you are exchanging.

          */ - PolicyRule?: TransitGatewayPolicyRule; + ReservedInstanceId?: string; +} +/** + * @public + *

          Information about the Convertible Reserved Instance offering.

          + */ +export interface TargetConfiguration { /** * @public - *

          The ID of the target route table.

          + *

          The number of instances the Convertible Reserved Instance offering can be applied to. This parameter is + * reserved and cannot be specified in a request

          */ - TargetRouteTableId?: string; + InstanceCount?: number; + + /** + * @public + *

          The ID of the Convertible Reserved Instance offering.

          + */ + OfferingId?: string; } /** * @public + *

          The total value of the new Convertible Reserved Instances.

          */ -export interface GetTransitGatewayPolicyTableEntriesResult { +export interface TargetReservationValue { /** * @public - *

          The entries for the transit gateway policy table.

          + *

          The total value of the Convertible Reserved Instances that make up the exchange. This is the sum of + * the list value, remaining upfront price, and additional upfront cost of the exchange.

          */ - TransitGatewayPolicyTableEntries?: TransitGatewayPolicyTableEntry[]; + ReservationValue?: ReservationValue; + + /** + * @public + *

          The configuration of the Convertible Reserved Instances that make up the exchange.

          + */ + TargetConfiguration?: TargetConfiguration; } /** * @public + *

          Contains the output of GetReservedInstancesExchangeQuote.

          */ -export interface GetTransitGatewayPrefixListReferencesRequest { +export interface GetReservedInstancesExchangeQuoteResult { /** * @public - *

          The ID of the transit gateway route table.

          + *

          The currency of the transaction.

          */ - TransitGatewayRouteTableId: string | undefined; + CurrencyCode?: string; /** * @public - *

          One or more filters. The possible values are:

          - *
            - *
          • - *

            - * attachment.resource-id - The ID of the resource for the attachment.

            - *
          • - *
          • - *

            - * attachment.resource-type - The type of resource for the - * attachment. Valid values are vpc | vpn | - * direct-connect-gateway | peering.

            - *
          • - *
          • - *

            - * attachment.transit-gateway-attachment-id - The ID of the attachment.

            - *
          • - *
          • - *

            - * is-blackhole - Whether traffic matching the route is blocked (true | false).

            - *
          • - *
          • - *

            - * prefix-list-id - The ID of the prefix list.

            - *
          • - *
          • - *

            - * prefix-list-owner-id - The ID of the owner of the prefix list.

            - *
          • - *
          • - *

            - * state - The state of the prefix list reference (pending | available | modifying | deleting).

            - *
          • - *
          + *

          If true, the exchange is valid. If false, the exchange cannot be completed.

          */ - Filters?: Filter[]; + IsValidExchange?: boolean; /** * @public - *

          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

          + *

          The new end date of the reservation term.

          */ - MaxResults?: number; + OutputReservedInstancesWillExpireAt?: Date; /** * @public - *

          The token for the next page of results.

          + *

          The total true upfront charge for the exchange.

          */ - NextToken?: string; + PaymentDue?: string; /** * @public - *

          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.

          + *

          The cost associated with the Reserved Instance.

          */ - DryRun?: boolean; -} + ReservedInstanceValueRollup?: ReservationValue; -/** - * @public - */ -export interface GetTransitGatewayPrefixListReferencesResult { /** * @public - *

          Information about the prefix list references.

          + *

          The configuration of your Convertible Reserved Instances.

          */ - TransitGatewayPrefixListReferences?: TransitGatewayPrefixListReference[]; + ReservedInstanceValueSet?: ReservedInstanceReservationValue[]; /** * @public - *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          + *

          The cost associated with the Reserved Instance.

          */ - NextToken?: string; + TargetConfigurationValueRollup?: ReservationValue; + + /** + * @public + *

          The values of the target Convertible Reserved Instances.

          + */ + TargetConfigurationValueSet?: TargetReservationValue[]; + + /** + * @public + *

          Describes the reason why the exchange cannot be completed.

          + */ + ValidationFailureReason?: string; } /** * @public */ -export interface GetTransitGatewayRouteTableAssociationsRequest { +export interface GetSecurityGroupsForVpcRequest { /** * @public - *

          The ID of the transit gateway route table.

          + *

          The VPC ID where the security group can be used.

          */ - TransitGatewayRouteTableId: string | undefined; + VpcId: string | undefined; /** * @public - *

          One or more filters. The possible values are:

          - *
            - *
          • + *

            The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

            + */ + NextToken?: string; + + /** + * @public + *

            The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

            + */ + MaxResults?: number; + + /** + * @public + *

            The filters. If using multiple filters, the results include security groups which match all filters.

            + *
              + *
            • *

              - * resource-id - The ID of the resource.

              + * group-id: The security group ID.

              *
            • *
            • *

              - * resource-type - The resource type. Valid values are vpc - * | vpn | direct-connect-gateway | peering - * | connect.

              + * description: The security group's description.

              *
            • *
            • *

              - * transit-gateway-attachment-id - The ID of the attachment.

              + * group-name: The security group name.

              + *
            • + *
            • + *

              + * owner-id: The security group owner ID.

              + *
            • + *
            • + *

              + * primary-vpc-id: The VPC ID in which the security group was created.

              *
            • *
            */ Filters?: Filter[]; - /** - * @public - *

            The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

            - */ - MaxResults?: number; - - /** - * @public - *

            The token for the next page of results.

            - */ - NextToken?: string; - /** * @public *

            Checks whether you have the required permissions for the action, without actually making the request, @@ -978,96 +907,91 @@ export interface GetTransitGatewayRouteTableAssociationsRequest { /** * @public - *

            Describes an association between a route table and a resource attachment.

            + *

            A security group that can be used by interfaces in the VPC.

            */ -export interface TransitGatewayRouteTableAssociation { +export interface SecurityGroupForVpc { /** * @public - *

            The ID of the attachment.

            + *

            The security group's description.

            */ - TransitGatewayAttachmentId?: string; + Description?: string; /** * @public - *

            The ID of the resource.

            + *

            The security group name.

            */ - ResourceId?: string; + GroupName?: string; /** * @public - *

            The resource type. Note that the tgw-peering resource type has been deprecated.

            + *

            The security group owner ID.

            */ - ResourceType?: TransitGatewayAttachmentResourceType; + OwnerId?: string; /** * @public - *

            The state of the association.

            + *

            The security group ID.

            */ - State?: TransitGatewayAssociationState; -} + GroupId?: string; -/** - * @public - */ -export interface GetTransitGatewayRouteTableAssociationsResult { /** * @public - *

            Information about the associations.

            + *

            The security group tags.

            */ - Associations?: TransitGatewayRouteTableAssociation[]; + Tags?: Tag[]; /** * @public - *

            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

            + *

            The VPC ID in which the security group was created.

            */ - NextToken?: string; + PrimaryVpcId?: string; } /** * @public */ -export interface GetTransitGatewayRouteTablePropagationsRequest { +export interface GetSecurityGroupsForVpcResult { /** * @public - *

            The ID of the transit gateway route table.

            + *

            The token to include in another request to get the next page of items. This value is null when there are no more items to return.

            */ - TransitGatewayRouteTableId: string | undefined; + NextToken?: string; /** * @public - *

            One or more filters. The possible values are:

            - *
              - *
            • - *

              - * resource-id - The ID of the resource.

              - *
            • - *
            • - *

              - * resource-type - The resource type. Valid values are vpc - * | vpn | direct-connect-gateway | peering - * | connect.

              - *
            • - *
            • - *

              - * transit-gateway-attachment-id - The ID of the attachment.

              - *
            • - *
            + *

            The security group that can be used by interfaces in the VPC.

            */ - Filters?: Filter[]; + SecurityGroupForVpcs?: SecurityGroupForVpc[]; +} +/** + * @public + */ +export interface GetSerialConsoleAccessStatusRequest { /** * @public - *

            The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

            + *

            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.

            */ - MaxResults?: number; + DryRun?: boolean; +} +/** + * @public + */ +export interface GetSerialConsoleAccessStatusResult { /** * @public - *

            The token for the next page of results.

            + *

            If true, access to the EC2 serial console of all instances is enabled for + * your account. If false, access to the EC2 serial console of all instances + * is disabled for your account.

            */ - NextToken?: string; + SerialConsoleAccessEnabled?: boolean; +} +/** + * @public + */ +export interface GetSnapshotBlockPublicAccessStateRequest { /** * @public *

            Checks whether you have the required permissions for the action, without actually making the request, @@ -1079,102 +1003,115 @@ export interface GetTransitGatewayRouteTablePropagationsRequest { /** * @public - *

            Describes a route table propagation.

            */ -export interface TransitGatewayRouteTablePropagation { - /** - * @public - *

            The ID of the attachment.

            - */ - TransitGatewayAttachmentId?: string; - +export interface GetSnapshotBlockPublicAccessStateResult { /** * @public - *

            The ID of the resource.

            + *

            The current state of block public access for snapshots. Possible values include:

            + *
              + *
            • + *

              + * block-all-sharing - All public sharing of snapshots is blocked. Users in + * the account can't request new public sharing. Additionally, snapshots that were already + * publicly shared are treated as private and are not publicly available.

              + *
            • + *
            • + *

              + * block-new-sharing - Only new public sharing of snapshots is blocked. + * Users in the account can't request new public sharing. However, snapshots that were + * already publicly shared, remain publicly available.

              + *
            • + *
            • + *

              + * unblocked - Public sharing is not blocked. Users can publicly share + * snapshots.

              + *
            • + *
            */ - ResourceId?: string; + State?: SnapshotBlockPublicAccessState; +} +/** + * @public + *

            The architecture type, virtualization type, and other attributes for the instance types. + * When you specify instance attributes, Amazon EC2 will identify instance types with those + * attributes.

            + *

            If you specify InstanceRequirementsWithMetadataRequest, you can't specify + * InstanceTypes.

            + */ +export interface InstanceRequirementsWithMetadataRequest { /** * @public - *

            The type of resource. Note that the tgw-peering resource type has been deprecated.

            + *

            The architecture type.

            */ - ResourceType?: TransitGatewayAttachmentResourceType; + ArchitectureTypes?: ArchitectureType[]; /** * @public - *

            The state of the resource.

            + *

            The virtualization type.

            */ - State?: TransitGatewayPropagationState; + VirtualizationTypes?: VirtualizationType[]; /** * @public - *

            The ID of the transit gateway route table announcement.

            + *

            The attributes for the instance types. When you specify instance attributes, Amazon EC2 will + * identify instance types with those attributes.

            */ - TransitGatewayRouteTableAnnouncementId?: string; + InstanceRequirements?: InstanceRequirementsRequest; } /** * @public */ -export interface GetTransitGatewayRouteTablePropagationsResult { - /** - * @public - *

            Information about the route table propagations.

            - */ - TransitGatewayRouteTablePropagations?: TransitGatewayRouteTablePropagation[]; - +export interface GetSpotPlacementScoresRequest { /** * @public - *

            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

            + *

            The instance types. We recommend that you specify at least three instance types. If you + * specify one or two instance types, or specify variations of a single instance type (for + * example, an m3.xlarge with and without instance storage), the returned + * placement score will always be low.

            + *

            If you specify InstanceTypes, you can't specify + * InstanceRequirementsWithMetadata.

            */ - NextToken?: string; -} + InstanceTypes?: string[]; -/** - * @public - */ -export interface GetVerifiedAccessEndpointPolicyRequest { /** * @public - *

            The ID of the Verified Access endpoint.

            + *

            The target capacity.

            */ - VerifiedAccessEndpointId: string | undefined; + TargetCapacity: number | undefined; /** * @public - *

            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.

            + *

            The unit for the target capacity.

            + *

            Default: units (translates to number of instances)

            */ - DryRun?: boolean; -} + TargetCapacityUnitType?: TargetCapacityUnitType; -/** - * @public - */ -export interface GetVerifiedAccessEndpointPolicyResult { /** * @public - *

            The status of the Verified Access policy.

            + *

            Specify true so that the response returns a list of scored Availability Zones. + * Otherwise, the response returns a list of scored Regions.

            + *

            A list of scored Availability Zones is useful if you want to launch all of your Spot + * capacity into a single Availability Zone.

            */ - PolicyEnabled?: boolean; + SingleAvailabilityZone?: boolean; /** * @public - *

            The Verified Access policy document.

            + *

            The Regions used to narrow down the list of Regions to be scored. Enter the Region code, + * for example, us-east-1.

            */ - PolicyDocument?: string; -} + RegionNames?: string[]; -/** - * @public - */ -export interface GetVerifiedAccessGroupPolicyRequest { /** * @public - *

            The ID of the Verified Access group.

            + *

            The attributes for the instance types. When you specify instance attributes, Amazon EC2 will + * identify instance types with those attributes.

            + *

            If you specify InstanceRequirementsWithMetadata, you can't specify + * InstanceTypes.

            */ - VerifiedAccessGroupId: string | undefined; + InstanceRequirementsWithMetadata?: InstanceRequirementsWithMetadataRequest; /** * @public @@ -1183,426 +1120,442 @@ export interface GetVerifiedAccessGroupPolicyRequest { * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; -} -/** - * @public - */ -export interface GetVerifiedAccessGroupPolicyResult { /** * @public - *

            The status of the Verified Access policy.

            + *

            The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

            */ - PolicyEnabled?: boolean; + MaxResults?: number; /** * @public - *

            The Verified Access policy document.

            + *

            The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

            */ - PolicyDocument?: string; + NextToken?: string; } /** * @public + *

            The Spot placement score for this Region or Availability Zone. The score is calculated + * based on the assumption that the capacity-optimized allocation strategy is + * used and that all of the Availability Zones in the Region can be used.

            */ -export interface GetVpnConnectionDeviceSampleConfigurationRequest { +export interface SpotPlacementScore { /** * @public - *

            The VpnConnectionId specifies the Site-to-Site VPN connection used for the sample - * configuration.

            + *

            The Region.

            */ - VpnConnectionId: string | undefined; + Region?: string; /** * @public - *

            Device identifier provided by the GetVpnConnectionDeviceTypes API.

            + *

            The Availability Zone.

            */ - VpnConnectionDeviceTypeId: string | undefined; + AvailabilityZoneId?: string; /** * @public - *

            The IKE version to be used in the sample configuration file for your customer gateway - * device. You can specify one of the following versions: ikev1 or - * ikev2.

            - */ - InternetKeyExchangeVersion?: string; - - /** - * @public - *

            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.

            + *

            The placement score, on a scale from 1 to 10. A score of + * 10 indicates that your Spot request is highly likely to succeed in this + * Region or Availability Zone. A score of 1 indicates that your Spot request is + * not likely to succeed.

            */ - DryRun?: boolean; + Score?: number; } /** * @public */ -export interface GetVpnConnectionDeviceSampleConfigurationResult { +export interface GetSpotPlacementScoresResult { /** * @public - *

            Sample configuration file for the specified customer gateway device.

            + *

            The Spot placement score for the top 10 Regions or Availability Zones, scored on a scale + * from 1 to 10. Each score
 reflects how likely it is that each Region or Availability Zone + * will succeed at fulfilling the specified target capacity
 at the time of the Spot + * placement score request. A score of 10 means that your Spot + * capacity request is highly likely to succeed in that Region or Availability Zone.

            + *

            If you request a Spot placement score for Regions, a high score assumes that your fleet + * request will be configured to use all Availability Zones and the + * capacity-optimized allocation strategy. If you request a Spot placement + * score for Availability Zones, a high score assumes that your fleet request will be + * configured to use a single Availability Zone and the capacity-optimized + * allocation strategy.

            + *

            Different
 Regions or Availability Zones might return the same score.

            + * + *

            The Spot placement score serves as a recommendation only. No score guarantees that your + * Spot request will be fully or partially fulfilled.

            + *
            */ - VpnConnectionDeviceSampleConfiguration?: string; + SpotPlacementScores?: SpotPlacementScore[]; + + /** + * @public + *

            The token to include in another request to get the next page of items. This value is null when there + * are no more items to return.

            + */ + NextToken?: string; } /** * @public */ -export interface GetVpnConnectionDeviceTypesRequest { +export interface GetSubnetCidrReservationsRequest { /** * @public - *

            The maximum number of results returned by GetVpnConnectionDeviceTypes in - * paginated output. When this parameter is used, GetVpnConnectionDeviceTypes - * only returns MaxResults results in a single page along with a - * NextToken response element. The remaining results of the initial - * request can be seen by sending another GetVpnConnectionDeviceTypes request - * with the returned NextToken value. This value can be between 200 and 1000. - * If this parameter is not used, then GetVpnConnectionDeviceTypes returns all - * results.

            + *

            One or more filters.

            + *
              + *
            • + *

              + * reservationType - The type of reservation (prefix | + * explicit).

              + *
            • + *
            • + *

              + * subnet-id - The ID of the subnet.

              + *
            • + *
            • + *

              + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

              + *
            • + *
            • + *

              + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

              + *
            • + *
            */ - MaxResults?: number; + Filters?: Filter[]; /** * @public - *

            The NextToken value returned from a previous paginated - * GetVpnConnectionDeviceTypes request where MaxResults was - * used and the results exceeded the value of that parameter. Pagination continues from the - * end of the previous results that returned the NextToken value. This value - * is null when there are no more results to return.

            + *

            The ID of the subnet.

            */ - NextToken?: string; + SubnetId: string | undefined; /** * @public - *

            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.

            + *

            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.

            */ DryRun?: boolean; -} -/** - * @public - *

            List of customer gateway devices that have a sample configuration file available for - * use. You can also see the list of device types with sample configuration files available - * under Your customer - * gateway device in the Amazon Web Services Site-to-Site VPN User Guide.

            - */ -export interface VpnConnectionDeviceType { /** * @public - *

            Customer gateway device identifier.

            + *

            The token for the next page of results.

            */ - VpnConnectionDeviceTypeId?: string; + NextToken?: string; /** * @public - *

            Customer gateway device vendor.

            + *

            The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

            */ - Vendor?: string; + MaxResults?: number; +} + +/** + * @public + */ +export interface GetSubnetCidrReservationsResult { + /** + * @public + *

            Information about the IPv4 subnet CIDR reservations.

            + */ + SubnetIpv4CidrReservations?: SubnetCidrReservation[]; /** * @public - *

            Customer gateway device platform.

            + *

            Information about the IPv6 subnet CIDR reservations.

            */ - Platform?: string; + SubnetIpv6CidrReservations?: SubnetCidrReservation[]; /** * @public - *

            Customer gateway device software version.

            + *

            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

            */ - Software?: string; + NextToken?: string; } /** * @public */ -export interface GetVpnConnectionDeviceTypesResult { +export interface GetTransitGatewayAttachmentPropagationsRequest { /** * @public - *

            List of customer gateway devices that have a sample configuration file available for - * use.

            + *

            The ID of the attachment.

            */ - VpnConnectionDeviceTypes?: VpnConnectionDeviceType[]; + TransitGatewayAttachmentId: string | undefined; /** * @public - *

            The NextToken value to include in a future - * GetVpnConnectionDeviceTypes request. When the results of a - * GetVpnConnectionDeviceTypes request exceed MaxResults, - * this value can be used to retrieve the next page of results. This value is null when - * there are no more results to return.

            + *

            One or more filters. The possible values are:

            + *
              + *
            • + *

              + * transit-gateway-route-table-id - The ID of the transit gateway route table.

              + *
            • + *
            */ - NextToken?: string; -} + Filters?: Filter[]; -/** - * @public - */ -export interface GetVpnTunnelReplacementStatusRequest { /** * @public - *

            The ID of the Site-to-Site VPN connection.

            + *

            The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

            */ - VpnConnectionId: string | undefined; + MaxResults?: number; /** * @public - *

            The external IP address of the VPN tunnel.

            + *

            The token for the next page of results.

            */ - VpnTunnelOutsideIpAddress: string | undefined; + NextToken?: string; /** * @public - *

            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.

            + *

            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.

            */ DryRun?: boolean; } /** * @public - *

            Details for Site-to-Site VPN tunnel endpoint maintenance events.

            + *

            Describes a propagation route table.

            */ -export interface MaintenanceDetails { - /** - * @public - *

            Verify existence of a pending maintenance.

            - */ - PendingMaintenance?: string; - +export interface TransitGatewayAttachmentPropagation { /** * @public - *

            The timestamp after which Amazon Web Services will automatically apply maintenance.

            + *

            The ID of the propagation route table.

            */ - MaintenanceAutoAppliedAfter?: Date; + TransitGatewayRouteTableId?: string; /** * @public - *

            Timestamp of last applied maintenance.

            + *

            The state of the propagation route table.

            */ - LastMaintenanceApplied?: Date; + State?: TransitGatewayPropagationState; } /** * @public */ -export interface GetVpnTunnelReplacementStatusResult { +export interface GetTransitGatewayAttachmentPropagationsResult { /** * @public - *

            The ID of the Site-to-Site VPN connection.

            + *

            Information about the propagation route tables.

            */ - VpnConnectionId?: string; + TransitGatewayAttachmentPropagations?: TransitGatewayAttachmentPropagation[]; /** * @public - *

            The ID of the transit gateway associated with the VPN connection.

            + *

            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

            */ - TransitGatewayId?: string; + NextToken?: string; +} +/** + * @public + */ +export interface GetTransitGatewayMulticastDomainAssociationsRequest { /** * @public - *

            The ID of the customer gateway.

            + *

            The ID of the transit gateway multicast domain.

            */ - CustomerGatewayId?: string; + TransitGatewayMulticastDomainId: string | undefined; /** * @public - *

            The ID of the virtual private gateway.

            + *

            One or more filters. The possible values are:

            + *
              + *
            • + *

              + * resource-id - The ID of the resource.

              + *
            • + *
            • + *

              + * resource-type - The type of resource. The valid value is: vpc.

              + *
            • + *
            • + *

              + * state - The state of the subnet association. Valid values are + * associated | associating | + * disassociated | disassociating.

              + *
            • + *
            • + *

              + * subnet-id - The ID of the subnet.

              + *
            • + *
            • + *

              + * transit-gateway-attachment-id - The id of the transit gateway attachment.

              + *
            • + *
            */ - VpnGatewayId?: string; + Filters?: Filter[]; /** * @public - *

            The external IP address of the VPN tunnel.

            + *

            The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

            */ - VpnTunnelOutsideIpAddress?: string; + MaxResults?: number; /** * @public - *

            Get details of pending tunnel endpoint maintenance.

            + *

            The token for the next page of results.

            */ - MaintenanceDetails?: MaintenanceDetails; + NextToken?: string; + + /** + * @public + *

            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.

            + */ + DryRun?: boolean; } /** * @public + *

            Describes the resources associated with the transit gateway multicast domain.

            */ -export interface ImportClientVpnClientCertificateRevocationListRequest { +export interface TransitGatewayMulticastDomainAssociation { /** * @public - *

            The ID of the Client VPN endpoint to which the client certificate revocation list applies.

            + *

            The ID of the transit gateway attachment.

            */ - ClientVpnEndpointId: string | undefined; + TransitGatewayAttachmentId?: string; /** * @public - *

            The client certificate revocation list file. For more information, see Generate a Client Certificate Revocation List in the - * Client VPN Administrator Guide.

            - */ - CertificateRevocationList: string | undefined; - - /** - * @public - *

            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.

            - */ - DryRun?: boolean; -} - -/** - * @public - */ -export interface ImportClientVpnClientCertificateRevocationListResult { - /** - * @public - *

            Returns true if the request succeeds; otherwise, it returns an error.

            - */ - Return?: boolean; -} - -/** - * @public - *

            Describes the client-specific data.

            - */ -export interface ClientData { - /** - * @public - *

            A user-defined comment about the disk upload.

            + *

            The ID of the resource.

            */ - Comment?: string; + ResourceId?: string; /** * @public - *

            The time that the disk upload ends.

            + *

            The type of resource, for example a VPC attachment.

            */ - UploadEnd?: Date; + ResourceType?: TransitGatewayAttachmentResourceType; /** * @public - *

            The size of the uploaded disk image, in GiB.

            + *

            The ID of the Amazon Web Services account that owns the transit gateway multicast domain association resource.

            */ - UploadSize?: number; + ResourceOwnerId?: string; /** * @public - *

            The time that the disk upload starts.

            + *

            The subnet associated with the transit gateway multicast domain.

            */ - UploadStart?: Date; + Subnet?: SubnetAssociation; } /** * @public - *

            Describes the Amazon S3 bucket for the disk image.

            */ -export interface UserBucket { +export interface GetTransitGatewayMulticastDomainAssociationsResult { /** * @public - *

            The name of the Amazon S3 bucket where the disk image is located.

            + *

            Information about the multicast domain associations.

            */ - S3Bucket?: string; + MulticastDomainAssociations?: TransitGatewayMulticastDomainAssociation[]; /** * @public - *

            The file name of the disk image.

            + *

            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

            */ - S3Key?: string; + NextToken?: string; } /** * @public - *

            Describes the disk container object for an import image task.

            */ -export interface ImageDiskContainer { - /** - * @public - *

            The description of the disk image.

            - */ - Description?: string; - +export interface GetTransitGatewayPolicyTableAssociationsRequest { /** * @public - *

            The block device mapping for the disk.

            + *

            The ID of the transit gateway policy table.

            */ - DeviceName?: string; + TransitGatewayPolicyTableId: string | undefined; /** * @public - *

            The format of the disk image being imported.

            - *

            Valid values: OVA | VHD | VHDX | VMDK | RAW - *

            + *

            The filters associated with the transit gateway policy table.

            */ - Format?: string; + Filters?: Filter[]; /** * @public - *

            The ID of the EBS snapshot to be used for importing the snapshot.

            + *

            The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

            */ - SnapshotId?: string; + MaxResults?: number; /** * @public - *

            The URL to the Amazon S3-based disk image being imported. The URL can either be a https URL (https://..) or an - * Amazon S3 URL (s3://..)

            + *

            The token for the next page of results.

            */ - Url?: string; + NextToken?: string; /** * @public - *

            The S3 bucket for the disk image.

            + *

            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.

            */ - UserBucket?: UserBucket; + DryRun?: boolean; } /** * @public - *

            The request information of license configurations.

            */ -export interface ImportImageLicenseConfigurationRequest { +export interface GetTransitGatewayPolicyTableAssociationsResult { /** * @public - *

            The ARN of a license configuration.

            + *

            Returns details about the transit gateway policy table association.

            */ - LicenseConfigurationArn?: string; -} + Associations?: TransitGatewayPolicyTableAssociation[]; -/** - * @public - */ -export interface ImportImageRequest { /** * @public - *

            The architecture of the virtual machine.

            - *

            Valid values: i386 | x86_64 - *

            + *

            The token for the next page of results.

            */ - Architecture?: string; + NextToken?: string; +} +/** + * @public + */ +export interface GetTransitGatewayPolicyTableEntriesRequest { /** * @public - *

            The client-specific data.

            + *

            The ID of the transit gateway policy table.

            */ - ClientData?: ClientData; + TransitGatewayPolicyTableId: string | undefined; /** * @public - *

            The token to enable idempotency for VM import requests.

            + *

            The filters associated with the transit gateway policy table.

            */ - ClientToken?: string; + Filters?: Filter[]; /** * @public - *

            A description string for the import image task.

            + *

            The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

            */ - Description?: string; + MaxResults?: number; /** * @public - *

            Information about the disk containers.

            + *

            The token for the next page of results.

            */ - DiskContainers?: ImageDiskContainer[]; + NextToken?: string; /** * @public @@ -1611,378 +1564,443 @@ export interface ImportImageRequest { * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; +} +/** + * @public + *

            Describes the meta data tags associated with a transit gateway policy rule.

            + */ +export interface TransitGatewayPolicyRuleMetaData { /** * @public - *

            Specifies whether the destination AMI of the imported image should be encrypted. The default KMS key for EBS is used - * unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the - * Amazon Elastic Compute Cloud User Guide.

            + *

            The key name for the transit gateway policy rule meta data tag.

            */ - Encrypted?: boolean; + MetaDataKey?: string; /** * @public - *

            The target hypervisor platform.

            - *

            Valid values: xen - *

            + *

            The value of the key for the transit gateway policy rule meta data tag.

            */ - Hypervisor?: string; + MetaDataValue?: string; +} +/** + * @public + *

            Describes a rule associated with a transit gateway policy.

            + */ +export interface TransitGatewayPolicyRule { /** * @public - *

            An identifier for the symmetric KMS key to use when creating the - * encrypted AMI. This parameter is only required if you want to use a non-default KMS key; if this - * parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is - * specified, the Encrypted flag must also be set.

            - *

            The KMS key identifier may be provided in any of the following formats:

            - *
              - *
            • - *

              Key ID

              - *
            • - *
            • - *

              Key alias

              - *
            • - *
            • - *

              ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

              - *
            • - *
            • - *

              ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

              - *
            • - *
            - *

            Amazon Web Services parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even - * though you provided an invalid identifier. This action will eventually report failure.

            - *

            The specified KMS key must exist in the Region that the AMI is being copied to.

            - *

            Amazon EBS does not support asymmetric KMS keys.

            + *

            The source CIDR block for the transit gateway policy rule.

            */ - KmsKeyId?: string; + SourceCidrBlock?: string; /** * @public - *

            The license type to be used for the Amazon Machine Image (AMI) after importing.

            - *

            Specify AWS to replace the source-system license with an Amazon Web Services - * license or BYOL to retain the source-system license. Leaving this parameter - * undefined is the same as choosing AWS when importing a Windows Server operating - * system, and the same as choosing BYOL when importing a Windows client operating - * system (such as Windows 10) or a Linux operating system.

            - *

            To use BYOL, you must have existing licenses with rights to use these licenses in a third party - * cloud, such as Amazon Web Services. For more information, see Prerequisites in the - * VM Import/Export User Guide.

            + *

            The port range for the transit gateway policy rule. Currently this is set to * (all).

            */ - LicenseType?: string; + SourcePortRange?: string; /** * @public - *

            The operating system of the virtual machine. If you import a VM that is compatible with - * Unified Extensible Firmware Interface (UEFI) using an EBS snapshot, you must specify a value for - * the platform.

            - *

            Valid values: Windows | Linux - *

            + *

            The destination CIDR block for the transit gateway policy rule.

            */ - Platform?: string; + DestinationCidrBlock?: string; /** * @public - *

            The name of the role to use when not using the default role, 'vmimport'.

            + *

            The port range for the transit gateway policy rule. Currently this is set to * (all).

            */ - RoleName?: string; + DestinationPortRange?: string; /** * @public - *

            The ARNs of the license configurations.

            + *

            The protocol used by the transit gateway policy rule.

            */ - LicenseSpecifications?: ImportImageLicenseConfigurationRequest[]; + Protocol?: string; /** * @public - *

            The tags to apply to the import image task during creation.

            + *

            The meta data tags used for the transit gateway policy rule.

            */ - TagSpecifications?: TagSpecification[]; + MetaData?: TransitGatewayPolicyRuleMetaData; +} +/** + * @public + *

            Describes a transit gateway policy table entry

            + */ +export interface TransitGatewayPolicyTableEntry { /** * @public - *

            The usage operation value. For more information, see Licensing options in the VM Import/Export User Guide.

            + *

            The rule number for the transit gateway policy table entry.

            */ - UsageOperation?: string; + PolicyRuleNumber?: string; /** * @public - *

            The boot mode of the virtual machine.

            - * - *

            The uefi-preferred boot mode isn't supported for importing images. For more - * information, see Boot modes in - * the VM Import/Export User Guide.

            - *
            + *

            The policy rule associated with the transit gateway policy table.

            */ - BootMode?: BootModeValues; + PolicyRule?: TransitGatewayPolicyRule; + + /** + * @public + *

            The ID of the target route table.

            + */ + TargetRouteTableId?: string; } /** * @public */ -export interface ImportImageResult { +export interface GetTransitGatewayPolicyTableEntriesResult { /** * @public - *

            The architecture of the virtual machine.

            + *

            The entries for the transit gateway policy table.

            */ - Architecture?: string; + TransitGatewayPolicyTableEntries?: TransitGatewayPolicyTableEntry[]; +} +/** + * @public + */ +export interface GetTransitGatewayPrefixListReferencesRequest { /** * @public - *

            A description of the import task.

            + *

            The ID of the transit gateway route table.

            */ - Description?: string; + TransitGatewayRouteTableId: string | undefined; /** * @public - *

            Indicates whether the AMI is encrypted.

            - */ - Encrypted?: boolean; - + *

            One or more filters. The possible values are:

            + *
              + *
            • + *

              + * attachment.resource-id - The ID of the resource for the attachment.

              + *
            • + *
            • + *

              + * attachment.resource-type - The type of resource for the + * attachment. Valid values are vpc | vpn | + * direct-connect-gateway | peering.

              + *
            • + *
            • + *

              + * attachment.transit-gateway-attachment-id - The ID of the attachment.

              + *
            • + *
            • + *

              + * is-blackhole - Whether traffic matching the route is blocked (true | false).

              + *
            • + *
            • + *

              + * prefix-list-id - The ID of the prefix list.

              + *
            • + *
            • + *

              + * prefix-list-owner-id - The ID of the owner of the prefix list.

              + *
            • + *
            • + *

              + * state - The state of the prefix list reference (pending | available | modifying | deleting).

              + *
            • + *
            + */ + Filters?: Filter[]; + /** * @public - *

            The target hypervisor of the import task.

            + *

            The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

            */ - Hypervisor?: string; + MaxResults?: number; /** * @public - *

            The ID of the Amazon Machine Image (AMI) created by the import task.

            + *

            The token for the next page of results.

            */ - ImageId?: string; + NextToken?: string; /** * @public - *

            The task ID of the import image task.

            + *

            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.

            */ - ImportTaskId?: string; + DryRun?: boolean; +} +/** + * @public + */ +export interface GetTransitGatewayPrefixListReferencesResult { /** * @public - *

            The identifier for the symmetric KMS key that was used to create the encrypted AMI.

            + *

            Information about the prefix list references.

            */ - KmsKeyId?: string; + TransitGatewayPrefixListReferences?: TransitGatewayPrefixListReference[]; /** * @public - *

            The license type of the virtual machine.

            + *

            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

            */ - LicenseType?: string; + NextToken?: string; +} +/** + * @public + */ +export interface GetTransitGatewayRouteTableAssociationsRequest { /** * @public - *

            The operating system of the virtual machine.

            + *

            The ID of the transit gateway route table.

            */ - Platform?: string; + TransitGatewayRouteTableId: string | undefined; /** * @public - *

            The progress of the task.

            + *

            One or more filters. The possible values are:

            + *
              + *
            • + *

              + * resource-id - The ID of the resource.

              + *
            • + *
            • + *

              + * resource-type - The resource type. Valid values are vpc + * | vpn | direct-connect-gateway | peering + * | connect.

              + *
            • + *
            • + *

              + * transit-gateway-attachment-id - The ID of the attachment.

              + *
            • + *
            */ - Progress?: string; + Filters?: Filter[]; /** * @public - *

            Information about the snapshots.

            + *

            The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

            */ - SnapshotDetails?: SnapshotDetail[]; + MaxResults?: number; /** * @public - *

            A brief status of the task.

            + *

            The token for the next page of results.

            */ - Status?: string; + NextToken?: string; /** * @public - *

            A detailed status message of the import task.

            + *

            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.

            */ - StatusMessage?: string; + DryRun?: boolean; +} +/** + * @public + *

            Describes an association between a route table and a resource attachment.

            + */ +export interface TransitGatewayRouteTableAssociation { /** * @public - *

            The ARNs of the license configurations.

            + *

            The ID of the attachment.

            */ - LicenseSpecifications?: ImportImageLicenseConfigurationResponse[]; + TransitGatewayAttachmentId?: string; /** * @public - *

            Any tags assigned to the import image task.

            + *

            The ID of the resource.

            */ - Tags?: Tag[]; + ResourceId?: string; /** * @public - *

            The usage operation value.

            + *

            The resource type. Note that the tgw-peering resource type has been deprecated.

            */ - UsageOperation?: string; -} + ResourceType?: TransitGatewayAttachmentResourceType; -/** - * @public - *

            Describes a disk image.

            - */ -export interface DiskImageDetail { /** * @public - *

            The size of the disk image, in GiB.

            + *

            The state of the association.

            */ - Bytes: number | undefined; + State?: TransitGatewayAssociationState; +} +/** + * @public + */ +export interface GetTransitGatewayRouteTableAssociationsResult { /** * @public - *

            The disk image format.

            + *

            Information about the associations.

            */ - Format: DiskImageFormat | undefined; + Associations?: TransitGatewayRouteTableAssociation[]; /** * @public - *

            A presigned URL for the import manifest stored in Amazon S3 and presented here as an Amazon S3 presigned URL. - * For information about creating a presigned URL for an Amazon S3 object, read the "Query String Request Authentication - * Alternative" section of the Authenticating REST Requests topic in the Amazon Simple Storage Service Developer - * Guide.

            - *

            For information about the import manifest referenced by this API action, see VM Import Manifest.

            + *

            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

            */ - ImportManifestUrl: string | undefined; + NextToken?: string; } /** * @public - *

            Describes an EBS volume.

            */ -export interface VolumeDetail { +export interface GetTransitGatewayRouteTablePropagationsRequest { /** * @public - *

            The size of the volume, in GiB.

            + *

            The ID of the transit gateway route table.

            */ - Size: number | undefined; -} + TransitGatewayRouteTableId: string | undefined; -/** - * @public - *

            Describes a disk image.

            - */ -export interface DiskImage { /** * @public - *

            A description of the disk image.

            + *

            One or more filters. The possible values are:

            + *
              + *
            • + *

              + * resource-id - The ID of the resource.

              + *
            • + *
            • + *

              + * resource-type - The resource type. Valid values are vpc + * | vpn | direct-connect-gateway | peering + * | connect.

              + *
            • + *
            • + *

              + * transit-gateway-attachment-id - The ID of the attachment.

              + *
            • + *
            */ - Description?: string; + Filters?: Filter[]; /** * @public - *

            Information about the disk image.

            + *

            The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

            */ - Image?: DiskImageDetail; + MaxResults?: number; /** * @public - *

            Information about the volume.

            + *

            The token for the next page of results.

            */ - Volume?: VolumeDetail; -} + NextToken?: string; -/** - * @public - *

            Describes the user data for an instance.

            - */ -export interface UserData { /** * @public - *

            The user data. If you are using an Amazon Web Services SDK or command line tool, Base64-encoding is performed for you, and you - * can load the text from a file. Otherwise, you must provide Base64-encoded text.

            + *

            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.

            */ - Data?: string; + DryRun?: boolean; } /** * @public - *

            Describes the launch specification for VM import.

            + *

            Describes a route table propagation.

            */ -export interface ImportInstanceLaunchSpecification { +export interface TransitGatewayRouteTablePropagation { /** * @public - *

            Reserved.

            + *

            The ID of the attachment.

            */ - AdditionalInfo?: string; + TransitGatewayAttachmentId?: string; /** * @public - *

            The architecture of the instance.

            + *

            The ID of the resource.

            */ - Architecture?: ArchitectureValues; + ResourceId?: string; /** * @public - *

            The security group IDs.

            + *

            The type of resource. Note that the tgw-peering resource type has been deprecated.

            */ - GroupIds?: string[]; + ResourceType?: TransitGatewayAttachmentResourceType; /** * @public - *

            The security group names.

            + *

            The state of the resource.

            */ - GroupNames?: string[]; + State?: TransitGatewayPropagationState; /** * @public - *

            Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the - * operating system command for system shutdown).

            + *

            The ID of the transit gateway route table announcement.

            */ - InstanceInitiatedShutdownBehavior?: ShutdownBehavior; + TransitGatewayRouteTableAnnouncementId?: string; +} +/** + * @public + */ +export interface GetTransitGatewayRouteTablePropagationsResult { /** * @public - *

            The instance type. For more information about the instance types that you can import, see Instance Types in the - * VM Import/Export User Guide.

            + *

            Information about the route table propagations.

            */ - InstanceType?: _InstanceType; + TransitGatewayRouteTablePropagations?: TransitGatewayRouteTablePropagation[]; /** * @public - *

            Indicates whether monitoring is enabled.

            + *

            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

            */ - Monitoring?: boolean; + NextToken?: string; +} +/** + * @public + */ +export interface GetVerifiedAccessEndpointPolicyRequest { /** * @public - *

            The placement information for the instance.

            + *

            The ID of the Verified Access endpoint.

            */ - Placement?: Placement; + VerifiedAccessEndpointId: string | undefined; /** * @public - *

            [EC2-VPC] An available IP address from the IP address range of the subnet.

            + *

            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.

            */ - PrivateIpAddress?: string; + DryRun?: boolean; +} +/** + * @public + */ +export interface GetVerifiedAccessEndpointPolicyResult { /** * @public - *

            [EC2-VPC] The ID of the subnet in which to launch the instance.

            + *

            The status of the Verified Access policy.

            */ - SubnetId?: string; + PolicyEnabled?: boolean; /** * @public - *

            The Base64-encoded user data to make available to the instance.

            + *

            The Verified Access policy document.

            */ - UserData?: UserData; + PolicyDocument?: string; } /** * @public */ -export interface ImportInstanceRequest { - /** - * @public - *

            A description for the instance being imported.

            - */ - Description?: string; - +export interface GetVerifiedAccessGroupPolicyRequest { /** * @public - *

            The disk image.

            + *

            The ID of the Verified Access group.

            */ - DiskImages?: DiskImage[]; + VerifiedAccessGroupId: string | undefined; /** * @public @@ -1991,1843 +2009,1688 @@ export interface ImportInstanceRequest { * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; - - /** - * @public - *

            The launch specification.

            - */ - LaunchSpecification?: ImportInstanceLaunchSpecification; - - /** - * @public - *

            The instance operating system.

            - */ - Platform: PlatformValues | undefined; } /** * @public */ -export interface ImportInstanceResult { +export interface GetVerifiedAccessGroupPolicyResult { /** * @public - *

            Information about the conversion task.

            + *

            The status of the Verified Access policy.

            */ - ConversionTask?: ConversionTask; + PolicyEnabled?: boolean; + + /** + * @public + *

            The Verified Access policy document.

            + */ + PolicyDocument?: string; } /** * @public */ -export interface ImportKeyPairRequest { +export interface GetVpnConnectionDeviceSampleConfigurationRequest { /** * @public - *

            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.

            + *

            The VpnConnectionId specifies the Site-to-Site VPN connection used for the sample + * configuration.

            */ - DryRun?: boolean; + VpnConnectionId: string | undefined; /** * @public - *

            A unique name for the key pair.

            + *

            Device identifier provided by the GetVpnConnectionDeviceTypes API.

            */ - KeyName: string | undefined; + VpnConnectionDeviceTypeId: string | undefined; /** * @public - *

            The public key. For API calls, the text must be base64-encoded. For command line tools, base64 encoding is performed for you.

            + *

            The IKE version to be used in the sample configuration file for your customer gateway + * device. You can specify one of the following versions: ikev1 or + * ikev2.

            */ - PublicKeyMaterial: Uint8Array | undefined; + InternetKeyExchangeVersion?: string; /** * @public - *

            The tags to apply to the imported key pair.

            + *

            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.

            */ - TagSpecifications?: TagSpecification[]; + DryRun?: boolean; } /** * @public */ -export interface ImportKeyPairResult { +export interface GetVpnConnectionDeviceSampleConfigurationResult { /** * @public - *
              - *
            • - *

              For RSA key pairs, the key fingerprint is the MD5 public key fingerprint as specified in section 4 of RFC 4716.

              - *
            • - *
            • - *

              For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

              - *
            • - *
            + *

            Sample configuration file for the specified customer gateway device.

            */ - KeyFingerprint?: string; + VpnConnectionDeviceSampleConfiguration?: string; +} +/** + * @public + */ +export interface GetVpnConnectionDeviceTypesRequest { /** * @public - *

            The key pair name that you provided.

            + *

            The maximum number of results returned by GetVpnConnectionDeviceTypes in + * paginated output. When this parameter is used, GetVpnConnectionDeviceTypes + * only returns MaxResults results in a single page along with a + * NextToken response element. The remaining results of the initial + * request can be seen by sending another GetVpnConnectionDeviceTypes request + * with the returned NextToken value. This value can be between 200 and 1000. + * If this parameter is not used, then GetVpnConnectionDeviceTypes returns all + * results.

            */ - KeyName?: string; + MaxResults?: number; /** * @public - *

            The ID of the resulting key pair.

            + *

            The NextToken value returned from a previous paginated + * GetVpnConnectionDeviceTypes request where MaxResults was + * used and the results exceeded the value of that parameter. Pagination continues from the + * end of the previous results that returned the NextToken value. This value + * is null when there are no more results to return.

            */ - KeyPairId?: string; + NextToken?: string; /** * @public - *

            The tags applied to the imported key pair.

            + *

            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.

            */ - Tags?: Tag[]; + DryRun?: boolean; } /** * @public - *

            The disk container object for the import snapshot request.

            + *

            List of customer gateway devices that have a sample configuration file available for + * use. You can also see the list of device types with sample configuration files available + * under Your customer + * gateway device in the Amazon Web Services Site-to-Site VPN User Guide.

            */ -export interface SnapshotDiskContainer { +export interface VpnConnectionDeviceType { /** * @public - *

            The description of the disk image being imported.

            + *

            Customer gateway device identifier.

            */ - Description?: string; + VpnConnectionDeviceTypeId?: string; /** * @public - *

            The format of the disk image being imported.

            - *

            Valid values: VHD | VMDK | RAW - *

            + *

            Customer gateway device vendor.

            */ - Format?: string; + Vendor?: string; /** * @public - *

            The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon - * S3 URL (s3://..).

            + *

            Customer gateway device platform.

            */ - Url?: string; + Platform?: string; /** * @public - *

            The Amazon S3 bucket for the disk image.

            + *

            Customer gateway device software version.

            */ - UserBucket?: UserBucket; + Software?: string; } /** * @public */ -export interface ImportSnapshotRequest { +export interface GetVpnConnectionDeviceTypesResult { /** * @public - *

            The client-specific data.

            + *

            List of customer gateway devices that have a sample configuration file available for + * use.

            */ - ClientData?: ClientData; + VpnConnectionDeviceTypes?: VpnConnectionDeviceType[]; /** * @public - *

            Token to enable idempotency for VM import requests.

            + *

            The NextToken value to include in a future + * GetVpnConnectionDeviceTypes request. When the results of a + * GetVpnConnectionDeviceTypes request exceed MaxResults, + * this value can be used to retrieve the next page of results. This value is null when + * there are no more results to return.

            */ - ClientToken?: string; + NextToken?: string; +} +/** + * @public + */ +export interface GetVpnTunnelReplacementStatusRequest { /** * @public - *

            The description string for the import snapshot task.

            + *

            The ID of the Site-to-Site VPN connection.

            */ - Description?: string; + VpnConnectionId: string | undefined; /** * @public - *

            Information about the disk container.

            + *

            The external IP address of the VPN tunnel.

            */ - DiskContainer?: SnapshotDiskContainer; + VpnTunnelOutsideIpAddress: string | undefined; /** * @public - *

            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.

            + *

            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.

            */ DryRun?: boolean; +} +/** + * @public + *

            Details for Site-to-Site VPN tunnel endpoint maintenance events.

            + */ +export interface MaintenanceDetails { /** * @public - *

            Specifies whether the destination snapshot of the imported image should be encrypted. The default KMS key for EBS is - * used unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the - * Amazon Elastic Compute Cloud User Guide.

            - */ - Encrypted?: boolean; - - /** - * @public - *

            An identifier for the symmetric KMS key to use when creating the - * encrypted snapshot. This parameter is only required if you want to use a non-default KMS key; if this - * parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is - * specified, the Encrypted flag must also be set.

            - *

            The KMS key identifier may be provided in any of the following formats:

            - *
              - *
            • - *

              Key ID

              - *
            • - *
            • - *

              Key alias

              - *
            • - *
            • - *

              ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

              - *
            • - *
            • - *

              ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

              - *
            • - *
            - *

            Amazon Web Services parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even - * though you provided an invalid identifier. This action will eventually report failure.

            - *

            The specified KMS key must exist in the Region that the snapshot is being copied to.

            - *

            Amazon EBS does not support asymmetric KMS keys.

            + *

            Verify existence of a pending maintenance.

            */ - KmsKeyId?: string; + PendingMaintenance?: string; /** * @public - *

            The name of the role to use when not using the default role, 'vmimport'.

            + *

            The timestamp after which Amazon Web Services will automatically apply maintenance.

            */ - RoleName?: string; + MaintenanceAutoAppliedAfter?: Date; /** * @public - *

            The tags to apply to the import snapshot task during creation.

            + *

            Timestamp of last applied maintenance.

            */ - TagSpecifications?: TagSpecification[]; + LastMaintenanceApplied?: Date; } /** * @public */ -export interface ImportSnapshotResult { +export interface GetVpnTunnelReplacementStatusResult { /** * @public - *

            A description of the import snapshot task.

            + *

            The ID of the Site-to-Site VPN connection.

            */ - Description?: string; + VpnConnectionId?: string; /** * @public - *

            The ID of the import snapshot task.

            + *

            The ID of the transit gateway associated with the VPN connection.

            */ - ImportTaskId?: string; + TransitGatewayId?: string; /** * @public - *

            Information about the import snapshot task.

            + *

            The ID of the customer gateway.

            */ - SnapshotTaskDetail?: SnapshotTaskDetail; + CustomerGatewayId?: string; /** * @public - *

            Any tags assigned to the import snapshot task.

            + *

            The ID of the virtual private gateway.

            */ - Tags?: Tag[]; -} + VpnGatewayId?: string; -/** - * @public - */ -export interface ImportVolumeRequest { /** * @public - *

            The Availability Zone for the resulting EBS volume.

            + *

            The external IP address of the VPN tunnel.

            */ - AvailabilityZone: string | undefined; + VpnTunnelOutsideIpAddress?: string; /** * @public - *

            A description of the volume.

            + *

            Get details of pending tunnel endpoint maintenance.

            */ - Description?: string; + MaintenanceDetails?: MaintenanceDetails; +} +/** + * @public + */ +export interface ImportClientVpnClientCertificateRevocationListRequest { /** * @public - *

            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.

            + *

            The ID of the Client VPN endpoint to which the client certificate revocation list applies.

            */ - DryRun?: boolean; + ClientVpnEndpointId: string | undefined; /** * @public - *

            The disk image.

            + *

            The client certificate revocation list file. For more information, see Generate a Client Certificate Revocation List in the + * Client VPN Administrator Guide.

            */ - Image: DiskImageDetail | undefined; + CertificateRevocationList: string | undefined; /** * @public - *

            The volume size.

            + *

            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.

            */ - Volume: VolumeDetail | undefined; + DryRun?: boolean; } /** * @public */ -export interface ImportVolumeResult { +export interface ImportClientVpnClientCertificateRevocationListResult { /** * @public - *

            Information about the conversion task.

            + *

            Returns true if the request succeeds; otherwise, it returns an error.

            */ - ConversionTask?: ConversionTask; + Return?: boolean; } /** * @public + *

            Describes the client-specific data.

            */ -export interface ListImagesInRecycleBinRequest { +export interface ClientData { /** * @public - *

            The IDs of the AMIs to list. Omit this parameter to list all of the AMIs that - * are in the Recycle Bin. You can specify up to 20 IDs in a single request.

            + *

            A user-defined comment about the disk upload.

            */ - ImageIds?: string[]; + Comment?: string; /** * @public - *

            The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

            + *

            The time that the disk upload ends.

            */ - NextToken?: string; + UploadEnd?: Date; /** * @public - *

            The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

            + *

            The size of the uploaded disk image, in GiB.

            */ - MaxResults?: number; + UploadSize?: number; /** * @public - *

            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.

            + *

            The time that the disk upload starts.

            */ - DryRun?: boolean; + UploadStart?: Date; } /** * @public - *

            Information about an AMI that is currently in the Recycle Bin.

            + *

            Describes the Amazon S3 bucket for the disk image.

            */ -export interface ImageRecycleBinInfo { +export interface UserBucket { /** * @public - *

            The ID of the AMI.

            + *

            The name of the Amazon S3 bucket where the disk image is located.

            */ - ImageId?: string; + S3Bucket?: string; /** * @public - *

            The name of the AMI.

            + *

            The file name of the disk image.

            */ - Name?: string; + S3Key?: string; +} +/** + * @public + *

            Describes the disk container object for an import image task.

            + */ +export interface ImageDiskContainer { /** * @public - *

            The description of the AMI.

            + *

            The description of the disk image.

            */ Description?: string; /** * @public - *

            The date and time when the AMI entered the Recycle Bin.

            + *

            The block device mapping for the disk.

            */ - RecycleBinEnterTime?: Date; + DeviceName?: string; /** * @public - *

            The date and time when the AMI is to be permanently deleted from the Recycle Bin.

            + *

            The format of the disk image being imported.

            + *

            Valid values: OVA | VHD | VHDX | VMDK | RAW + *

            */ - RecycleBinExitTime?: Date; -} + Format?: string; -/** - * @public - */ -export interface ListImagesInRecycleBinResult { /** * @public - *

            Information about the AMIs.

            + *

            The ID of the EBS snapshot to be used for importing the snapshot.

            */ - Images?: ImageRecycleBinInfo[]; + SnapshotId?: string; /** * @public - *

            The token to include in another request to get the next page of items. This value is null when there - * are no more items to return.

            + *

            The URL to the Amazon S3-based disk image being imported. The URL can either be a https URL (https://..) or an + * Amazon S3 URL (s3://..)

            */ - NextToken?: string; + Url?: string; + + /** + * @public + *

            The S3 bucket for the disk image.

            + */ + UserBucket?: UserBucket; } /** * @public + *

            The request information of license configurations.

            */ -export interface ListSnapshotsInRecycleBinRequest { +export interface ImportImageLicenseConfigurationRequest { /** * @public - *

            The maximum number of items to return for this request. - * To get the next page of items, make another request with the token returned in the output. - * For more information, see Pagination.

            + *

            The ARN of a license configuration.

            */ - MaxResults?: number; + LicenseConfigurationArn?: string; +} +/** + * @public + */ +export interface ImportImageRequest { /** * @public - *

            The token returned from a previous paginated request. - * Pagination continues from the end of the items returned by the previous request.

            + *

            The architecture of the virtual machine.

            + *

            Valid values: i386 | x86_64 + *

            */ - NextToken?: string; + Architecture?: string; /** * @public - *

            The IDs of the snapshots to list. Omit this parameter to list all of the - * snapshots that are in the Recycle Bin.

            + *

            The client-specific data.

            */ - SnapshotIds?: string[]; + ClientData?: ClientData; /** * @public - *

            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.

            + *

            The token to enable idempotency for VM import requests.

            */ - DryRun?: boolean; -} + ClientToken?: string; -/** - * @public - *

            Information about a snapshot that is currently in the Recycle Bin.

            - */ -export interface SnapshotRecycleBinInfo { /** * @public - *

            The ID of the snapshot.

            + *

            A description string for the import image task.

            */ - SnapshotId?: string; + Description?: string; /** * @public - *

            The date and time when the snaphsot entered the Recycle Bin.

            + *

            Information about the disk containers.

            */ - RecycleBinEnterTime?: Date; + DiskContainers?: ImageDiskContainer[]; /** * @public - *

            The date and time when the snapshot is to be permanently deleted from the Recycle Bin.

            + *

            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.

            */ - RecycleBinExitTime?: Date; + DryRun?: boolean; /** * @public - *

            The description for the snapshot.

            + *

            Specifies whether the destination AMI of the imported image should be encrypted. The default KMS key for EBS is used + * unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the + * Amazon Elastic Compute Cloud User Guide.

            */ - Description?: string; + Encrypted?: boolean; /** * @public - *

            The ID of the volume from which the snapshot was created.

            + *

            The target hypervisor platform.

            + *

            Valid values: xen + *

            */ - VolumeId?: string; -} + Hypervisor?: string; -/** - * @public - */ -export interface ListSnapshotsInRecycleBinResult { /** * @public - *

            Information about the snapshots.

            + *

            An identifier for the symmetric KMS key to use when creating the + * encrypted AMI. This parameter is only required if you want to use a non-default KMS key; if this + * parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is + * specified, the Encrypted flag must also be set.

            + *

            The KMS key identifier may be provided in any of the following formats:

            + *
              + *
            • + *

              Key ID

              + *
            • + *
            • + *

              Key alias

              + *
            • + *
            • + *

              ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

              + *
            • + *
            • + *

              ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

              + *
            • + *
            + *

            Amazon Web Services parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even + * though you provided an invalid identifier. This action will eventually report failure.

            + *

            The specified KMS key must exist in the Region that the AMI is being copied to.

            + *

            Amazon EBS does not support asymmetric KMS keys.

            */ - Snapshots?: SnapshotRecycleBinInfo[]; + KmsKeyId?: string; /** * @public - *

            The token to include in another request to get the next page of items. - * This value is null when there are no more items to return.

            + *

            The license type to be used for the Amazon Machine Image (AMI) after importing.

            + *

            Specify AWS to replace the source-system license with an Amazon Web Services + * license or BYOL to retain the source-system license. Leaving this parameter + * undefined is the same as choosing AWS when importing a Windows Server operating + * system, and the same as choosing BYOL when importing a Windows client operating + * system (such as Windows 10) or a Linux operating system.

            + *

            To use BYOL, you must have existing licenses with rights to use these licenses in a third party + * cloud, such as Amazon Web Services. For more information, see Prerequisites in the + * VM Import/Export User Guide.

            */ - NextToken?: string; -} + LicenseType?: string; -/** - * @public - * @enum - */ -export const LockMode = { - compliance: "compliance", - governance: "governance", -} as const; + /** + * @public + *

            The operating system of the virtual machine. If you import a VM that is compatible with + * Unified Extensible Firmware Interface (UEFI) using an EBS snapshot, you must specify a value for + * the platform.

            + *

            Valid values: Windows | Linux + *

            + */ + Platform?: string; -/** - * @public - */ -export type LockMode = (typeof LockMode)[keyof typeof LockMode]; + /** + * @public + *

            The name of the role to use when not using the default role, 'vmimport'.

            + */ + RoleName?: string; -/** - * @public - */ -export interface LockSnapshotRequest { /** * @public - *

            The ID of the snapshot to lock.

            + *

            The ARNs of the license configurations.

            */ - SnapshotId: string | undefined; + LicenseSpecifications?: ImportImageLicenseConfigurationRequest[]; /** * @public - *

            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.

            + *

            The tags to apply to the import image task during creation.

            */ - DryRun?: boolean; + TagSpecifications?: TagSpecification[]; /** * @public - *

            The mode in which to lock the snapshot. Specify one of the following:

            - *
              - *
            • - *

              - * governance - Locks the snapshot in governance mode. Snapshots locked in governance - * mode can't be deleted until one of the following conditions are met:

              - *
                - *
              • - *

                The lock duration expires.

                - *
              • - *
              • - *

                The snapshot is unlocked by a user with the appropriate permissions.

                - *
              • - *
              - *

              Users with the appropriate IAM permissions can unlock the snapshot, increase or decrease the lock - * duration, and change the lock mode to compliance at any time.

              - *

              If you lock a snapshot in governance mode, omit - * CoolOffPeriod.

              - *
            • - *
            • - *

              - * compliance - Locks the snapshot in compliance mode. Snapshots locked in compliance - * mode can't be unlocked by any user. They can be deleted only after the lock duration expires. Users - * can't decrease the lock duration or change the lock mode to governance. However, users - * with appropriate IAM permissions can increase the lock duration at any time.

              - *

              If you lock a snapshot in compliance mode, you can optionally specify - * CoolOffPeriod.

              - *
            • - *
            + *

            The usage operation value. For more information, see Licensing options in the VM Import/Export User Guide.

            */ - LockMode: LockMode | undefined; + UsageOperation?: string; /** * @public - *

            The cooling-off period during which you can unlock the snapshot or modify the lock settings after - * locking the snapshot in compliance mode, in hours. After the cooling-off period expires, you can't - * unlock or delete the snapshot, decrease the lock duration, or change the lock mode. You can increase - * the lock duration after the cooling-off period expires.

            - *

            The cooling-off period is optional when locking a snapshot in compliance mode. If you are locking - * the snapshot in governance mode, omit this parameter.

            - *

            To lock the snapshot in compliance mode immediately without a cooling-off period, omit this - * parameter.

            - *

            If you are extending the lock duration for a snapshot that is locked in compliance mode after - * the cooling-off period has expired, omit this parameter. If you specify a cooling-period in a such - * a request, the request fails.

            - *

            Allowed values: Min 1, max 72.

            + *

            The boot mode of the virtual machine.

            + * + *

            The uefi-preferred boot mode isn't supported for importing images. For more + * information, see Boot modes in + * the VM Import/Export User Guide.

            + *
            */ - CoolOffPeriod?: number; + BootMode?: BootModeValues; +} +/** + * @public + */ +export interface ImportImageResult { /** * @public - *

            The period of time for which to lock the snapshot, in days. The snapshot lock will automatically - * expire after this period lapses.

            - *

            You must specify either this parameter or ExpirationDate, but - * not both.

            - *

            Allowed values: Min: 1, max 36500

            + *

            The architecture of the virtual machine.

            */ - LockDuration?: number; + Architecture?: string; /** * @public - *

            The date and time at which the snapshot lock is to automatically expire, in the UTC time zone - * (YYYY-MM-DDThh:mm:ss.sssZ).

            - *

            You must specify either this parameter or LockDuration, but - * not both.

            + *

            A description of the import task.

            */ - ExpirationDate?: Date; -} + Description?: string; -/** - * @public - */ -export interface LockSnapshotResult { /** * @public - *

            The ID of the snapshot

            + *

            Indicates whether the AMI is encrypted.

            */ - SnapshotId?: string; + Encrypted?: boolean; /** * @public - *

            The state of the snapshot lock. Valid states include:

            - *
              - *
            • - *

              - * compliance-cooloff - The snapshot has been locked in - * compliance mode but it is still within the cooling-off period. The snapshot can't be - * deleted, but it can be unlocked and the lock settings can be modified by users with - * appropriate permissions.

              - *
            • - *
            • - *

              - * governance - The snapshot is locked in governance mode. The - * snapshot can't be deleted, but it can be unlocked and the lock settings can be - * modified by users with appropriate permissions.

              - *
            • - *
            • - *

              - * compliance - The snapshot is locked in compliance mode and the - * cooling-off period has expired. The snapshot can't be unlocked or deleted. The lock - * duration can only be increased by users with appropriate permissions.

              - *
            • - *
            • - *

              - * expired - The snapshot was locked in compliance or governance - * mode but the lock duration has expired. The snapshot is not locked and can be deleted.

              - *
            • - *
            + *

            The target hypervisor of the import task.

            */ - LockState?: LockState; + Hypervisor?: string; /** * @public - *

            The period of time for which the snapshot is locked, in days.

            + *

            The ID of the Amazon Machine Image (AMI) created by the import task.

            */ - LockDuration?: number; + ImageId?: string; /** * @public - *

            The compliance mode cooling-off period, in hours.

            + *

            The task ID of the import image task.

            */ - CoolOffPeriod?: number; + ImportTaskId?: string; /** * @public - *

            The date and time at which the compliance mode cooling-off period expires, in the UTC time zone - * (YYYY-MM-DDThh:mm:ss.sssZ).

            + *

            The identifier for the symmetric KMS key that was used to create the encrypted AMI.

            */ - CoolOffPeriodExpiresOn?: Date; + KmsKeyId?: string; /** * @public - *

            The date and time at which the snapshot was locked, in the UTC time zone - * (YYYY-MM-DDThh:mm:ss.sssZ).

            + *

            The license type of the virtual machine.

            */ - LockCreatedOn?: Date; + LicenseType?: string; /** * @public - *

            The date and time at which the lock will expire, in the UTC time zone - * (YYYY-MM-DDThh:mm:ss.sssZ).

            + *

            The operating system of the virtual machine.

            */ - LockExpiresOn?: Date; + Platform?: string; /** * @public - *

            The date and time at which the lock duration started, in the UTC time zone - * (YYYY-MM-DDThh:mm:ss.sssZ).

            + *

            The progress of the task.

            */ - LockDurationStartTime?: Date; -} + Progress?: string; -/** - * @public - */ -export interface ModifyAddressAttributeRequest { /** * @public - *

            [EC2-VPC] The allocation ID.

            + *

            Information about the snapshots.

            */ - AllocationId: string | undefined; + SnapshotDetails?: SnapshotDetail[]; /** * @public - *

            The domain name to modify for the IP address.

            + *

            A brief status of the task.

            */ - DomainName?: string; + Status?: string; /** * @public - *

            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.

            + *

            A detailed status message of the import task.

            */ - DryRun?: boolean; -} + StatusMessage?: string; -/** - * @public - */ -export interface ModifyAddressAttributeResult { /** * @public - *

            Information about the Elastic IP address.

            + *

            The ARNs of the license configurations.

            */ - Address?: AddressAttribute; -} + LicenseSpecifications?: ImportImageLicenseConfigurationResponse[]; -/** - * @public - * @enum - */ -export const ModifyAvailabilityZoneOptInStatus = { - not_opted_in: "not-opted-in", - opted_in: "opted-in", -} as const; + /** + * @public + *

            Any tags assigned to the import image task.

            + */ + Tags?: Tag[]; -/** - * @public - */ -export type ModifyAvailabilityZoneOptInStatus = - (typeof ModifyAvailabilityZoneOptInStatus)[keyof typeof ModifyAvailabilityZoneOptInStatus]; + /** + * @public + *

            The usage operation value.

            + */ + UsageOperation?: string; +} /** * @public + *

            Describes a disk image.

            */ -export interface ModifyAvailabilityZoneGroupRequest { +export interface DiskImageDetail { /** * @public - *

            The name of the Availability Zone group, Local Zone group, or Wavelength Zone - * group.

            + *

            The size of the disk image, in GiB.

            */ - GroupName: string | undefined; + Bytes: number | undefined; /** * @public - *

            Indicates whether you are opted in to the Local Zone group or Wavelength Zone group. The - * only valid value is opted-in. You must contact Amazon Web Services Support to opt out of a Local Zone or Wavelength Zone group.

            + *

            The disk image format.

            */ - OptInStatus: ModifyAvailabilityZoneOptInStatus | undefined; + Format: DiskImageFormat | undefined; /** * @public - *

            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.

            + *

            A presigned URL for the import manifest stored in Amazon S3 and presented here as an Amazon S3 presigned URL. + * For information about creating a presigned URL for an Amazon S3 object, read the "Query String Request Authentication + * Alternative" section of the Authenticating REST Requests topic in the Amazon Simple Storage Service Developer + * Guide.

            + *

            For information about the import manifest referenced by this API action, see VM Import Manifest.

            */ - DryRun?: boolean; + ImportManifestUrl: string | undefined; } /** * @public + *

            Describes an EBS volume.

            */ -export interface ModifyAvailabilityZoneGroupResult { +export interface VolumeDetail { /** * @public - *

            Is true if the request succeeds, and an error otherwise.

            + *

            The size of the volume, in GiB.

            */ - Return?: boolean; + Size: number | undefined; } /** * @public + *

            Describes a disk image.

            */ -export interface ModifyCapacityReservationRequest { +export interface DiskImage { /** * @public - *

            The ID of the Capacity Reservation.

            + *

            A description of the disk image.

            */ - CapacityReservationId: string | undefined; + Description?: string; /** * @public - *

            The number of instances for which to reserve capacity. The number of instances can't be increased or - * decreased by more than 1000 in a single request.

            + *

            Information about the disk image.

            */ - InstanceCount?: number; + Image?: DiskImageDetail; /** * @public - *

            The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity - * is released and you can no longer launch instances into it. The Capacity Reservation's state changes to - * expired when it reaches its end date and time.

            - *

            The Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify - * 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.

            - *

            You must provide an EndDate value if EndDateType is - * limited. Omit EndDate if EndDateType is - * unlimited.

            + *

            Information about the volume.

            */ - EndDate?: Date; + Volume?: VolumeDetail; +} +/** + * @public + *

            Describes the user data for an instance.

            + */ +export interface UserData { /** * @public - *

            Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end - * types:

            - *
              - *
            • - *

              - * unlimited - The Capacity Reservation remains active until you explicitly cancel it. Do not - * provide an EndDate value if EndDateType is - * unlimited.

              - *
            • - *
            • - *

              - * limited - The Capacity Reservation expires automatically at a specified date and time. You must - * provide an EndDate value if EndDateType is - * limited.

              - *
            • - *
            - */ - EndDateType?: EndDateType; - - /** - * @public - *

            Reserved. Capacity Reservations you have created are accepted by default.

            + *

            The user data. If you are using an Amazon Web Services SDK or command line tool, Base64-encoding is performed for you, and you + * can load the text from a file. Otherwise, you must provide Base64-encoded text.

            */ - Accept?: boolean; + Data?: string; +} +/** + * @public + *

            Describes the launch specification for VM import.

            + */ +export interface ImportInstanceLaunchSpecification { /** * @public - *

            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.

            + *

            Reserved.

            */ - DryRun?: boolean; + AdditionalInfo?: string; /** * @public - *

            Reserved for future use.

            + *

            The architecture of the instance.

            */ - AdditionalInfo?: string; -} + Architecture?: ArchitectureValues; -/** - * @public - */ -export interface ModifyCapacityReservationResult { /** * @public - *

            Returns true if the request succeeds; otherwise, it returns an error.

            + *

            The security group IDs.

            */ - Return?: boolean; -} + GroupIds?: string[]; -/** - * @public - */ -export interface ModifyCapacityReservationFleetRequest { /** * @public - *

            The ID of the Capacity Reservation Fleet to modify.

            + *

            The security group names.

            */ - CapacityReservationFleetId: string | undefined; + GroupNames?: string[]; /** * @public - *

            The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, - * together with the instance type weights that you assign to each instance type used by the Fleet - * determine the number of instances for which the Fleet reserves capacity. Both values are based on - * units that make sense for your workload. For more information, see Total target capacity - * in the Amazon EC2 User Guide.

            + *

            Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the + * operating system command for system shutdown).

            */ - TotalTargetCapacity?: number; + InstanceInitiatedShutdownBehavior?: ShutdownBehavior; /** * @public - *

            The date and time at which the Capacity Reservation Fleet expires. When the Capacity Reservation - * Fleet expires, its state changes to expired and all of the Capacity Reservations in the - * Fleet expire.

            - *

            The Capacity Reservation Fleet expires within an hour after the specified time. For example, if you - * specify 5/31/2019, 13:30:55, the Capacity Reservation Fleet is guaranteed - * to expire between 13:30:55 and 14:30:55 on 5/31/2019.

            - *

            You can't specify EndDate and - * RemoveEndDate in the same request.

            + *

            The instance type. For more information about the instance types that you can import, see Instance Types in the + * VM Import/Export User Guide.

            */ - EndDate?: Date; + InstanceType?: _InstanceType; /** * @public - *

            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.

            + *

            Indicates whether monitoring is enabled.

            */ - DryRun?: boolean; + Monitoring?: boolean; /** * @public - *

            Indicates whether to remove the end date from the Capacity Reservation Fleet. If you remove the - * end date, the Capacity Reservation Fleet does not expire and it remains active until you explicitly - * cancel it using the CancelCapacityReservationFleet action.

            - *

            You can't specify RemoveEndDate and - * EndDate in the same request.

            + *

            The placement information for the instance.

            */ - RemoveEndDate?: boolean; -} + Placement?: Placement; -/** - * @public - */ -export interface ModifyCapacityReservationFleetResult { /** * @public - *

            Returns true if the request succeeds; otherwise, it returns an error.

            + *

            [EC2-VPC] An available IP address from the IP address range of the subnet.

            */ - Return?: boolean; -} + PrivateIpAddress?: string; -/** - * @public - *

            Information about the DNS server to be used.

            - */ -export interface DnsServersOptionsModifyStructure { /** * @public - *

            The IPv4 address range, in CIDR notation, of the DNS servers to be used. You can specify up to - * two DNS servers. Ensure that the DNS servers can be reached by the clients. The specified values - * overwrite the existing values.

            + *

            [EC2-VPC] The ID of the subnet in which to launch the instance.

            */ - CustomDnsServers?: string[]; + SubnetId?: string; /** * @public - *

            Indicates whether DNS servers should be used. Specify False to delete the existing DNS - * servers.

            + *

            The Base64-encoded user data to make available to the instance.

            */ - Enabled?: boolean; + UserData?: UserData; } /** * @public */ -export interface ModifyClientVpnEndpointRequest { +export interface ImportInstanceRequest { /** * @public - *

            The ID of the Client VPN endpoint to modify.

            + *

            A description for the instance being imported.

            */ - ClientVpnEndpointId: string | undefined; + Description?: string; /** * @public - *

            The ARN of the server certificate to be used. The server certificate must be provisioned in - * Certificate Manager (ACM).

            + *

            The disk image.

            */ - ServerCertificateArn?: string; + DiskImages?: DiskImage[]; /** * @public - *

            Information about the client connection logging options.

            - *

            If you enable client connection logging, data about client connections is sent to a - * Cloudwatch Logs log stream. The following information is logged:

            - *
              - *
            • - *

              Client connection requests

              - *
            • - *
            • - *

              Client connection results (successful and unsuccessful)

              - *
            • - *
            • - *

              Reasons for unsuccessful client connection requests

              - *
            • - *
            • - *

              Client connection termination time

              - *
            • - *
            + *

            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.

            */ - ConnectionLogOptions?: ConnectionLogOptions; + DryRun?: boolean; /** * @public - *

            Information about the DNS servers to be used by Client VPN connections. A Client VPN endpoint can have - * up to two DNS servers.

            + *

            The launch specification.

            */ - DnsServers?: DnsServersOptionsModifyStructure; + LaunchSpecification?: ImportInstanceLaunchSpecification; /** * @public - *

            The port number to assign to the Client VPN endpoint for TCP and UDP traffic.

            - *

            Valid Values: 443 | 1194 - *

            - *

            Default Value: 443 - *

            + *

            The instance operating system.

            */ - VpnPort?: number; + Platform: PlatformValues | undefined; +} +/** + * @public + */ +export interface ImportInstanceResult { /** * @public - *

            A brief description of the Client VPN endpoint.

            + *

            Information about the conversion task.

            */ - Description?: string; + ConversionTask?: ConversionTask; +} +/** + * @public + */ +export interface ImportKeyPairRequest { /** * @public - *

            Indicates whether the VPN is split-tunnel.

            - *

            For information about split-tunnel VPN endpoints, see Split-tunnel Client VPN endpoint in the - * Client VPN Administrator Guide.

            + *

            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.

            */ - SplitTunnel?: boolean; + DryRun?: boolean; /** * @public - *

            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.

            + *

            A unique name for the key pair.

            */ - DryRun?: boolean; + KeyName: string | undefined; /** * @public - *

            The IDs of one or more security groups to apply to the target network.

            + *

            The public key. For API calls, the text must be base64-encoded. For command line tools, base64 encoding is performed for you.

            */ - SecurityGroupIds?: string[]; + PublicKeyMaterial: Uint8Array | undefined; /** * @public - *

            The ID of the VPC to associate with the Client VPN endpoint.

            + *

            The tags to apply to the imported key pair.

            */ - VpcId?: string; + TagSpecifications?: TagSpecification[]; +} +/** + * @public + */ +export interface ImportKeyPairResult { /** * @public - *

            Specify whether to enable the self-service portal for the Client VPN endpoint.

            + *
              + *
            • + *

              For RSA key pairs, the key fingerprint is the MD5 public key fingerprint as specified in section 4 of RFC 4716.

              + *
            • + *
            • + *

              For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

              + *
            • + *
            */ - SelfServicePortal?: SelfServicePortal; + KeyFingerprint?: string; /** * @public - *

            The options for managing connection authorization for new client connections.

            + *

            The key pair name that you provided.

            */ - ClientConnectOptions?: ClientConnectOptions; + KeyName?: string; /** * @public - *

            The maximum VPN session duration time in hours.

            - *

            Valid values: 8 | 10 | 12 | 24 - *

            - *

            Default value: 24 - *

            + *

            The ID of the resulting key pair.

            */ - SessionTimeoutHours?: number; + KeyPairId?: string; /** * @public - *

            Options for enabling a customizable text banner that will be displayed on - * Amazon Web Services provided clients when a VPN session is established.

            + *

            The tags applied to the imported key pair.

            */ - ClientLoginBannerOptions?: ClientLoginBannerOptions; + Tags?: Tag[]; } /** * @public + *

            The disk container object for the import snapshot request.

            */ -export interface ModifyClientVpnEndpointResult { +export interface SnapshotDiskContainer { /** * @public - *

            Returns true if the request succeeds; otherwise, it returns an error.

            + *

            The description of the disk image being imported.

            */ - Return?: boolean; -} + Description?: string; -/** - * @public - */ -export interface ModifyDefaultCreditSpecificationRequest { /** * @public - *

            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.

            + *

            The format of the disk image being imported.

            + *

            Valid values: VHD | VMDK | RAW + *

            */ - DryRun?: boolean; + Format?: string; /** * @public - *

            The instance family.

            + *

            The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon + * S3 URL (s3://..).

            */ - InstanceFamily: UnlimitedSupportedInstanceFamily | undefined; + Url?: string; /** * @public - *

            The credit option for CPU usage of the instance family.

            - *

            Valid Values: standard | unlimited - *

            + *

            The Amazon S3 bucket for the disk image.

            */ - CpuCredits: string | undefined; + UserBucket?: UserBucket; } /** * @public */ -export interface ModifyDefaultCreditSpecificationResult { +export interface ImportSnapshotRequest { /** * @public - *

            The default credit option for CPU usage of the instance family.

            + *

            The client-specific data.

            */ - InstanceFamilyCreditSpecification?: InstanceFamilyCreditSpecification; -} + ClientData?: ClientData; -/** - * @public - */ -export interface ModifyEbsDefaultKmsKeyIdRequest { /** * @public - *

            The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. - * If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is - * specified, the encrypted state must be true.

            - *

            You can specify the KMS key using any of the following:

            + *

            Token to enable idempotency for VM import requests.

            + */ + ClientToken?: string; + + /** + * @public + *

            The description string for the import snapshot task.

            + */ + Description?: string; + + /** + * @public + *

            Information about the disk container.

            + */ + DiskContainer?: SnapshotDiskContainer; + + /** + * @public + *

            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.

            + */ + DryRun?: boolean; + + /** + * @public + *

            Specifies whether the destination snapshot of the imported image should be encrypted. The default KMS key for EBS is + * used unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the + * Amazon Elastic Compute Cloud User Guide.

            + */ + Encrypted?: boolean; + + /** + * @public + *

            An identifier for the symmetric KMS key to use when creating the + * encrypted snapshot. This parameter is only required if you want to use a non-default KMS key; if this + * parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is + * specified, the Encrypted flag must also be set.

            + *

            The KMS key identifier may be provided in any of the following formats:

            *
              *
            • - *

              Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

              + *

              Key ID

              *
            • *
            • - *

              Key alias. For example, alias/ExampleAlias.

              + *

              Key alias

              *
            • *
            • - *

              Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

              + *

              ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

              *
            • *
            • - *

              Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

              + *

              ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

              *
            • *
            - *

            Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, - * the action can appear to complete, but eventually fails.

            + *

            Amazon Web Services parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even + * though you provided an invalid identifier. This action will eventually report failure.

            + *

            The specified KMS key must exist in the Region that the snapshot is being copied to.

            *

            Amazon EBS does not support asymmetric KMS keys.

            */ - KmsKeyId: string | undefined; + KmsKeyId?: string; /** * @public - *

            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.

            + *

            The name of the role to use when not using the default role, 'vmimport'.

            */ - DryRun?: boolean; -} + RoleName?: string; -/** - * @public - */ -export interface ModifyEbsDefaultKmsKeyIdResult { /** * @public - *

            The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

            + *

            The tags to apply to the import snapshot task during creation.

            */ - KmsKeyId?: string; + TagSpecifications?: TagSpecification[]; } /** * @public */ -export interface ModifyFleetRequest { - /** - * @public - *

            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.

            - */ - DryRun?: boolean; - - /** - * @public - *

            Indicates whether running instances should be terminated if the total target capacity of - * the EC2 Fleet is decreased below the current size of the EC2 Fleet.

            - *

            Supported only for fleets of type maintain.

            - */ - ExcessCapacityTerminationPolicy?: FleetExcessCapacityTerminationPolicy; - +export interface ImportSnapshotResult { /** * @public - *

            The launch template and overrides.

            + *

            A description of the import snapshot task.

            */ - LaunchTemplateConfigs?: FleetLaunchTemplateConfigRequest[]; + Description?: string; /** * @public - *

            The ID of the EC2 Fleet.

            + *

            The ID of the import snapshot task.

            */ - FleetId: string | undefined; + ImportTaskId?: string; /** * @public - *

            The size of the EC2 Fleet.

            + *

            Information about the import snapshot task.

            */ - TargetCapacitySpecification?: TargetCapacitySpecificationRequest; + SnapshotTaskDetail?: SnapshotTaskDetail; /** * @public - *

            Reserved.

            + *

            Any tags assigned to the import snapshot task.

            */ - Context?: string; + Tags?: Tag[]; } /** * @public */ -export interface ModifyFleetResult { +export interface ImportVolumeRequest { /** * @public - *

            If the request succeeds, the response returns true. If the request fails, - * no response is returned, and instead an error message is returned.

            + *

            The Availability Zone for the resulting EBS volume.

            */ - Return?: boolean; -} + AvailabilityZone: string | undefined; -/** - * @public - *

            Describes a load permission.

            - */ -export interface LoadPermissionRequest { /** * @public - *

            The name of the group.

            + *

            A description of the volume.

            */ - Group?: PermissionGroup; + Description?: string; /** * @public - *

            The Amazon Web Services account ID.

            + *

            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.

            */ - UserId?: string; -} + DryRun?: boolean; -/** - * @public - *

            Describes modifications to the load permissions of an Amazon FPGA image (AFI).

            - */ -export interface LoadPermissionModifications { /** * @public - *

            The load permissions to add.

            + *

            The disk image.

            */ - Add?: LoadPermissionRequest[]; + Image: DiskImageDetail | undefined; /** * @public - *

            The load permissions to remove.

            + *

            The volume size.

            */ - Remove?: LoadPermissionRequest[]; + Volume: VolumeDetail | undefined; } -/** - * @public - * @enum - */ -export const OperationType = { - add: "add", - remove: "remove", -} as const; - -/** - * @public - */ -export type OperationType = (typeof OperationType)[keyof typeof OperationType]; - /** * @public */ -export interface ModifyFpgaImageAttributeRequest { +export interface ImportVolumeResult { /** * @public - *

            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.

            + *

            Information about the conversion task.

            */ - DryRun?: boolean; + ConversionTask?: ConversionTask; +} +/** + * @public + */ +export interface ListImagesInRecycleBinRequest { /** * @public - *

            The ID of the AFI.

            + *

            The IDs of the AMIs to list. Omit this parameter to list all of the AMIs that + * are in the Recycle Bin. You can specify up to 20 IDs in a single request.

            */ - FpgaImageId: string | undefined; + ImageIds?: string[]; /** * @public - *

            The name of the attribute.

            + *

            The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

            */ - Attribute?: FpgaImageAttributeName; + NextToken?: string; /** * @public - *

            The operation type.

            + *

            The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

            */ - OperationType?: OperationType; + MaxResults?: number; /** * @public - *

            The Amazon Web Services account IDs. This parameter is valid only when modifying the loadPermission attribute.

            + *

            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.

            */ - UserIds?: string[]; + DryRun?: boolean; +} +/** + * @public + *

            Information about an AMI that is currently in the Recycle Bin.

            + */ +export interface ImageRecycleBinInfo { /** * @public - *

            The user groups. This parameter is valid only when modifying the loadPermission attribute.

            + *

            The ID of the AMI.

            */ - UserGroups?: string[]; + ImageId?: string; /** * @public - *

            The product codes. After you add a product code to an AFI, it can't be removed. - * This parameter is valid only when modifying the productCodes attribute.

            + *

            The name of the AMI.

            */ - ProductCodes?: string[]; + Name?: string; /** * @public - *

            The load permission for the AFI.

            + *

            The description of the AMI.

            */ - LoadPermission?: LoadPermissionModifications; + Description?: string; /** * @public - *

            A description for the AFI.

            + *

            The date and time when the AMI entered the Recycle Bin.

            */ - Description?: string; + RecycleBinEnterTime?: Date; /** * @public - *

            A name for the AFI.

            + *

            The date and time when the AMI is to be permanently deleted from the Recycle Bin.

            */ - Name?: string; + RecycleBinExitTime?: Date; } /** * @public */ -export interface ModifyFpgaImageAttributeResult { +export interface ListImagesInRecycleBinResult { /** * @public - *

            Information about the attribute.

            + *

            Information about the AMIs.

            */ - FpgaImageAttribute?: FpgaImageAttribute; + Images?: ImageRecycleBinInfo[]; + + /** + * @public + *

            The token to include in another request to get the next page of items. This value is null when there + * are no more items to return.

            + */ + NextToken?: string; } /** * @public */ -export interface ModifyHostsRequest { +export interface ListSnapshotsInRecycleBinRequest { /** * @public - *

            Specify whether to enable or disable auto-placement.

            + *

            The maximum number of items to return for this request. + * To get the next page of items, make another request with the token returned in the output. + * For more information, see Pagination.

            */ - AutoPlacement?: AutoPlacement; + MaxResults?: number; /** * @public - *

            The IDs of the Dedicated Hosts to modify.

            + *

            The token returned from a previous paginated request. + * Pagination continues from the end of the items returned by the previous request.

            */ - HostIds: string[] | undefined; + NextToken?: string; /** * @public - *

            Indicates whether to enable or disable host recovery for the Dedicated Host. For more - * information, see Host recovery - * in the Amazon EC2 User Guide.

            - */ - HostRecovery?: HostRecovery; - - /** - * @public - *

            Specifies the instance type to be supported by the Dedicated Host. Specify this - * parameter to modify a Dedicated Host to support only a specific instance type.

            - *

            If you want to modify a Dedicated Host to support multiple instance types in its - * current instance family, omit this parameter and specify InstanceFamily instead. You cannot specify InstanceType and InstanceFamily in the - * same request.

            - */ - InstanceType?: string; - - /** - * @public - *

            Specifies the instance family to be supported by the Dedicated Host. Specify this - * parameter to modify a Dedicated Host to support multiple instance types within its - * current instance family.

            - *

            If you want to modify a Dedicated Host to support a specific instance type only, omit - * this parameter and specify InstanceType instead. You - * cannot specify InstanceFamily and InstanceType in the same request.

            + *

            The IDs of the snapshots to list. Omit this parameter to list all of the + * snapshots that are in the Recycle Bin.

            */ - InstanceFamily?: string; + SnapshotIds?: string[]; /** * @public - *

            Indicates whether to enable or disable host maintenance for the Dedicated Host. For - * more information, see Host - * maintenance in the Amazon EC2 User Guide.

            + *

            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.

            */ - HostMaintenance?: HostMaintenance; + DryRun?: boolean; } /** * @public + *

            Information about a snapshot that is currently in the Recycle Bin.

            */ -export interface ModifyHostsResult { +export interface SnapshotRecycleBinInfo { /** * @public - *

            The IDs of the Dedicated Hosts that were successfully modified.

            + *

            The ID of the snapshot.

            */ - Successful?: string[]; + SnapshotId?: string; /** * @public - *

            The IDs of the Dedicated Hosts that could not be modified. Check whether the setting - * you requested can be used.

            + *

            The date and time when the snaphsot entered the Recycle Bin.

            */ - Unsuccessful?: UnsuccessfulItem[]; -} + RecycleBinEnterTime?: Date; -/** - * @public - */ -export interface ModifyIdentityIdFormatRequest { /** * @public - *

            The ARN of the principal, which can be an IAM user, IAM role, or the root user. Specify - * all to modify the ID format for all IAM users, IAM roles, and the root user of - * the account.

            + *

            The date and time when the snapshot is to be permanently deleted from the Recycle Bin.

            */ - PrincipalArn: string | undefined; + RecycleBinExitTime?: Date; /** * @public - *

            The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | - * elastic-ip-allocation | elastic-ip-association | - * export-task | flow-log | image | - * import-task | internet-gateway | network-acl - * | network-acl-association | network-interface | - * network-interface-attachment | prefix-list | - * route-table | route-table-association | - * security-group | subnet | - * subnet-cidr-block-association | vpc | - * vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

            - *

            Alternatively, use the all-current option to include all resource types that are - * currently within their opt-in period for longer IDs.

            + *

            The description for the snapshot.

            */ - Resource: string | undefined; + Description?: string; /** * @public - *

            Indicates whether the resource should use longer IDs (17-character IDs)

            + *

            The ID of the volume from which the snapshot was created.

            */ - UseLongIds: boolean | undefined; + VolumeId?: string; } /** * @public */ -export interface ModifyIdFormatRequest { +export interface ListSnapshotsInRecycleBinResult { /** * @public - *

            The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | - * elastic-ip-allocation | elastic-ip-association | - * export-task | flow-log | image | - * import-task | internet-gateway | network-acl - * | network-acl-association | network-interface | - * network-interface-attachment | prefix-list | - * route-table | route-table-association | - * security-group | subnet | - * subnet-cidr-block-association | vpc | - * vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

            - *

            Alternatively, use the all-current option to include all resource types that are - * currently within their opt-in period for longer IDs.

            + *

            Information about the snapshots.

            */ - Resource: string | undefined; + Snapshots?: SnapshotRecycleBinInfo[]; /** * @public - *

            Indicate whether the resource should use longer IDs (17-character IDs).

            + *

            The token to include in another request to get the next page of items. + * This value is null when there are no more items to return.

            */ - UseLongIds: boolean | undefined; + NextToken?: string; } /** * @public - *

            Describes a launch permission modification.

            + * @enum */ -export interface LaunchPermissionModifications { - /** - * @public - *

            The Amazon Web Services account ID, organization ARN, or OU ARN to add to the list of launch permissions for the AMI.

            - */ - Add?: LaunchPermission[]; +export const LockMode = { + compliance: "compliance", + governance: "governance", +} as const; - /** - * @public - *

            The Amazon Web Services account ID, organization ARN, or OU ARN to remove from the list of launch permissions for the AMI.

            - */ - Remove?: LaunchPermission[]; -} +/** + * @public + */ +export type LockMode = (typeof LockMode)[keyof typeof LockMode]; /** * @public - *

            Contains the parameters for ModifyImageAttribute.

            */ -export interface ModifyImageAttributeRequest { +export interface LockSnapshotRequest { /** * @public - *

            The name of the attribute to modify.

            - *

            Valid values: description | imdsSupport | launchPermission - *

            + *

            The ID of the snapshot to lock.

            */ - Attribute?: string; + SnapshotId: string | undefined; /** * @public - *

            A new description for the AMI.

            + *

            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.

            */ - Description?: AttributeValue; + DryRun?: boolean; /** * @public - *

            The ID of the AMI.

            + *

            The mode in which to lock the snapshot. Specify one of the following:

            + *
              + *
            • + *

              + * governance - Locks the snapshot in governance mode. Snapshots locked in governance + * mode can't be deleted until one of the following conditions are met:

              + *
                + *
              • + *

                The lock duration expires.

                + *
              • + *
              • + *

                The snapshot is unlocked by a user with the appropriate permissions.

                + *
              • + *
              + *

              Users with the appropriate IAM permissions can unlock the snapshot, increase or decrease the lock + * duration, and change the lock mode to compliance at any time.

              + *

              If you lock a snapshot in governance mode, omit + * CoolOffPeriod.

              + *
            • + *
            • + *

              + * compliance - Locks the snapshot in compliance mode. Snapshots locked in compliance + * mode can't be unlocked by any user. They can be deleted only after the lock duration expires. Users + * can't decrease the lock duration or change the lock mode to governance. However, users + * with appropriate IAM permissions can increase the lock duration at any time.

              + *

              If you lock a snapshot in compliance mode, you can optionally specify + * CoolOffPeriod.

              + *
            • + *
            */ - ImageId: string | undefined; + LockMode: LockMode | undefined; /** * @public - *

            A new launch permission for the AMI.

            + *

            The cooling-off period during which you can unlock the snapshot or modify the lock settings after + * locking the snapshot in compliance mode, in hours. After the cooling-off period expires, you can't + * unlock or delete the snapshot, decrease the lock duration, or change the lock mode. You can increase + * the lock duration after the cooling-off period expires.

            + *

            The cooling-off period is optional when locking a snapshot in compliance mode. If you are locking + * the snapshot in governance mode, omit this parameter.

            + *

            To lock the snapshot in compliance mode immediately without a cooling-off period, omit this + * parameter.

            + *

            If you are extending the lock duration for a snapshot that is locked in compliance mode after + * the cooling-off period has expired, omit this parameter. If you specify a cooling-period in a such + * a request, the request fails.

            + *

            Allowed values: Min 1, max 72.

            */ - LaunchPermission?: LaunchPermissionModifications; + CoolOffPeriod?: number; /** * @public - *

            The operation type. - * This parameter can be used only when the Attribute parameter is launchPermission.

            + *

            The period of time for which to lock the snapshot, in days. The snapshot lock will automatically + * expire after this period lapses.

            + *

            You must specify either this parameter or ExpirationDate, but + * not both.

            + *

            Allowed values: Min: 1, max 36500

            */ - OperationType?: OperationType; + LockDuration?: number; /** * @public - *

            Not supported.

            + *

            The date and time at which the snapshot lock is to automatically expire, in the UTC time zone + * (YYYY-MM-DDThh:mm:ss.sssZ).

            + *

            You must specify either this parameter or LockDuration, but + * not both.

            */ - ProductCodes?: string[]; + ExpirationDate?: Date; +} +/** + * @public + */ +export interface LockSnapshotResult { /** * @public - *

            The user groups. - * This parameter can be used only when the Attribute parameter is launchPermission.

            + *

            The ID of the snapshot

            */ - UserGroups?: string[]; + SnapshotId?: string; /** * @public - *

            The Amazon Web Services account IDs. - * This parameter can be used only when the Attribute parameter is launchPermission.

            + *

            The state of the snapshot lock. Valid states include:

            + *
              + *
            • + *

              + * compliance-cooloff - The snapshot has been locked in + * compliance mode but it is still within the cooling-off period. The snapshot can't be + * deleted, but it can be unlocked and the lock settings can be modified by users with + * appropriate permissions.

              + *
            • + *
            • + *

              + * governance - The snapshot is locked in governance mode. The + * snapshot can't be deleted, but it can be unlocked and the lock settings can be + * modified by users with appropriate permissions.

              + *
            • + *
            • + *

              + * compliance - The snapshot is locked in compliance mode and the + * cooling-off period has expired. The snapshot can't be unlocked or deleted. The lock + * duration can only be increased by users with appropriate permissions.

              + *
            • + *
            • + *

              + * expired - The snapshot was locked in compliance or governance + * mode but the lock duration has expired. The snapshot is not locked and can be deleted.

              + *
            • + *
            */ - UserIds?: string[]; + LockState?: LockState; /** * @public - *

            The value of the attribute being modified. - * This parameter can be used only when the Attribute parameter is description or imdsSupport.

            + *

            The period of time for which the snapshot is locked, in days.

            */ - Value?: string; + LockDuration?: number; /** * @public - *

            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.

            + *

            The compliance mode cooling-off period, in hours.

            */ - DryRun?: boolean; + CoolOffPeriod?: number; /** * @public - *

            The Amazon Resource Name (ARN) of an organization. This parameter can be used only when the Attribute parameter is launchPermission.

            + *

            The date and time at which the compliance mode cooling-off period expires, in the UTC time zone + * (YYYY-MM-DDThh:mm:ss.sssZ).

            */ - OrganizationArns?: string[]; - - /** - * @public - *

            The Amazon Resource Name (ARN) of an organizational unit (OU). This parameter can be used only when the Attribute parameter is launchPermission.

            - */ - OrganizationalUnitArns?: string[]; + CoolOffPeriodExpiresOn?: Date; /** * @public - *

            Set to v2.0 to indicate 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.

            - * - *

            Do not use this parameter unless your AMI software supports IMDSv2. After you set the value to v2.0, - * you can't undo it. The only way to “reset” your AMI is to create a new AMI from the underlying snapshot.

            - *
            + *

            The date and time at which the snapshot was locked, in the UTC time zone + * (YYYY-MM-DDThh:mm:ss.sssZ).

            */ - ImdsSupport?: AttributeValue; -} + LockCreatedOn?: Date; -/** - * @public - *

            Describes information used to set up an EBS volume specified in a block device - * mapping.

            - */ -export interface EbsInstanceBlockDeviceSpecification { /** * @public - *

            Indicates whether the volume is deleted on instance termination.

            + *

            The date and time at which the lock will expire, in the UTC time zone + * (YYYY-MM-DDThh:mm:ss.sssZ).

            */ - DeleteOnTermination?: boolean; + LockExpiresOn?: Date; /** * @public - *

            The ID of the EBS volume.

            + *

            The date and time at which the lock duration started, in the UTC time zone + * (YYYY-MM-DDThh:mm:ss.sssZ).

            */ - VolumeId?: string; + LockDurationStartTime?: Date; } /** * @public - *

            Describes a block device mapping entry.

            */ -export interface InstanceBlockDeviceMappingSpecification { +export interface ModifyAddressAttributeRequest { /** * @public - *

            The device name (for example, /dev/sdh or xvdh).

            + *

            [EC2-VPC] The allocation ID.

            */ - DeviceName?: string; + AllocationId: string | undefined; /** * @public - *

            Parameters used to automatically set up EBS volumes when the instance is - * launched.

            + *

            The domain name to modify for the IP address.

            */ - Ebs?: EbsInstanceBlockDeviceSpecification; + DomainName?: string; /** * @public - *

            suppress the specified device included in the block device mapping.

            + *

            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.

            */ - NoDevice?: string; + DryRun?: boolean; +} +/** + * @public + */ +export interface ModifyAddressAttributeResult { /** * @public - *

            The virtual device name.

            + *

            Information about the Elastic IP address.

            */ - VirtualName?: string; + Address?: AddressAttribute; } /** * @public + * @enum */ -export interface BlobAttributeValue { - Value?: Uint8Array; -} +export const ModifyAvailabilityZoneOptInStatus = { + not_opted_in: "not-opted-in", + opted_in: "opted-in", +} as const; /** * @public */ -export interface ModifyInstanceAttributeRequest { +export type ModifyAvailabilityZoneOptInStatus = + (typeof ModifyAvailabilityZoneOptInStatus)[keyof typeof ModifyAvailabilityZoneOptInStatus]; + +/** + * @public + */ +export interface ModifyAvailabilityZoneGroupRequest { /** * @public - *

            Enable or disable source/destination checks, which ensure that the instance is either - * the source or the destination of any traffic that it receives. If the value is - * true, source/destination checks are enabled; otherwise, they are - * disabled. The default value is true. You must disable source/destination - * checks if the instance runs services such as network address translation, routing, or - * firewalls.

            + *

            The name of the Availability Zone group, Local Zone group, or Wavelength Zone + * group.

            */ - SourceDestCheck?: AttributeBooleanValue; + GroupName: string | undefined; /** * @public - *

            The name of the attribute to modify.

            - * - *

            You can modify the following attributes only: disableApiTermination | - * instanceType | kernel | ramdisk | - * instanceInitiatedShutdownBehavior | blockDeviceMapping - * | userData | sourceDestCheck | groupSet | - * ebsOptimized | sriovNetSupport | - * enaSupport | nvmeSupport | disableApiStop - * | enclaveOptions - *

            - *
            + *

            Indicates whether you are opted in to the Local Zone group or Wavelength Zone group. The + * only valid value is opted-in. You must contact Amazon Web Services Support to opt out of a Local Zone or Wavelength Zone group.

            */ - Attribute?: InstanceAttributeName; + OptInStatus: ModifyAvailabilityZoneOptInStatus | undefined; /** * @public - *

            Modifies the DeleteOnTermination attribute for volumes that are currently - * attached. The volume must be owned by the caller. If no value is specified for - * DeleteOnTermination, the default is true and the volume is - * deleted when the instance is terminated.

            - *

            To add instance store volumes to an Amazon EBS-backed instance, you must add them when - * you launch the instance. For more information, see Update the block device mapping when launching an instance in the - * Amazon EC2 User Guide.

            + *

            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.

            */ - BlockDeviceMappings?: InstanceBlockDeviceMappingSpecification[]; + DryRun?: boolean; +} +/** + * @public + */ +export interface ModifyAvailabilityZoneGroupResult { /** * @public - *

            If the value is true, you can't terminate the instance using the Amazon - * EC2 console, CLI, or API; otherwise, you can. You cannot use this parameter for Spot - * Instances.

            + *

            Is true if the request succeeds, and an error otherwise.

            */ - DisableApiTermination?: AttributeBooleanValue; + Return?: boolean; +} +/** + * @public + */ +export interface ModifyCapacityReservationRequest { /** * @public - *

            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.

            + *

            The ID of the Capacity Reservation.

            */ - DryRun?: boolean; + CapacityReservationId: string | undefined; /** * @public - *

            Specifies whether the instance is optimized for Amazon EBS I/O. This optimization - * provides dedicated throughput to Amazon EBS and an optimized configuration stack to - * provide optimal EBS I/O performance. This optimization isn't available with all instance - * types. Additional usage charges apply when using an EBS Optimized instance.

            + *

            The number of instances for which to reserve capacity. The number of instances can't be increased or + * decreased by more than 1000 in a single request.

            */ - EbsOptimized?: AttributeBooleanValue; + InstanceCount?: number; /** * @public - *

            Set to true to enable enhanced networking with ENA for the - * instance.

            - *

            This option is supported only for HVM instances. Specifying this option with a PV - * instance can make it unreachable.

            + *

            The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity + * is released and you can no longer launch instances into it. The Capacity Reservation's state changes to + * expired when it reaches its end date and time.

            + *

            The Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify + * 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.

            + *

            You must provide an EndDate value if EndDateType is + * limited. Omit EndDate if EndDateType is + * unlimited.

            */ - EnaSupport?: AttributeBooleanValue; + EndDate?: Date; /** * @public - *

            Replaces the security groups of the instance with the specified security groups. - * You must specify the ID of at least one security group, even if it's just the default - * security group for the VPC.

            + *

            Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end + * types:

            + *
              + *
            • + *

              + * unlimited - The Capacity Reservation remains active until you explicitly cancel it. Do not + * provide an EndDate value if EndDateType is + * unlimited.

              + *
            • + *
            • + *

              + * limited - The Capacity Reservation expires automatically at a specified date and time. You must + * provide an EndDate value if EndDateType is + * limited.

              + *
            • + *
            */ - Groups?: string[]; + EndDateType?: EndDateType; /** * @public - *

            The ID of the instance.

            + *

            Reserved. Capacity Reservations you have created are accepted by default.

            */ - InstanceId: string | undefined; + Accept?: boolean; /** * @public - *

            Specifies whether an instance stops or terminates when you initiate shutdown from the - * instance (using the operating system command for system shutdown).

            + *

            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.

            */ - InstanceInitiatedShutdownBehavior?: AttributeValue; + DryRun?: boolean; /** * @public - *

            Changes the instance type to the specified value. For more information, see Instance - * types in the Amazon EC2 User Guide. If the instance type is - * not valid, the error returned is InvalidInstanceAttributeValue.

            + *

            Reserved for future use.

            */ - InstanceType?: AttributeValue; + AdditionalInfo?: string; +} +/** + * @public + */ +export interface ModifyCapacityReservationResult { /** * @public - *

            Changes the instance's kernel to the specified value. We recommend that you use - * PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

            + *

            Returns true if the request succeeds; otherwise, it returns an error.

            */ - Kernel?: AttributeValue; + Return?: boolean; +} +/** + * @public + */ +export interface ModifyCapacityReservationFleetRequest { /** * @public - *

            Changes the instance's RAM disk to the specified value. We recommend that you use - * PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

            + *

            The ID of the Capacity Reservation Fleet to modify.

            */ - Ramdisk?: AttributeValue; + CapacityReservationFleetId: string | undefined; /** * @public - *

            Set to simple to enable enhanced networking with the Intel 82599 Virtual - * Function interface for the instance.

            - *

            There is no way to disable enhanced networking with the Intel 82599 Virtual Function - * interface at this time.

            - *

            This option is supported only for HVM instances. Specifying this option with a PV - * instance can make it unreachable.

            + *

            The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, + * together with the instance type weights that you assign to each instance type used by the Fleet + * determine the number of instances for which the Fleet reserves capacity. Both values are based on + * units that make sense for your workload. For more information, see Total target capacity + * in the Amazon EC2 User Guide.

            */ - SriovNetSupport?: AttributeValue; + TotalTargetCapacity?: number; /** * @public - *

            Changes the instance's user data to the specified value. If you are using an Amazon Web Services SDK or command line tool, base64-encoding is performed for you, and you - * can load the text from a file. Otherwise, you must provide base64-encoded text.

            + *

            The date and time at which the Capacity Reservation Fleet expires. When the Capacity Reservation + * Fleet expires, its state changes to expired and all of the Capacity Reservations in the + * Fleet expire.

            + *

            The Capacity Reservation Fleet expires within an hour after the specified time. For example, if you + * specify 5/31/2019, 13:30:55, the Capacity Reservation Fleet is guaranteed + * to expire between 13:30:55 and 14:30:55 on 5/31/2019.

            + *

            You can't specify EndDate and + * RemoveEndDate in the same request.

            */ - UserData?: BlobAttributeValue; + EndDate?: Date; /** * @public - *

            A new value for the attribute. Use only with the kernel, - * ramdisk, userData, disableApiTermination, or - * instanceInitiatedShutdownBehavior attribute.

            + *

            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.

            */ - Value?: string; + DryRun?: boolean; /** * @public - *

            Indicates whether an instance is enabled for stop protection. For more information, - * see Stop - * Protection.

            - *

            - */ - DisableApiStop?: AttributeBooleanValue; -} - -/** - * @public - *

            Describes an instance's Capacity Reservation targeting option. You can specify only one parameter - * at a time. If you specify CapacityReservationPreference and - * CapacityReservationTarget, the request fails.

            - *

            Use the CapacityReservationPreference parameter to configure the instance - * to run as an On-Demand Instance or to run in any open Capacity Reservation that has - * matching attributes (instance type, platform, Availability Zone). Use the - * CapacityReservationTarget parameter to explicitly target a specific - * Capacity Reservation or a Capacity Reservation group.

            - */ -export interface CapacityReservationSpecification { - /** - * @public - *

            Indicates the instance's Capacity Reservation preferences. Possible preferences include:

            - *
              - *
            • - *

              - * open - The instance can run in any open Capacity Reservation that has matching attributes - * (instance type, platform, Availability Zone).

              - *
            • - *
            • - *

              - * none - The instance avoids running in a Capacity Reservation even if one is available. The - * instance runs as an On-Demand Instance.

              - *
            • - *
            - */ - CapacityReservationPreference?: CapacityReservationPreference; - - /** - * @public - *

            Information about the target Capacity Reservation or Capacity Reservation group.

            - */ - CapacityReservationTarget?: CapacityReservationTarget; -} - -/** - * @public - */ -export interface ModifyInstanceCapacityReservationAttributesRequest { - /** - * @public - *

            The ID of the instance to be modified.

            - */ - InstanceId: string | undefined; - - /** - * @public - *

            Information about the Capacity Reservation targeting option.

            - */ - CapacityReservationSpecification: CapacityReservationSpecification | undefined; - - /** - * @public - *

            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.

            + *

            Indicates whether to remove the end date from the Capacity Reservation Fleet. If you remove the + * end date, the Capacity Reservation Fleet does not expire and it remains active until you explicitly + * cancel it using the CancelCapacityReservationFleet action.

            + *

            You can't specify RemoveEndDate and + * EndDate in the same request.

            */ - DryRun?: boolean; + RemoveEndDate?: boolean; } /** * @public */ -export interface ModifyInstanceCapacityReservationAttributesResult { +export interface ModifyCapacityReservationFleetResult { /** * @public *

            Returns true if the request succeeds; otherwise, it returns an error.

            @@ -3837,187 +3700,158 @@ export interface ModifyInstanceCapacityReservationAttributesResult { /** * @public - *

            Describes the credit option for CPU usage of a burstable performance instance.

            + *

            Information about the DNS server to be used.

            */ -export interface InstanceCreditSpecificationRequest { +export interface DnsServersOptionsModifyStructure { /** * @public - *

            The ID of the instance.

            + *

            The IPv4 address range, in CIDR notation, of the DNS servers to be used. You can specify up to + * two DNS servers. Ensure that the DNS servers can be reached by the clients. The specified values + * overwrite the existing values.

            */ - InstanceId: string | undefined; + CustomDnsServers?: string[]; /** * @public - *

            The credit option for CPU usage of the instance.

            - *

            Valid values: standard | unlimited - *

            - *

            T3 instances with host tenancy do not support the unlimited - * CPU credit option.

            + *

            Indicates whether DNS servers should be used. Specify False to delete the existing DNS + * servers.

            */ - CpuCredits?: string; + Enabled?: boolean; } /** * @public */ -export interface ModifyInstanceCreditSpecificationRequest { +export interface ModifyClientVpnEndpointRequest { /** * @public - *

            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.

            + *

            The ID of the Client VPN endpoint to modify.

            */ - DryRun?: boolean; + ClientVpnEndpointId: string | undefined; /** * @public - *

            A unique, case-sensitive token that you provide to ensure idempotency of your - * modification request. For more information, see Ensuring - * Idempotency.

            + *

            The ARN of the server certificate to be used. The server certificate must be provisioned in + * Certificate Manager (ACM).

            */ - ClientToken?: string; + ServerCertificateArn?: string; /** * @public - *

            Information about the credit option for CPU usage.

            + *

            Information about the client connection logging options.

            + *

            If you enable client connection logging, data about client connections is sent to a + * Cloudwatch Logs log stream. The following information is logged:

            + *
              + *
            • + *

              Client connection requests

              + *
            • + *
            • + *

              Client connection results (successful and unsuccessful)

              + *
            • + *
            • + *

              Reasons for unsuccessful client connection requests

              + *
            • + *
            • + *

              Client connection termination time

              + *
            • + *
            */ - InstanceCreditSpecifications: InstanceCreditSpecificationRequest[] | undefined; -} + ConnectionLogOptions?: ConnectionLogOptions; -/** - * @public - *

            Describes the burstable performance instance whose credit option for CPU usage was - * successfully modified.

            - */ -export interface SuccessfulInstanceCreditSpecificationItem { /** * @public - *

            The ID of the instance.

            + *

            Information about the DNS servers to be used by Client VPN connections. A Client VPN endpoint can have + * up to two DNS servers.

            */ - InstanceId?: string; -} - -/** - * @public - * @enum - */ -export const UnsuccessfulInstanceCreditSpecificationErrorCode = { - INCORRECT_INSTANCE_STATE: "IncorrectInstanceState", - INSTANCE_CREDIT_SPECIFICATION_NOT_SUPPORTED: "InstanceCreditSpecification.NotSupported", - INSTANCE_NOT_FOUND: "InvalidInstanceID.NotFound", - INVALID_INSTANCE_ID: "InvalidInstanceID.Malformed", -} as const; - -/** - * @public - */ -export type UnsuccessfulInstanceCreditSpecificationErrorCode = - (typeof UnsuccessfulInstanceCreditSpecificationErrorCode)[keyof typeof UnsuccessfulInstanceCreditSpecificationErrorCode]; + DnsServers?: DnsServersOptionsModifyStructure; -/** - * @public - *

            Information about the error for the burstable performance instance whose credit option - * for CPU usage was not modified.

            - */ -export interface UnsuccessfulInstanceCreditSpecificationItemError { /** * @public - *

            The error code.

            + *

            The port number to assign to the Client VPN endpoint for TCP and UDP traffic.

            + *

            Valid Values: 443 | 1194 + *

            + *

            Default Value: 443 + *

            */ - Code?: UnsuccessfulInstanceCreditSpecificationErrorCode; + VpnPort?: number; /** * @public - *

            The applicable error message.

            + *

            A brief description of the Client VPN endpoint.

            */ - Message?: string; -} + Description?: string; -/** - * @public - *

            Describes the burstable performance instance whose credit option for CPU usage was not - * modified.

            - */ -export interface UnsuccessfulInstanceCreditSpecificationItem { /** * @public - *

            The ID of the instance.

            + *

            Indicates whether the VPN is split-tunnel.

            + *

            For information about split-tunnel VPN endpoints, see Split-tunnel Client VPN endpoint in the + * Client VPN Administrator Guide.

            */ - InstanceId?: string; + SplitTunnel?: boolean; /** * @public - *

            The applicable error for the burstable performance instance whose credit option for - * CPU usage was not modified.

            + *

            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.

            */ - Error?: UnsuccessfulInstanceCreditSpecificationItemError; -} + DryRun?: boolean; -/** - * @public - */ -export interface ModifyInstanceCreditSpecificationResult { /** * @public - *

            Information about the instances whose credit option for CPU usage was successfully - * modified.

            + *

            The IDs of one or more security groups to apply to the target network.

            */ - SuccessfulInstanceCreditSpecifications?: SuccessfulInstanceCreditSpecificationItem[]; + SecurityGroupIds?: string[]; /** * @public - *

            Information about the instances whose credit option for CPU usage was not - * modified.

            + *

            The ID of the VPC to associate with the Client VPN endpoint.

            */ - UnsuccessfulInstanceCreditSpecifications?: UnsuccessfulInstanceCreditSpecificationItem[]; -} + VpcId?: string; -/** - * @public - */ -export interface ModifyInstanceEventStartTimeRequest { /** * @public - *

            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.

            + *

            Specify whether to enable the self-service portal for the Client VPN endpoint.

            */ - DryRun?: boolean; + SelfServicePortal?: SelfServicePortal; /** * @public - *

            The ID of the instance with the scheduled event.

            + *

            The options for managing connection authorization for new client connections.

            */ - InstanceId: string | undefined; + ClientConnectOptions?: ClientConnectOptions; /** * @public - *

            The ID of the event whose date and time you are modifying.

            + *

            The maximum VPN session duration time in hours.

            + *

            Valid values: 8 | 10 | 12 | 24 + *

            + *

            Default value: 24 + *

            */ - InstanceEventId: string | undefined; + SessionTimeoutHours?: number; /** * @public - *

            The new date and time when the event will take place.

            + *

            Options for enabling a customizable text banner that will be displayed on + * Amazon Web Services provided clients when a VPN session is established.

            */ - NotBefore: Date | undefined; + ClientLoginBannerOptions?: ClientLoginBannerOptions; } /** * @public */ -export interface ModifyInstanceEventStartTimeResult { +export interface ModifyClientVpnEndpointResult { /** * @public - *

            Information about the event.

            + *

            Returns true if the request succeeds; otherwise, it returns an error.

            */ - Event?: InstanceStatusEvent; + Return?: boolean; } /** * @public */ -export interface ModifyInstanceEventWindowRequest { +export interface ModifyDefaultCreditSpecificationRequest { /** * @public *

            Checks whether you have the required permissions for the action, without actually making the request, @@ -4028,1512 +3862,1683 @@ export interface ModifyInstanceEventWindowRequest { /** * @public - *

            The name of the event window.

            + *

            The instance family.

            */ - Name?: string; + InstanceFamily: UnlimitedSupportedInstanceFamily | undefined; /** * @public - *

            The ID of the event window.

            + *

            The credit option for CPU usage of the instance family.

            + *

            Valid Values: standard | unlimited + *

            */ - InstanceEventWindowId: string | undefined; + CpuCredits: string | undefined; +} +/** + * @public + */ +export interface ModifyDefaultCreditSpecificationResult { /** * @public - *

            The time ranges of the event window.

            + *

            The default credit option for CPU usage of the instance family.

            */ - TimeRanges?: InstanceEventWindowTimeRangeRequest[]; - + InstanceFamilyCreditSpecification?: InstanceFamilyCreditSpecification; +} + +/** + * @public + */ +export interface ModifyEbsDefaultKmsKeyIdRequest { /** * @public - *

            The cron expression of the event window, for example, * 0-4,20-23 * * 1,5.

            - *

            Constraints:

            + *

            The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. + * If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is + * specified, the encrypted state must be true.

            + *

            You can specify the KMS key using any of the following:

            *
              *
            • - *

              Only hour and day of the week values are supported.

              - *
            • - *
            • - *

              For day of the week values, you can specify either integers 0 through - * 6, or alternative single values SUN through - * SAT.

              - *
            • - *
            • - *

              The minute, month, and year must be specified by *.

              + *

              Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

              *
            • *
            • - *

              The hour value must be one or a multiple range, for example, 0-4 or - * 0-4,20-23.

              + *

              Key alias. For example, alias/ExampleAlias.

              *
            • *
            • - *

              Each hour range must be >= 2 hours, for example, 0-2 or - * 20-23.

              + *

              Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

              *
            • *
            • - *

              The event window must be >= 4 hours. The combined total time ranges in the event - * window must be >= 4 hours.

              + *

              Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

              *
            • *
            - *

            For more information about cron expressions, see cron on the Wikipedia - * website.

            + *

            Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, + * the action can appear to complete, but eventually fails.

            + *

            Amazon EBS does not support asymmetric KMS keys.

            */ - CronExpression?: string; -} + KmsKeyId: string | undefined; -/** - * @public - */ -export interface ModifyInstanceEventWindowResult { /** * @public - *

            Information about the event window.

            + *

            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.

            */ - InstanceEventWindow?: InstanceEventWindow; + DryRun?: boolean; } /** * @public */ -export interface ModifyInstanceMaintenanceOptionsRequest { - /** - * @public - *

            The ID of the instance.

            - */ - InstanceId: string | undefined; - - /** - * @public - *

            Disables the automatic recovery behavior of your instance or sets it to - * default.

            - */ - AutoRecovery?: InstanceAutoRecoveryState; - +export interface ModifyEbsDefaultKmsKeyIdResult { /** * @public - *

            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.

            + *

            The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

            */ - DryRun?: boolean; + KmsKeyId?: string; } /** * @public */ -export interface ModifyInstanceMaintenanceOptionsResult { +export interface ModifyFleetRequest { /** * @public - *

            The ID of the instance.

            + *

            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.

            */ - InstanceId?: string; + DryRun?: boolean; /** * @public - *

            Provides information on the current automatic recovery behavior of your - * instance.

            + *

            Indicates whether running instances should be terminated if the total target capacity of + * the EC2 Fleet is decreased below the current size of the EC2 Fleet.

            + *

            Supported only for fleets of type maintain.

            */ - AutoRecovery?: InstanceAutoRecoveryState; -} + ExcessCapacityTerminationPolicy?: FleetExcessCapacityTerminationPolicy; -/** - * @public - */ -export interface ModifyInstanceMetadataOptionsRequest { /** * @public - *

            The ID of the instance.

            + *

            The launch template and overrides.

            */ - InstanceId: string | undefined; + LaunchTemplateConfigs?: FleetLaunchTemplateConfigRequest[]; /** * @public - *

            IMDSv2 uses token-backed sessions. Set the use of HTTP tokens to optional - * (in other words, set the use of IMDSv2 to optional) or - * required (in other words, set the use of IMDSv2 to - * required).

            - *
              - *
            • - *

              - * optional - When IMDSv2 is optional, you can choose to retrieve instance metadata with or without - * a session token in your request. If you retrieve the IAM role credentials - * without a token, the IMDSv1 role credentials are returned. If you retrieve the IAM role credentials - * using a valid session token, the IMDSv2 role credentials are returned.

              - *
            • - *
            • - *

              - * required - When IMDSv2 is required, you must send a session token - * with any instance metadata retrieval requests. In this state, retrieving the IAM role - * credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.

              - *
            • - *
            - *

            Default: optional - *

            + *

            The ID of the EC2 Fleet.

            */ - HttpTokens?: HttpTokensState; + FleetId: string | undefined; /** * @public - *

            The desired HTTP PUT response hop limit for instance metadata requests. The larger the - * number, the further instance metadata requests can travel. If no parameter is specified, - * the existing state is maintained.

            - *

            Possible values: Integers from 1 to 64

            + *

            The size of the EC2 Fleet.

            */ - HttpPutResponseHopLimit?: number; + TargetCapacitySpecification?: TargetCapacitySpecificationRequest; /** * @public - *

            Enables or disables the HTTP metadata endpoint on your instances. If this parameter is - * not specified, the existing state is maintained.

            - *

            If you specify a value of disabled, you cannot access your instance - * metadata.

            + *

            Reserved.

            */ - HttpEndpoint?: InstanceMetadataEndpointState; + Context?: string; +} +/** + * @public + */ +export interface ModifyFleetResult { /** * @public - *

            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.

            + *

            If the request succeeds, the response returns true. If the request fails, + * no response is returned, and instead an error message is returned.

            */ - DryRun?: boolean; + Return?: boolean; +} +/** + * @public + *

            Describes a load permission.

            + */ +export interface LoadPermissionRequest { /** * @public - *

            Enables or disables the IPv6 endpoint for the instance metadata service. - * Applies only if you enabled the HTTP metadata endpoint.

            + *

            The name of the group.

            */ - HttpProtocolIpv6?: InstanceMetadataProtocolState; + Group?: PermissionGroup; /** * @public - *

            Set to enabled to allow access to instance tags from the instance - * metadata. Set to disabled to turn off access to instance tags from the - * instance metadata. For more information, see Work with - * instance tags using the instance metadata.

            - *

            Default: disabled - *

            + *

            The Amazon Web Services account ID.

            */ - InstanceMetadataTags?: InstanceMetadataTagsState; + UserId?: string; } /** * @public + *

            Describes modifications to the load permissions of an Amazon FPGA image (AFI).

            */ -export interface ModifyInstanceMetadataOptionsResult { +export interface LoadPermissionModifications { /** * @public - *

            The ID of the instance.

            + *

            The load permissions to add.

            */ - InstanceId?: string; + Add?: LoadPermissionRequest[]; /** * @public - *

            The metadata options for the instance.

            + *

            The load permissions to remove.

            */ - InstanceMetadataOptions?: InstanceMetadataOptionsResponse; + Remove?: LoadPermissionRequest[]; } /** * @public * @enum */ -export const HostTenancy = { - dedicated: "dedicated", - host: "host", +export const OperationType = { + add: "add", + remove: "remove", } as const; /** * @public */ -export type HostTenancy = (typeof HostTenancy)[keyof typeof HostTenancy]; +export type OperationType = (typeof OperationType)[keyof typeof OperationType]; /** * @public */ -export interface ModifyInstancePlacementRequest { +export interface ModifyFpgaImageAttributeRequest { /** * @public - *

            The affinity setting for the instance.

            + *

            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.

            */ - Affinity?: Affinity; + DryRun?: boolean; /** * @public - *

            The name of the placement group in which to place the instance. For spread placement - * groups, the instance must have a tenancy of default. For cluster and - * partition placement groups, the instance must have a tenancy of default or - * dedicated.

            - *

            To remove an instance from a placement group, specify an empty string ("").

            + *

            The ID of the AFI.

            */ - GroupName?: string; + FpgaImageId: string | undefined; /** * @public - *

            The ID of the Dedicated Host with which to associate the instance.

            + *

            The name of the attribute.

            */ - HostId?: string; + Attribute?: FpgaImageAttributeName; /** * @public - *

            The ID of the instance that you are modifying.

            + *

            The operation type.

            */ - InstanceId: string | undefined; + OperationType?: OperationType; /** * @public - *

            The tenancy for the instance.

            - * - *

            For T3 instances, you must launch the instance on a Dedicated Host to use a - * tenancy of host. You can't change the tenancy from - * host to dedicated or default. - * Attempting to make one of these unsupported tenancy changes results in an - * InvalidRequest error code.

            - *
            + *

            The Amazon Web Services account IDs. This parameter is valid only when modifying the loadPermission attribute.

            */ - Tenancy?: HostTenancy; + UserIds?: string[]; /** * @public - *

            The number of the partition in which to place the instance. Valid only if the - * placement group strategy is set to partition.

            + *

            The user groups. This parameter is valid only when modifying the loadPermission attribute.

            */ - PartitionNumber?: number; + UserGroups?: string[]; /** * @public - *

            The ARN of the host resource group in which to place the instance. The instance must - * have a tenancy of host to specify this parameter.

            + *

            The product codes. After you add a product code to an AFI, it can't be removed. + * This parameter is valid only when modifying the productCodes attribute.

            */ - HostResourceGroupArn?: string; + ProductCodes?: string[]; /** * @public - *

            The Group Id of a placement group. You must specify the Placement Group Group Id to launch an instance in a shared placement - * group.

            + *

            The load permission for the AFI.

            */ - GroupId?: string; + LoadPermission?: LoadPermissionModifications; + + /** + * @public + *

            A description for the AFI.

            + */ + Description?: string; + + /** + * @public + *

            A name for the AFI.

            + */ + Name?: string; } /** * @public */ -export interface ModifyInstancePlacementResult { +export interface ModifyFpgaImageAttributeResult { /** * @public - *

            Is true if the request succeeds, and an error otherwise.

            + *

            Information about the attribute.

            */ - Return?: boolean; + FpgaImageAttribute?: FpgaImageAttribute; } /** * @public - *

            Remove an operating Region from an IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

            - *

            For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide - *

            */ -export interface RemoveIpamOperatingRegion { +export interface ModifyHostsRequest { /** * @public - *

            The name of the operating Region you want to remove.

            + *

            Specify whether to enable or disable auto-placement.

            */ - RegionName?: string; -} + AutoPlacement?: AutoPlacement; -/** - * @public - */ -export interface ModifyIpamRequest { /** * @public - *

            A check for 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.

            + *

            The IDs of the Dedicated Hosts to modify.

            */ - DryRun?: boolean; + HostIds: string[] | undefined; /** * @public - *

            The ID of the IPAM you want to modify.

            + *

            Indicates whether to enable or disable host recovery for the Dedicated Host. For more + * information, see Host recovery + * in the Amazon EC2 User Guide.

            */ - IpamId: string | undefined; + HostRecovery?: HostRecovery; /** * @public - *

            The description of the IPAM you want to modify.

            + *

            Specifies the instance type to be supported by the Dedicated Host. Specify this + * parameter to modify a Dedicated Host to support only a specific instance type.

            + *

            If you want to modify a Dedicated Host to support multiple instance types in its + * current instance family, omit this parameter and specify InstanceFamily instead. You cannot specify InstanceType and InstanceFamily in the + * same request.

            */ - Description?: string; + InstanceType?: string; /** * @public - *

            Choose the operating Regions for the IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

            - *

            For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.

            + *

            Specifies the instance family to be supported by the Dedicated Host. Specify this + * parameter to modify a Dedicated Host to support multiple instance types within its + * current instance family.

            + *

            If you want to modify a Dedicated Host to support a specific instance type only, omit + * this parameter and specify InstanceType instead. You + * cannot specify InstanceFamily and InstanceType in the same request.

            */ - AddOperatingRegions?: AddIpamOperatingRegion[]; + InstanceFamily?: string; /** * @public - *

            The operating Regions to remove.

            + *

            Indicates whether to enable or disable host maintenance for the Dedicated Host. For + * more information, see Host + * maintenance in the Amazon EC2 User Guide.

            */ - RemoveOperatingRegions?: RemoveIpamOperatingRegion[]; + HostMaintenance?: HostMaintenance; } /** * @public */ -export interface ModifyIpamResult { +export interface ModifyHostsResult { /** * @public - *

            The results of the modification.

            + *

            The IDs of the Dedicated Hosts that were successfully modified.

            */ - Ipam?: Ipam; + Successful?: string[]; + + /** + * @public + *

            The IDs of the Dedicated Hosts that could not be modified. Check whether the setting + * you requested can be used.

            + */ + Unsuccessful?: UnsuccessfulItem[]; } /** * @public */ -export interface ModifyIpamPoolRequest { +export interface ModifyIdentityIdFormatRequest { /** * @public - *

            A check for 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.

            + *

            The ARN of the principal, which can be an IAM user, IAM role, or the root user. Specify + * all to modify the ID format for all IAM users, IAM roles, and the root user of + * the account.

            */ - DryRun?: boolean; + PrincipalArn: string | undefined; /** * @public - *

            The ID of the IPAM pool you want to modify.

            + *

            The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | + * elastic-ip-allocation | elastic-ip-association | + * export-task | flow-log | image | + * import-task | internet-gateway | network-acl + * | network-acl-association | network-interface | + * network-interface-attachment | prefix-list | + * route-table | route-table-association | + * security-group | subnet | + * subnet-cidr-block-association | vpc | + * vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

            + *

            Alternatively, use the all-current option to include all resource types that are + * currently within their opt-in period for longer IDs.

            */ - IpamPoolId: string | undefined; + Resource: string | undefined; /** * @public - *

            The description of the IPAM pool you want to modify.

            + *

            Indicates whether the resource should use longer IDs (17-character IDs)

            */ - Description?: string; + UseLongIds: boolean | undefined; +} +/** + * @public + */ +export interface ModifyIdFormatRequest { /** * @public - *

            If true, IPAM will continuously look for resources within the CIDR range of this pool - * and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for - * these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import - * a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently - * marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM - * discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only. - *

            - *

            A locale must be set on the pool for this feature to work.

            + *

            The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | + * elastic-ip-allocation | elastic-ip-association | + * export-task | flow-log | image | + * import-task | internet-gateway | network-acl + * | network-acl-association | network-interface | + * network-interface-attachment | prefix-list | + * route-table | route-table-association | + * security-group | subnet | + * subnet-cidr-block-association | vpc | + * vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

            + *

            Alternatively, use the all-current option to include all resource types that are + * currently within their opt-in period for longer IDs.

            */ - AutoImport?: boolean; + Resource: string | undefined; /** * @public - *

            The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. Possible - * netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. The minimum netmask - * length must be less than the maximum netmask length.

            + *

            Indicate whether the resource should use longer IDs (17-character IDs).

            */ - AllocationMinNetmaskLength?: number; + UseLongIds: boolean | undefined; +} + +/** + * @public + *

            Describes a launch permission modification.

            + */ +export interface LaunchPermissionModifications { + /** + * @public + *

            The Amazon Web Services account ID, organization ARN, or OU ARN to add to the list of launch permissions for the AMI.

            + */ + Add?: LaunchPermission[]; /** * @public - *

            The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. Possible - * netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.The maximum netmask - * length must be greater than the minimum netmask length.

            + *

            The Amazon Web Services account ID, organization ARN, or OU ARN to remove from the list of launch permissions for the AMI.

            */ - AllocationMaxNetmaskLength?: number; + Remove?: LaunchPermission[]; +} +/** + * @public + *

            Contains the parameters for ModifyImageAttribute.

            + */ +export interface ModifyImageAttributeRequest { /** * @public - *

            The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16.

            + *

            The name of the attribute to modify.

            + *

            Valid values: description | imdsSupport | launchPermission + *

            */ - AllocationDefaultNetmaskLength?: number; + Attribute?: string; /** * @public - *

            Clear the default netmask length allocation rule for this pool.

            + *

            A new description for the AMI.

            */ - ClearAllocationDefaultNetmaskLength?: boolean; + Description?: AttributeValue; /** * @public - *

            Add tag allocation rules to a pool. For more information about allocation rules, see Create a top-level pool in the Amazon VPC IPAM User Guide.

            + *

            The ID of the AMI.

            */ - AddAllocationResourceTags?: RequestIpamResourceTag[]; + ImageId: string | undefined; /** * @public - *

            Remove tag allocation rules from a pool.

            + *

            A new launch permission for the AMI.

            */ - RemoveAllocationResourceTags?: RequestIpamResourceTag[]; -} + LaunchPermission?: LaunchPermissionModifications; -/** - * @public - */ -export interface ModifyIpamPoolResult { /** * @public - *

            The results of the modification.

            + *

            The operation type. + * This parameter can be used only when the Attribute parameter is launchPermission.

            */ - IpamPool?: IpamPool; -} + OperationType?: OperationType; -/** - * @public - */ -export interface ModifyIpamResourceCidrRequest { /** * @public - *

            A check for 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.

            + *

            Not supported.

            */ - DryRun?: boolean; + ProductCodes?: string[]; /** * @public - *

            The ID of the resource you want to modify.

            + *

            The user groups. + * This parameter can be used only when the Attribute parameter is launchPermission.

            */ - ResourceId: string | undefined; + UserGroups?: string[]; /** * @public - *

            The CIDR of the resource you want to modify.

            + *

            The Amazon Web Services account IDs. + * This parameter can be used only when the Attribute parameter is launchPermission.

            */ - ResourceCidr: string | undefined; + UserIds?: string[]; /** * @public - *

            The Amazon Web Services Region of the resource you want to modify.

            + *

            The value of the attribute being modified. + * This parameter can be used only when the Attribute parameter is description or imdsSupport.

            */ - ResourceRegion: string | undefined; + Value?: string; /** * @public - *

            The ID of the current scope that the resource CIDR is in.

            + *

            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.

            */ - CurrentIpamScopeId: string | undefined; + DryRun?: boolean; /** * @public - *

            The ID of the scope you want to transfer the resource CIDR to.

            + *

            The Amazon Resource Name (ARN) of an organization. This parameter can be used only when the Attribute parameter is launchPermission.

            */ - DestinationIpamScopeId?: string; + OrganizationArns?: string[]; /** * @public - *

            Determines if the resource is monitored by IPAM. If a resource is monitored, the resource is discovered by IPAM and you can view details about the resource’s CIDR.

            + *

            The Amazon Resource Name (ARN) of an organizational unit (OU). This parameter can be used only when the Attribute parameter is launchPermission.

            */ - Monitored: boolean | undefined; -} + OrganizationalUnitArns?: string[]; -/** - * @public - */ -export interface ModifyIpamResourceCidrResult { /** * @public - *

            The CIDR of the resource.

            + *

            Set to v2.0 to indicate 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.

            + * + *

            Do not use this parameter unless your AMI software supports IMDSv2. After you set the value to v2.0, + * you can't undo it. The only way to “reset” your AMI is to create a new AMI from the underlying snapshot.

            + *
            */ - IpamResourceCidr?: IpamResourceCidr; + ImdsSupport?: AttributeValue; } /** * @public + *

            Describes information used to set up an EBS volume specified in a block device + * mapping.

            */ -export interface ModifyIpamResourceDiscoveryRequest { +export interface EbsInstanceBlockDeviceSpecification { /** * @public - *

            A check for 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.

            + *

            Indicates whether the volume is deleted on instance termination.

            */ - DryRun?: boolean; + DeleteOnTermination?: boolean; /** * @public - *

            A resource discovery ID.

            + *

            The ID of the EBS volume.

            */ - IpamResourceDiscoveryId: string | undefined; + VolumeId?: string; +} +/** + * @public + *

            Describes a block device mapping entry.

            + */ +export interface InstanceBlockDeviceMappingSpecification { /** * @public - *

            A resource discovery description.

            + *

            The device name (for example, /dev/sdh or xvdh).

            */ - Description?: string; + DeviceName?: string; /** * @public - *

            Add operating Regions to the resource discovery. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

            + *

            Parameters used to automatically set up EBS volumes when the instance is + * launched.

            */ - AddOperatingRegions?: AddIpamOperatingRegion[]; + Ebs?: EbsInstanceBlockDeviceSpecification; /** * @public - *

            Remove operating Regions.

            + *

            suppress the specified device included in the block device mapping.

            */ - RemoveOperatingRegions?: RemoveIpamOperatingRegion[]; + NoDevice?: string; + + /** + * @public + *

            The virtual device name.

            + */ + VirtualName?: string; } /** * @public */ -export interface ModifyIpamResourceDiscoveryResult { - /** - * @public - *

            A resource discovery.

            - */ - IpamResourceDiscovery?: IpamResourceDiscovery; +export interface BlobAttributeValue { + Value?: Uint8Array; } /** * @public */ -export interface ModifyIpamScopeRequest { +export interface ModifyInstanceAttributeRequest { /** * @public - *

            A check for 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.

            + *

            Enable or disable source/destination checks, which ensure that the instance is either + * the source or the destination of any traffic that it receives. If the value is + * true, source/destination checks are enabled; otherwise, they are + * disabled. The default value is true. You must disable source/destination + * checks if the instance runs services such as network address translation, routing, or + * firewalls.

            */ - DryRun?: boolean; + SourceDestCheck?: AttributeBooleanValue; /** * @public - *

            The ID of the scope you want to modify.

            + *

            The name of the attribute to modify.

            + * + *

            You can modify the following attributes only: disableApiTermination | + * instanceType | kernel | ramdisk | + * instanceInitiatedShutdownBehavior | blockDeviceMapping + * | userData | sourceDestCheck | groupSet | + * ebsOptimized | sriovNetSupport | + * enaSupport | nvmeSupport | disableApiStop + * | enclaveOptions + *

            + *
            */ - IpamScopeId: string | undefined; + Attribute?: InstanceAttributeName; /** * @public - *

            The description of the scope you want to modify.

            + *

            Modifies the DeleteOnTermination attribute for volumes that are currently + * attached. The volume must be owned by the caller. If no value is specified for + * DeleteOnTermination, the default is true and the volume is + * deleted when the instance is terminated.

            + *

            To add instance store volumes to an Amazon EBS-backed instance, you must add them when + * you launch the instance. For more information, see Update the block device mapping when launching an instance in the + * Amazon EC2 User Guide.

            */ - Description?: string; -} + BlockDeviceMappings?: InstanceBlockDeviceMappingSpecification[]; -/** - * @public - */ -export interface ModifyIpamScopeResult { /** * @public - *

            The results of the modification.

            + *

            If the value is true, you can't terminate the instance using the Amazon + * EC2 console, CLI, or API; otherwise, you can. You cannot use this parameter for Spot + * Instances.

            */ - IpamScope?: IpamScope; -} + DisableApiTermination?: AttributeBooleanValue; -/** - * @public - */ -export interface ModifyLaunchTemplateRequest { /** * @public - *

            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.

            + *

            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.

            */ DryRun?: boolean; /** * @public - *

            Unique, case-sensitive identifier you provide to ensure the idempotency of the - * request. For more information, see Ensuring - * idempotency.

            - *

            Constraint: Maximum 128 ASCII characters.

            + *

            Specifies whether the instance is optimized for Amazon EBS I/O. This optimization + * provides dedicated throughput to Amazon EBS and an optimized configuration stack to + * provide optimal EBS I/O performance. This optimization isn't available with all instance + * types. Additional usage charges apply when using an EBS Optimized instance.

            */ - ClientToken?: string; + EbsOptimized?: AttributeBooleanValue; /** * @public - *

            The ID of the launch template.

            - *

            You must specify either the LaunchTemplateId or the - * LaunchTemplateName, but not both.

            + *

            Set to true to enable enhanced networking with ENA for the + * instance.

            + *

            This option is supported only for HVM instances. Specifying this option with a PV + * instance can make it unreachable.

            */ - LaunchTemplateId?: string; + EnaSupport?: AttributeBooleanValue; /** * @public - *

            The name of the launch template.

            - *

            You must specify either the LaunchTemplateName or the - * LaunchTemplateId, but not both.

            + *

            Replaces the security groups of the instance with the specified security groups. + * You must specify the ID of at least one security group, even if it's just the default + * security group for the VPC.

            */ - LaunchTemplateName?: string; + Groups?: string[]; /** * @public - *

            The version number of the launch template to set as the default version.

            + *

            The ID of the instance.

            */ - DefaultVersion?: string; -} + InstanceId: string | undefined; -/** - * @public - */ -export interface ModifyLaunchTemplateResult { /** * @public - *

            Information about the launch template.

            + *

            Specifies whether an instance stops or terminates when you initiate shutdown from the + * instance (using the operating system command for system shutdown).

            */ - LaunchTemplate?: LaunchTemplate; -} + InstanceInitiatedShutdownBehavior?: AttributeValue; -/** - * @public - */ -export interface ModifyLocalGatewayRouteRequest { /** * @public - *

            The CIDR block used for destination matches. The value that you provide must match the CIDR of an existing route in the table.

            + *

            Changes the instance type to the specified value. For more information, see Instance + * types in the Amazon EC2 User Guide. If the instance type is + * not valid, the error returned is InvalidInstanceAttributeValue.

            */ - DestinationCidrBlock?: string; + InstanceType?: AttributeValue; /** * @public - *

            The ID of the local gateway route table.

            + *

            Changes the instance's kernel to the specified value. We recommend that you use + * PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

            */ - LocalGatewayRouteTableId: string | undefined; + Kernel?: AttributeValue; /** * @public - *

            - * The ID of the virtual interface group. - *

            + *

            Changes the instance's RAM disk to the specified value. We recommend that you use + * PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

            */ - LocalGatewayVirtualInterfaceGroupId?: string; + Ramdisk?: AttributeValue; /** * @public - *

            The ID of the network interface.

            + *

            Set to simple to enable enhanced networking with the Intel 82599 Virtual + * Function interface for the instance.

            + *

            There is no way to disable enhanced networking with the Intel 82599 Virtual Function + * interface at this time.

            + *

            This option is supported only for HVM instances. Specifying this option with a PV + * instance can make it unreachable.

            */ - NetworkInterfaceId?: string; + SriovNetSupport?: AttributeValue; /** * @public - *

            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.

            + *

            Changes the instance's user data to the specified value. If you are using an Amazon Web Services SDK or command line tool, base64-encoding is performed for you, and you + * can load the text from a file. Otherwise, you must provide base64-encoded text.

            */ - DryRun?: boolean; + UserData?: BlobAttributeValue; /** * @public - *

            - * The ID of the prefix list. Use a prefix list in place of DestinationCidrBlock. You - * cannot use DestinationPrefixListId and DestinationCidrBlock in the same request. - *

            + *

            A new value for the attribute. Use only with the kernel, + * ramdisk, userData, disableApiTermination, or + * instanceInitiatedShutdownBehavior attribute.

            */ - DestinationPrefixListId?: string; -} + Value?: string; -/** - * @public - */ -export interface ModifyLocalGatewayRouteResult { /** * @public - *

            Information about the local gateway route table.

            + *

            Indicates whether an instance is enabled for stop protection. For more information, + * see Stop + * Protection.

            + *

            */ - Route?: LocalGatewayRoute; + DisableApiStop?: AttributeBooleanValue; } /** * @public - *

            An entry for a prefix list.

            + *

            Describes an instance's Capacity Reservation targeting option. You can specify only one parameter + * at a time. If you specify CapacityReservationPreference and + * CapacityReservationTarget, the request fails.

            + *

            Use the CapacityReservationPreference parameter to configure the instance + * to run as an On-Demand Instance or to run in any open Capacity Reservation that has + * matching attributes (instance type, platform, Availability Zone). Use the + * CapacityReservationTarget parameter to explicitly target a specific + * Capacity Reservation or a Capacity Reservation group.

            */ -export interface RemovePrefixListEntry { +export interface CapacityReservationSpecification { /** * @public - *

            The CIDR block.

            + *

            Indicates the instance's Capacity Reservation preferences. Possible preferences include:

            + *
              + *
            • + *

              + * open - The instance can run in any open Capacity Reservation that has matching attributes + * (instance type, platform, Availability Zone).

              + *
            • + *
            • + *

              + * none - The instance avoids running in a Capacity Reservation even if one is available. The + * instance runs as an On-Demand Instance.

              + *
            • + *
            */ - Cidr: string | undefined; + CapacityReservationPreference?: CapacityReservationPreference; + + /** + * @public + *

            Information about the target Capacity Reservation or Capacity Reservation group.

            + */ + CapacityReservationTarget?: CapacityReservationTarget; } /** * @public */ -export interface ModifyManagedPrefixListRequest { +export interface ModifyInstanceCapacityReservationAttributesRequest { /** * @public - *

            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.

            + *

            The ID of the instance to be modified.

            */ - DryRun?: boolean; + InstanceId: string | undefined; /** * @public - *

            The ID of the prefix list.

            + *

            Information about the Capacity Reservation targeting option.

            */ - PrefixListId: string | undefined; + CapacityReservationSpecification: CapacityReservationSpecification | undefined; /** * @public - *

            The current version of the prefix list.

            + *

            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.

            */ - CurrentVersion?: number; + DryRun?: boolean; +} +/** + * @public + */ +export interface ModifyInstanceCapacityReservationAttributesResult { /** * @public - *

            A name for the prefix list.

            + *

            Returns true if the request succeeds; otherwise, it returns an error.

            */ - PrefixListName?: string; + Return?: boolean; +} +/** + * @public + *

            Describes the credit option for CPU usage of a burstable performance instance.

            + */ +export interface InstanceCreditSpecificationRequest { /** * @public - *

            One or more entries to add to the prefix list.

            + *

            The ID of the instance.

            */ - AddEntries?: AddPrefixListEntry[]; + InstanceId: string | undefined; /** * @public - *

            One or more entries to remove from the prefix list.

            - */ - RemoveEntries?: RemovePrefixListEntry[]; + *

            The credit option for CPU usage of the instance.

            + *

            Valid values: standard | unlimited + *

            + *

            T3 instances with host tenancy do not support the unlimited + * CPU credit option.

            + */ + CpuCredits?: string; +} +/** + * @public + */ +export interface ModifyInstanceCreditSpecificationRequest { /** * @public - *

            The maximum number of entries for the prefix list. You cannot modify the entries - * of a prefix list and modify the size of a prefix list at the same time.

            - *

            If any of the resources that reference the prefix list cannot support the new - * maximum size, the modify operation fails. Check the state message for the IDs of - * the first ten resources that do not support the new maximum size.

            + *

            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.

            */ - MaxEntries?: number; + DryRun?: boolean; + + /** + * @public + *

            A unique, case-sensitive token that you provide to ensure idempotency of your + * modification request. For more information, see Ensuring + * Idempotency.

            + */ + ClientToken?: string; + + /** + * @public + *

            Information about the credit option for CPU usage.

            + */ + InstanceCreditSpecifications: InstanceCreditSpecificationRequest[] | undefined; } /** * @public + *

            Describes the burstable performance instance whose credit option for CPU usage was + * successfully modified.

            */ -export interface ModifyManagedPrefixListResult { +export interface SuccessfulInstanceCreditSpecificationItem { /** * @public - *

            Information about the prefix list.

            + *

            The ID of the instance.

            */ - PrefixList?: ManagedPrefixList; + InstanceId?: string; } /** * @public - *

            Describes an attachment change.

            + * @enum */ -export interface NetworkInterfaceAttachmentChanges { +export const UnsuccessfulInstanceCreditSpecificationErrorCode = { + INCORRECT_INSTANCE_STATE: "IncorrectInstanceState", + INSTANCE_CREDIT_SPECIFICATION_NOT_SUPPORTED: "InstanceCreditSpecification.NotSupported", + INSTANCE_NOT_FOUND: "InvalidInstanceID.NotFound", + INVALID_INSTANCE_ID: "InvalidInstanceID.Malformed", +} as const; + +/** + * @public + */ +export type UnsuccessfulInstanceCreditSpecificationErrorCode = + (typeof UnsuccessfulInstanceCreditSpecificationErrorCode)[keyof typeof UnsuccessfulInstanceCreditSpecificationErrorCode]; + +/** + * @public + *

            Information about the error for the burstable performance instance whose credit option + * for CPU usage was not modified.

            + */ +export interface UnsuccessfulInstanceCreditSpecificationItemError { /** * @public - *

            The ID of the network interface attachment.

            + *

            The error code.

            */ - AttachmentId?: string; + Code?: UnsuccessfulInstanceCreditSpecificationErrorCode; /** * @public - *

            Indicates whether the network interface is deleted when the instance is terminated.

            + *

            The applicable error message.

            */ - DeleteOnTermination?: boolean; + Message?: string; } /** * @public - *

            Contains the parameters for ModifyNetworkInterfaceAttribute.

            + *

            Describes the burstable performance instance whose credit option for CPU usage was not + * modified.

            */ -export interface ModifyNetworkInterfaceAttributeRequest { +export interface UnsuccessfulInstanceCreditSpecificationItem { /** * @public - *

            Information about the interface attachment. If modifying the delete on - * termination attribute, you must specify the ID of the interface - * attachment.

            + *

            The ID of the instance.

            */ - Attachment?: NetworkInterfaceAttachmentChanges; + InstanceId?: string; /** * @public - *

            A description for the network interface.

            + *

            The applicable error for the burstable performance instance whose credit option for + * CPU usage was not modified.

            */ - Description?: AttributeValue; + Error?: UnsuccessfulInstanceCreditSpecificationItemError; +} +/** + * @public + */ +export interface ModifyInstanceCreditSpecificationResult { /** * @public - *

            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.

            + *

            Information about the instances whose credit option for CPU usage was successfully + * modified.

            */ - DryRun?: boolean; + SuccessfulInstanceCreditSpecifications?: SuccessfulInstanceCreditSpecificationItem[]; /** * @public - *

            Changes the security groups for the network interface. The new set of groups you specify replaces the current set. You must specify at least one group, even if it's just the default security group in the VPC. You must specify the ID of the security group, not the name.

            + *

            Information about the instances whose credit option for CPU usage was not + * modified.

            */ - Groups?: string[]; + UnsuccessfulInstanceCreditSpecifications?: UnsuccessfulInstanceCreditSpecificationItem[]; +} +/** + * @public + */ +export interface ModifyInstanceEventStartTimeRequest { /** * @public - *

            The ID of the network interface.

            + *

            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.

            */ - NetworkInterfaceId: string | undefined; + DryRun?: boolean; /** * @public - *

            Enable or disable source/destination checks, which ensure that the instance - * is either the source or the destination of any traffic that it receives. - * If the value is true, source/destination checks are enabled; - * otherwise, they are disabled. The default value is true. - * You must disable source/destination checks if the instance runs services - * such as network address translation, routing, or firewalls.

            + *

            The ID of the instance with the scheduled event.

            */ - SourceDestCheck?: AttributeBooleanValue; + InstanceId: string | undefined; /** * @public - *

            Updates the ENA Express configuration for the network interface that’s attached to the - * instance.

            + *

            The ID of the event whose date and time you are modifying.

            */ - EnaSrdSpecification?: EnaSrdSpecification; + InstanceEventId: string | undefined; /** * @public - *

            If you’re modifying a network interface in a dual-stack or IPv6-only subnet, you have - * the option to assign a primary IPv6 IP address. A primary IPv6 address is an IPv6 GUA - * address associated with an ENI that you have enabled to use a primary IPv6 address. Use - * this option if the instance that this ENI will be attached to relies on its IPv6 address - * not changing. Amazon Web Services will automatically assign an IPv6 address associated - * with the ENI attached to your instance to be the primary IPv6 address. Once you enable - * an IPv6 GUA address to be a primary IPv6, you cannot disable it. When you enable an IPv6 - * GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 - * address until the instance is terminated or the network interface is detached. If you - * have multiple IPv6 addresses associated with an ENI attached to your instance and you - * enable a primary IPv6 address, the first IPv6 GUA address associated with the ENI - * becomes the primary IPv6 address.

            + *

            The new date and time when the event will take place.

            */ - EnablePrimaryIpv6?: boolean; + NotBefore: Date | undefined; } /** * @public */ -export interface ModifyPrivateDnsNameOptionsRequest { +export interface ModifyInstanceEventStartTimeResult { /** * @public - *

            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.

            + *

            Information about the event.

            + */ + Event?: InstanceStatusEvent; +} + +/** + * @public + */ +export interface ModifyInstanceEventWindowRequest { + /** + * @public + *

            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.

            */ DryRun?: boolean; /** * @public - *

            The ID of the instance.

            + *

            The name of the event window.

            */ - InstanceId: string | undefined; + Name?: string; /** * @public - *

            The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name - * must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name - * must be based on the instance ID. For dual-stack subnets, you can specify whether DNS - * names use the instance IPv4 address or the instance ID.

            + *

            The ID of the event window.

            */ - PrivateDnsHostnameType?: HostnameType; + InstanceEventWindowId: string | undefined; /** * @public - *

            Indicates whether to respond to DNS queries for instance hostnames with DNS A - * records.

            + *

            The time ranges of the event window.

            */ - EnableResourceNameDnsARecord?: boolean; + TimeRanges?: InstanceEventWindowTimeRangeRequest[]; /** * @public - *

            Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA - * records.

            + *

            The cron expression of the event window, for example, * 0-4,20-23 * * 1,5.

            + *

            Constraints:

            + *
              + *
            • + *

              Only hour and day of the week values are supported.

              + *
            • + *
            • + *

              For day of the week values, you can specify either integers 0 through + * 6, or alternative single values SUN through + * SAT.

              + *
            • + *
            • + *

              The minute, month, and year must be specified by *.

              + *
            • + *
            • + *

              The hour value must be one or a multiple range, for example, 0-4 or + * 0-4,20-23.

              + *
            • + *
            • + *

              Each hour range must be >= 2 hours, for example, 0-2 or + * 20-23.

              + *
            • + *
            • + *

              The event window must be >= 4 hours. The combined total time ranges in the event + * window must be >= 4 hours.

              + *
            • + *
            + *

            For more information about cron expressions, see cron on the Wikipedia + * website.

            */ - EnableResourceNameDnsAAAARecord?: boolean; + CronExpression?: string; } /** * @public */ -export interface ModifyPrivateDnsNameOptionsResult { +export interface ModifyInstanceEventWindowResult { /** * @public - *

            Returns true if the request succeeds; otherwise, it returns an - * error.

            + *

            Information about the event window.

            */ - Return?: boolean; + InstanceEventWindow?: InstanceEventWindow; } /** * @public - *

            Contains the parameters for ModifyReservedInstances.

            */ -export interface ModifyReservedInstancesRequest { +export interface ModifyInstanceMaintenanceOptionsRequest { /** * @public - *

            The IDs of the Reserved Instances to modify.

            + *

            The ID of the instance.

            */ - ReservedInstancesIds: string[] | undefined; + InstanceId: string | undefined; /** * @public - *

            A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see - * Ensuring Idempotency.

            + *

            Disables the automatic recovery behavior of your instance or sets it to + * default.

            */ - ClientToken?: string; + AutoRecovery?: InstanceAutoRecoveryState; /** * @public - *

            The configuration settings for the Reserved Instances to modify.

            + *

            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.

            */ - TargetConfigurations: ReservedInstancesConfiguration[] | undefined; + DryRun?: boolean; } /** * @public - *

            Contains the output of ModifyReservedInstances.

            */ -export interface ModifyReservedInstancesResult { +export interface ModifyInstanceMaintenanceOptionsResult { /** * @public - *

            The ID for the modification.

            + *

            The ID of the instance.

            */ - ReservedInstancesModificationId?: string; -} + InstanceId?: string; -/** - * @public - *

            Describes a security group rule.

            - *

            You must specify exactly one of the following parameters, based on the rule type:

            - *
              - *
            • - *

              CidrIpv4

              - *
            • - *
            • - *

              CidrIpv6

              - *
            • - *
            • - *

              PrefixListId

              - *
            • - *
            • - *

              ReferencedGroupId

              - *
            • - *
            - *

            When you modify a rule, you cannot change the rule type. For example, if the rule - * uses an IPv4 address range, you must use CidrIpv4 to specify a new IPv4 - * address range.

            - */ -export interface SecurityGroupRuleRequest { /** * @public - *

            The IP protocol name (tcp, udp, icmp, - * icmpv6) or number (see Protocol Numbers).

            - *

            Use -1 to specify all protocols.

            + *

            Provides information on the current automatic recovery behavior of your + * instance.

            */ - IpProtocol?: string; + AutoRecovery?: InstanceAutoRecoveryState; +} +/** + * @public + */ +export interface ModifyInstanceMetadataOptionsRequest { /** * @public - *

            If the protocol is TCP or UDP, this is the start of the port range. - * If the protocol is ICMP or ICMPv6, this is the type number. A value of -1 indicates all ICMP/ICMPv6 types. - * If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.

            + *

            The ID of the instance.

            */ - FromPort?: number; + InstanceId: string | undefined; /** * @public - *

            If the protocol is TCP or UDP, this is the end of the port range. - * If the protocol is ICMP or ICMPv6, this is the code. A value of -1 indicates all ICMP/ICMPv6 codes. - * If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.

            + *

            IMDSv2 uses token-backed sessions. Set the use of HTTP tokens to optional + * (in other words, set the use of IMDSv2 to optional) or + * required (in other words, set the use of IMDSv2 to + * required).

            + *
              + *
            • + *

              + * optional - When IMDSv2 is optional, you can choose to retrieve instance metadata with or without + * a session token in your request. If you retrieve the IAM role credentials + * without a token, the IMDSv1 role credentials are returned. If you retrieve the IAM role credentials + * using a valid session token, the IMDSv2 role credentials are returned.

              + *
            • + *
            • + *

              + * required - When IMDSv2 is required, you must send a session token + * with any instance metadata retrieval requests. In this state, retrieving the IAM role + * credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.

              + *
            • + *
            + *

            Default: optional + *

            */ - ToPort?: number; + HttpTokens?: HttpTokensState; /** * @public - *

            The IPv4 CIDR range. To specify a single IPv4 address, use the /32 prefix length.

            + *

            The desired HTTP PUT response hop limit for instance metadata requests. The larger the + * number, the further instance metadata requests can travel. If no parameter is specified, + * the existing state is maintained.

            + *

            Possible values: Integers from 1 to 64

            */ - CidrIpv4?: string; + HttpPutResponseHopLimit?: number; /** * @public - *

            The IPv6 CIDR range. To specify a single IPv6 address, use the /128 prefix length.

            + *

            Enables or disables the HTTP metadata endpoint on your instances. If this parameter is + * not specified, the existing state is maintained.

            + *

            If you specify a value of disabled, you cannot access your instance + * metadata.

            */ - CidrIpv6?: string; + HttpEndpoint?: InstanceMetadataEndpointState; /** * @public - *

            The ID of the prefix list.

            + *

            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.

            */ - PrefixListId?: string; + DryRun?: boolean; /** * @public - *

            The ID of the security group that is referenced in the security group rule.

            + *

            Enables or disables the IPv6 endpoint for the instance metadata service. + * Applies only if you enabled the HTTP metadata endpoint.

            */ - ReferencedGroupId?: string; + HttpProtocolIpv6?: InstanceMetadataProtocolState; /** * @public - *

            The description of the security group rule.

            + *

            Set to enabled to allow access to instance tags from the instance + * metadata. Set to disabled to turn off access to instance tags from the + * instance metadata. For more information, see Work with + * instance tags using the instance metadata.

            + *

            Default: disabled + *

            */ - Description?: string; + InstanceMetadataTags?: InstanceMetadataTagsState; } /** * @public - *

            Describes an update to a security group rule.

            */ -export interface SecurityGroupRuleUpdate { +export interface ModifyInstanceMetadataOptionsResult { /** * @public - *

            The ID of the security group rule.

            + *

            The ID of the instance.

            */ - SecurityGroupRuleId: string | undefined; + InstanceId?: string; /** * @public - *

            Information about the security group rule.

            + *

            The metadata options for the instance.

            */ - SecurityGroupRule?: SecurityGroupRuleRequest; + InstanceMetadataOptions?: InstanceMetadataOptionsResponse; } /** * @public + * @enum */ -export interface ModifySecurityGroupRulesRequest { - /** - * @public - *

            The ID of the security group.

            - */ - GroupId: string | undefined; - - /** - * @public - *

            Information about the security group properties to update.

            - */ - SecurityGroupRules: SecurityGroupRuleUpdate[] | undefined; - - /** - * @public - *

            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.

            - */ - DryRun?: boolean; -} +export const HostTenancy = { + dedicated: "dedicated", + host: "host", +} as const; /** * @public */ -export interface ModifySecurityGroupRulesResult { - /** - * @public - *

            Returns true if the request succeeds; otherwise, returns an error.

            - */ - Return?: boolean; -} +export type HostTenancy = (typeof HostTenancy)[keyof typeof HostTenancy]; /** * @public - *

            Describes modifications to the list of create volume permissions for a volume.

            */ -export interface CreateVolumePermissionModifications { - /** - * @public - *

            Adds the specified Amazon Web Services account ID or group to the list.

            - */ - Add?: CreateVolumePermission[]; - +export interface ModifyInstancePlacementRequest { /** * @public - *

            Removes the specified Amazon Web Services account ID or group from the list.

            + *

            The affinity setting for the instance.

            */ - Remove?: CreateVolumePermission[]; -} + Affinity?: Affinity; -/** - * @public - */ -export interface ModifySnapshotAttributeRequest { /** * @public - *

            The snapshot attribute to modify. Only volume creation permissions can be modified.

            + *

            The name of the placement group in which to place the instance. For spread placement + * groups, the instance must have a tenancy of default. For cluster and + * partition placement groups, the instance must have a tenancy of default or + * dedicated.

            + *

            To remove an instance from a placement group, specify an empty string ("").

            */ - Attribute?: SnapshotAttributeName; + GroupName?: string; /** * @public - *

            A JSON representation of the snapshot attribute modification.

            + *

            The ID of the Dedicated Host with which to associate the instance.

            */ - CreateVolumePermission?: CreateVolumePermissionModifications; + HostId?: string; /** * @public - *

            The group to modify for the snapshot.

            + *

            The ID of the instance that you are modifying.

            */ - GroupNames?: string[]; + InstanceId: string | undefined; /** * @public - *

            The type of operation to perform to the attribute.

            + *

            The tenancy for the instance.

            + * + *

            For T3 instances, you must launch the instance on a Dedicated Host to use a + * tenancy of host. You can't change the tenancy from + * host to dedicated or default. + * Attempting to make one of these unsupported tenancy changes results in an + * InvalidRequest error code.

            + *
            */ - OperationType?: OperationType; + Tenancy?: HostTenancy; /** * @public - *

            The ID of the snapshot.

            + *

            The number of the partition in which to place the instance. Valid only if the + * placement group strategy is set to partition.

            */ - SnapshotId: string | undefined; + PartitionNumber?: number; /** * @public - *

            The account ID to modify for the snapshot.

            + *

            The ARN of the host resource group in which to place the instance. The instance must + * have a tenancy of host to specify this parameter.

            */ - UserIds?: string[]; + HostResourceGroupArn?: string; /** * @public - *

            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.

            + *

            The Group Id of a placement group. You must specify the Placement Group Group Id to launch an instance in a shared placement + * group.

            */ - DryRun?: boolean; + GroupId?: string; } /** * @public - * @enum */ -export const TargetStorageTier = { - archive: "archive", -} as const; +export interface ModifyInstancePlacementResult { + /** + * @public + *

            Is true if the request succeeds, and an error otherwise.

            + */ + Return?: boolean; +} /** * @public + *

            Remove an operating Region from an IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

            + *

            For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide + *

            */ -export type TargetStorageTier = (typeof TargetStorageTier)[keyof typeof TargetStorageTier]; +export interface RemoveIpamOperatingRegion { + /** + * @public + *

            The name of the operating Region you want to remove.

            + */ + RegionName?: string; +} /** * @public */ -export interface ModifySnapshotTierRequest { +export interface ModifyIpamRequest { /** * @public - *

            The ID of the snapshot.

            + *

            A check for 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.

            */ - SnapshotId: string | undefined; + DryRun?: boolean; /** * @public - *

            The name of the storage tier. You must specify archive.

            + *

            The ID of the IPAM you want to modify.

            */ - StorageTier?: TargetStorageTier; + IpamId: string | undefined; /** * @public - *

            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.

            + *

            The description of the IPAM you want to modify.

            */ - DryRun?: boolean; -} + Description?: string; -/** - * @public - */ -export interface ModifySnapshotTierResult { /** * @public - *

            The ID of the snapshot.

            + *

            Choose the operating Regions for the IPAM. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

            + *

            For more information about operating Regions, see Create an IPAM in the Amazon VPC IPAM User Guide.

            */ - SnapshotId?: string; + AddOperatingRegions?: AddIpamOperatingRegion[]; /** * @public - *

            The date and time when the archive process was started.

            + *

            The operating Regions to remove.

            */ - TieringStartTime?: Date; + RemoveOperatingRegions?: RemoveIpamOperatingRegion[]; + + /** + * @public + *

            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.

            + */ + Tier?: IpamTier; } /** * @public - *

            Contains the parameters for ModifySpotFleetRequest.

            */ -export interface ModifySpotFleetRequestRequest { +export interface ModifyIpamResult { /** * @public - *

            Indicates whether running instances should be terminated if the target capacity - * of the Spot Fleet request is decreased below the current size of the Spot Fleet.

            - *

            Supported only for fleets of type maintain.

            + *

            The results of the modification.

            */ - ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy; + Ipam?: Ipam; +} +/** + * @public + */ +export interface ModifyIpamPoolRequest { /** * @public - *

            The launch template and overrides. You can only use this parameter if you specified a - * launch template (LaunchTemplateConfigs) in your Spot Fleet request. If you - * specified LaunchSpecifications in your Spot Fleet request, then omit this - * parameter.

            + *

            A check for 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.

            */ - LaunchTemplateConfigs?: LaunchTemplateConfig[]; + DryRun?: boolean; /** * @public - *

            The ID of the Spot Fleet request.

            + *

            The ID of the IPAM pool you want to modify.

            */ - SpotFleetRequestId: string | undefined; + IpamPoolId: string | undefined; /** * @public - *

            The size of the fleet.

            + *

            The description of the IPAM pool you want to modify.

            */ - TargetCapacity?: number; + Description?: string; /** * @public - *

            The number of On-Demand Instances in the fleet.

            + *

            If true, IPAM will continuously look for resources within the CIDR range of this pool + * and automatically import them as allocations into your IPAM. The CIDRs that will be allocated for + * these resources must not already be allocated to other resources in order for the import to succeed. IPAM will import + * a CIDR regardless of its compliance with the pool's allocation rules, so a resource might be imported and subsequently + * marked as noncompliant. If IPAM discovers multiple CIDRs that overlap, IPAM will import the largest CIDR only. If IPAM + * discovers multiple CIDRs with matching CIDRs, IPAM will randomly import one of them only. + *

            + *

            A locale must be set on the pool for this feature to work.

            */ - OnDemandTargetCapacity?: number; + AutoImport?: boolean; /** * @public - *

            Reserved.

            + *

            The minimum netmask length required for CIDR allocations in this IPAM pool to be compliant. Possible + * netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128. The minimum netmask + * length must be less than the maximum netmask length.

            */ - Context?: string; -} + AllocationMinNetmaskLength?: number; -/** - * @public - *

            Contains the output of ModifySpotFleetRequest.

            - */ -export interface ModifySpotFleetRequestResponse { /** * @public - *

            If the request succeeds, the response returns true. If the request fails, - * no response is returned, and instead an error message is returned.

            + *

            The maximum netmask length possible for CIDR allocations in this IPAM pool to be compliant. Possible + * netmask lengths for IPv4 addresses are 0 - 32. Possible netmask lengths for IPv6 addresses are 0 - 128.The maximum netmask + * length must be greater than the minimum netmask length.

            */ - Return?: boolean; -} + AllocationMaxNetmaskLength?: number; -/** - * @public - */ -export interface ModifySubnetAttributeRequest { /** * @public - *

            Specify true to indicate that network interfaces created in the - * specified subnet should be assigned an IPv6 address. This includes a network interface - * that's created when launching an instance into the subnet (the instance therefore - * receives an IPv6 address).

            - *

            If you enable the IPv6 addressing feature for your subnet, your network interface - * or instance only receives an IPv6 address if it's created using version - * 2016-11-15 or later of the Amazon EC2 API.

            + *

            The default netmask length for allocations added to this pool. If, for example, the CIDR assigned to this pool is 10.0.0.0/8 and you enter 16 here, new allocations will default to 10.0.0.0/16.

            */ - AssignIpv6AddressOnCreation?: AttributeBooleanValue; + AllocationDefaultNetmaskLength?: number; /** * @public - *

            Specify true to indicate that network interfaces attached to instances created in the - * specified subnet should be assigned a public IPv4 address.

            + *

            Clear the default netmask length allocation rule for this pool.

            */ - MapPublicIpOnLaunch?: AttributeBooleanValue; + ClearAllocationDefaultNetmaskLength?: boolean; /** * @public - *

            The ID of the subnet.

            + *

            Add tag allocation rules to a pool. For more information about allocation rules, see Create a top-level pool in the Amazon VPC IPAM User Guide.

            */ - SubnetId: string | undefined; + AddAllocationResourceTags?: RequestIpamResourceTag[]; /** * @public - *

            Specify true to indicate that network interfaces attached to instances created in the - * specified subnet should be assigned a customer-owned IPv4 address.

            - *

            When this value is true, you must specify the customer-owned IP pool using CustomerOwnedIpv4Pool.

            + *

            Remove tag allocation rules from a pool.

            */ - MapCustomerOwnedIpOnLaunch?: AttributeBooleanValue; + RemoveAllocationResourceTags?: RequestIpamResourceTag[]; +} +/** + * @public + */ +export interface ModifyIpamPoolResult { /** * @public - *

            The customer-owned IPv4 address pool associated with the subnet.

            - *

            You must set this value when you specify true for MapCustomerOwnedIpOnLaunch.

            + *

            The results of the modification.

            */ - CustomerOwnedIpv4Pool?: string; + IpamPool?: IpamPool; +} +/** + * @public + */ +export interface ModifyIpamResourceCidrRequest { /** * @public - *

            Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet - * should return synthetic IPv6 addresses for IPv4-only destinations.

            + *

            A check for 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.

            */ - EnableDns64?: AttributeBooleanValue; + DryRun?: boolean; /** * @public - *

            The type of hostname to assign to instances in the subnet at launch. For IPv4-only and dual-stack (IPv4 and IPv6) subnets, an - * instance DNS name can be based on the instance IPv4 address (ip-name) or the instance ID (resource-name). For IPv6 only subnets, an instance - * DNS name must be based on the instance ID (resource-name).

            + *

            The ID of the resource you want to modify.

            */ - PrivateDnsHostnameTypeOnLaunch?: HostnameType; + ResourceId: string | undefined; /** * @public - *

            Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

            + *

            The CIDR of the resource you want to modify.

            */ - EnableResourceNameDnsARecordOnLaunch?: AttributeBooleanValue; + ResourceCidr: string | undefined; /** * @public - *

            Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

            + *

            The Amazon Web Services Region of the resource you want to modify.

            */ - EnableResourceNameDnsAAAARecordOnLaunch?: AttributeBooleanValue; + ResourceRegion: string | undefined; /** * @public - *

            - * Indicates the device position for local network interfaces in this subnet. For example, - * 1 indicates local network interfaces in this subnet are the secondary - * network interface (eth1). A local network interface cannot be the primary network - * interface (eth0). - *

            + *

            The ID of the current scope that the resource CIDR is in.

            */ - EnableLniAtDeviceIndex?: number; + CurrentIpamScopeId: string | undefined; /** * @public - *

            - * Specify true to indicate that local network interfaces at the current - * position should be disabled. - *

            + *

            The ID of the scope you want to transfer the resource CIDR to.

            */ - DisableLniAtDeviceIndex?: AttributeBooleanValue; + DestinationIpamScopeId?: string; + + /** + * @public + *

            Determines if the resource is monitored by IPAM. If a resource is monitored, the resource is discovered by IPAM and you can view details about the resource’s CIDR.

            + */ + Monitored: boolean | undefined; } /** * @public */ -export interface ModifyTrafficMirrorFilterNetworkServicesRequest { +export interface ModifyIpamResourceCidrResult { /** * @public - *

            The ID of the Traffic Mirror filter.

            + *

            The CIDR of the resource.

            */ - TrafficMirrorFilterId: string | undefined; + IpamResourceCidr?: IpamResourceCidr; +} +/** + * @public + */ +export interface ModifyIpamResourceDiscoveryRequest { /** * @public - *

            The network service, for example Amazon DNS, that you want to mirror.

            + *

            A check for 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.

            */ - AddNetworkServices?: TrafficMirrorNetworkService[]; + DryRun?: boolean; /** * @public - *

            The network service, for example Amazon DNS, that you no longer want to mirror.

            + *

            A resource discovery ID.

            */ - RemoveNetworkServices?: TrafficMirrorNetworkService[]; + IpamResourceDiscoveryId: string | undefined; /** * @public - *

            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.

            + *

            A resource discovery description.

            */ - DryRun?: boolean; -} + Description?: string; -/** - * @public - */ -export interface ModifyTrafficMirrorFilterNetworkServicesResult { /** * @public - *

            The Traffic Mirror filter that the network service is associated with.

            + *

            Add operating Regions to the resource discovery. Operating Regions are Amazon Web Services Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the Amazon Web Services Regions you select as operating Regions.

            */ - TrafficMirrorFilter?: TrafficMirrorFilter; -} + AddOperatingRegions?: AddIpamOperatingRegion[]; -/** - * @public - * @enum - */ -export const TrafficMirrorFilterRuleField = { - description: "description", - destination_port_range: "destination-port-range", - protocol: "protocol", - source_port_range: "source-port-range", -} as const; + /** + * @public + *

            Remove operating Regions.

            + */ + RemoveOperatingRegions?: RemoveIpamOperatingRegion[]; +} /** * @public */ -export type TrafficMirrorFilterRuleField = - (typeof TrafficMirrorFilterRuleField)[keyof typeof TrafficMirrorFilterRuleField]; +export interface ModifyIpamResourceDiscoveryResult { + /** + * @public + *

            A resource discovery.

            + */ + IpamResourceDiscovery?: IpamResourceDiscovery; +} /** * @public */ -export interface ModifyTrafficMirrorFilterRuleRequest { +export interface ModifyIpamScopeRequest { /** * @public - *

            The ID of the Traffic Mirror rule.

            + *

            A check for 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.

            */ - TrafficMirrorFilterRuleId: string | undefined; + DryRun?: boolean; /** * @public - *

            The type of traffic to assign to the rule.

            + *

            The ID of the scope you want to modify.

            */ - TrafficDirection?: TrafficDirection; + IpamScopeId: string | undefined; /** * @public - *

            The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given - * direction. The rules are processed in ascending order by rule number.

            + *

            The description of the scope you want to modify.

            */ - RuleNumber?: number; + Description?: string; +} +/** + * @public + */ +export interface ModifyIpamScopeResult { /** * @public - *

            The action to assign to the rule.

            + *

            The results of the modification.

            */ - RuleAction?: TrafficMirrorRuleAction; + IpamScope?: IpamScope; +} +/** + * @public + */ +export interface ModifyLaunchTemplateRequest { /** * @public - *

            The destination ports that are associated with the Traffic Mirror rule.

            + *

            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.

            */ - DestinationPortRange?: TrafficMirrorPortRangeRequest; + DryRun?: boolean; /** * @public - *

            The port range to assign to the Traffic Mirror rule.

            + *

            Unique, case-sensitive identifier you provide to ensure the idempotency of the + * request. For more information, see Ensuring + * idempotency.

            + *

            Constraint: Maximum 128 ASCII characters.

            */ - SourcePortRange?: TrafficMirrorPortRangeRequest; + ClientToken?: string; /** * @public - *

            The protocol, for example TCP, to assign to the Traffic Mirror rule.

            + *

            The ID of the launch template.

            + *

            You must specify either the LaunchTemplateId or the + * LaunchTemplateName, but not both.

            */ - Protocol?: number; + LaunchTemplateId?: string; /** * @public - *

            The destination CIDR block to assign to the Traffic Mirror rule.

            + *

            The name of the launch template.

            + *

            You must specify either the LaunchTemplateName or the + * LaunchTemplateId, but not both.

            + */ + LaunchTemplateName?: string; + + /** + * @public + *

            The version number of the launch template to set as the default version.

            + */ + DefaultVersion?: string; +} + +/** + * @public + */ +export interface ModifyLaunchTemplateResult { + /** + * @public + *

            Information about the launch template.

            + */ + LaunchTemplate?: LaunchTemplate; +} + +/** + * @public + */ +export interface ModifyLocalGatewayRouteRequest { + /** + * @public + *

            The CIDR block used for destination matches. The value that you provide must match the CIDR of an existing route in the table.

            */ DestinationCidrBlock?: string; /** * @public - *

            The source CIDR block to assign to the Traffic Mirror rule.

            + *

            The ID of the local gateway route table.

            */ - SourceCidrBlock?: string; + LocalGatewayRouteTableId: string | undefined; /** * @public - *

            The description to assign to the Traffic Mirror rule.

            + *

            + * The ID of the virtual interface group. + *

            */ - Description?: string; + LocalGatewayVirtualInterfaceGroupId?: string; /** * @public - *

            The properties that you want to remove from the Traffic Mirror filter rule.

            - *

            When you remove a property from a Traffic Mirror filter rule, the property is set to the default.

            + *

            The ID of the network interface.

            */ - RemoveFields?: TrafficMirrorFilterRuleField[]; + NetworkInterfaceId?: string; /** * @public @@ -5542,424 +5547,484 @@ export interface ModifyTrafficMirrorFilterRuleRequest { * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; -} -/** - * @public - */ -export interface ModifyTrafficMirrorFilterRuleResult { /** * @public - *

            Modifies a Traffic Mirror rule.

            + *

            + * The ID of the prefix list. Use a prefix list in place of DestinationCidrBlock. You + * cannot use DestinationPrefixListId and DestinationCidrBlock in the same request. + *

            */ - TrafficMirrorFilterRule?: TrafficMirrorFilterRule; + DestinationPrefixListId?: string; } -/** - * @public - * @enum - */ -export const TrafficMirrorSessionField = { - description: "description", - packet_length: "packet-length", - virtual_network_id: "virtual-network-id", -} as const; - -/** - * @public - */ -export type TrafficMirrorSessionField = (typeof TrafficMirrorSessionField)[keyof typeof TrafficMirrorSessionField]; - /** * @public */ -export interface ModifyTrafficMirrorSessionRequest { +export interface ModifyLocalGatewayRouteResult { /** * @public - *

            The ID of the Traffic Mirror session.

            + *

            Information about the local gateway route table.

            */ - TrafficMirrorSessionId: string | undefined; + Route?: LocalGatewayRoute; +} +/** + * @public + *

            An entry for a prefix list.

            + */ +export interface RemovePrefixListEntry { /** * @public - *

            The Traffic Mirror target. The target must be in the same VPC as the source, or have a VPC peering connection with the source.

            + *

            The CIDR block.

            */ - TrafficMirrorTargetId?: string; + Cidr: string | undefined; +} +/** + * @public + */ +export interface ModifyManagedPrefixListRequest { /** * @public - *

            The ID of the Traffic Mirror filter.

            + *

            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.

            */ - TrafficMirrorFilterId?: string; + DryRun?: boolean; /** * @public - *

            The number of bytes in each packet to mirror. These are bytes after the VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target. Do not specify this parameter when you want to mirror the entire packet.

            - *

            For sessions with Network Load Balancer (NLB) traffic mirror targets, the default PacketLength will be set to 8500. Valid values are 1-8500. Setting a PacketLength greater than 8500 will result in an error response.

            + *

            The ID of the prefix list.

            */ - PacketLength?: number; + PrefixListId: string | undefined; /** * @public - *

            The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

            - *

            Valid values are 1-32766.

            + *

            The current version of the prefix list.

            */ - SessionNumber?: number; + CurrentVersion?: number; /** * @public - *

            The virtual network ID of the Traffic Mirror session.

            + *

            A name for the prefix list.

            */ - VirtualNetworkId?: number; + PrefixListName?: string; /** * @public - *

            The description to assign to the Traffic Mirror session.

            + *

            One or more entries to add to the prefix list.

            */ - Description?: string; + AddEntries?: AddPrefixListEntry[]; /** * @public - *

            The properties that you want to remove from the Traffic Mirror session.

            - *

            When you remove a property from a Traffic Mirror session, the property is set to the default.

            + *

            One or more entries to remove from the prefix list.

            */ - RemoveFields?: TrafficMirrorSessionField[]; + RemoveEntries?: RemovePrefixListEntry[]; /** * @public - *

            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.

            + *

            The maximum number of entries for the prefix list. You cannot modify the entries + * of a prefix list and modify the size of a prefix list at the same time.

            + *

            If any of the resources that reference the prefix list cannot support the new + * maximum size, the modify operation fails. Check the state message for the IDs of + * the first ten resources that do not support the new maximum size.

            */ - DryRun?: boolean; + MaxEntries?: number; } /** * @public */ -export interface ModifyTrafficMirrorSessionResult { +export interface ModifyManagedPrefixListResult { /** * @public - *

            Information about the Traffic Mirror session.

            + *

            Information about the prefix list.

            */ - TrafficMirrorSession?: TrafficMirrorSession; + PrefixList?: ManagedPrefixList; } /** * @public - *

            The transit gateway options.

            + *

            Describes an attachment change.

            */ -export interface ModifyTransitGatewayOptions { +export interface NetworkInterfaceAttachmentChanges { /** * @public - *

            Adds IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6.

            + *

            The ID of the network interface attachment.

            */ - AddTransitGatewayCidrBlocks?: string[]; + AttachmentId?: string; /** * @public - *

            Removes CIDR blocks for the transit gateway.

            + *

            Indicates whether the network interface is deleted when the instance is terminated.

            */ - RemoveTransitGatewayCidrBlocks?: string[]; + DeleteOnTermination?: boolean; +} +/** + * @public + *

            Contains the parameters for ModifyNetworkInterfaceAttribute.

            + */ +export interface ModifyNetworkInterfaceAttributeRequest { /** * @public - *

            Enable or disable Equal Cost Multipath Protocol support.

            + *

            Information about the interface attachment. If modifying the delete on + * termination attribute, you must specify the ID of the interface + * attachment.

            */ - VpnEcmpSupport?: VpnEcmpSupportValue; + Attachment?: NetworkInterfaceAttachmentChanges; /** * @public - *

            Enable or disable DNS support.

            + *

            A description for the network interface.

            */ - DnsSupport?: DnsSupportValue; + Description?: AttributeValue; /** * @public - *

            Enable or disable automatic acceptance of attachment requests.

            + *

            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.

            */ - AutoAcceptSharedAttachments?: AutoAcceptSharedAttachmentsValue; + DryRun?: boolean; /** * @public - *

            Enable or disable automatic association with the default association route table.

            + *

            Changes the security groups for the network interface. The new set of groups you specify replaces the current set. You must specify at least one group, even if it's just the default security group in the VPC. You must specify the ID of the security group, not the name.

            */ - DefaultRouteTableAssociation?: DefaultRouteTableAssociationValue; + Groups?: string[]; /** * @public - *

            The ID of the default association route table.

            + *

            The ID of the network interface.

            */ - AssociationDefaultRouteTableId?: string; + NetworkInterfaceId: string | undefined; /** * @public - *

            Enable or disable automatic propagation of routes to the default propagation route table.

            + *

            Enable or disable source/destination checks, which ensure that the instance + * is either the source or the destination of any traffic that it receives. + * If the value is true, source/destination checks are enabled; + * otherwise, they are disabled. The default value is true. + * You must disable source/destination checks if the instance runs services + * such as network address translation, routing, or firewalls.

            */ - DefaultRouteTablePropagation?: DefaultRouteTablePropagationValue; + SourceDestCheck?: AttributeBooleanValue; /** * @public - *

            The ID of the default propagation route table.

            + *

            Updates the ENA Express configuration for the network interface that’s attached to the + * instance.

            */ - PropagationDefaultRouteTableId?: string; + EnaSrdSpecification?: EnaSrdSpecification; /** * @public - *

            A private Autonomous System Number (ASN) for the Amazon side of a BGP session. - * The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs.

            - *

            The modify ASN operation is not allowed on a transit gateway with active BGP sessions. You must first delete all transit gateway attachments that have BGP configured prior to modifying the ASN on the transit gateway.

            + *

            If you’re modifying a network interface in a dual-stack or IPv6-only subnet, you have + * the option to assign a primary IPv6 IP address. A primary IPv6 address is an IPv6 GUA + * address associated with an ENI that you have enabled to use a primary IPv6 address. Use + * this option if the instance that this ENI will be attached to relies on its IPv6 address + * not changing. Amazon Web Services will automatically assign an IPv6 address associated + * with the ENI attached to your instance to be the primary IPv6 address. Once you enable + * an IPv6 GUA address to be a primary IPv6, you cannot disable it. When you enable an IPv6 + * GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 + * address until the instance is terminated or the network interface is detached. If you + * have multiple IPv6 addresses associated with an ENI attached to your instance and you + * enable a primary IPv6 address, the first IPv6 GUA address associated with the ENI + * becomes the primary IPv6 address.

            */ - AmazonSideAsn?: number; + EnablePrimaryIpv6?: boolean; + + /** + * @public + *

            A connection tracking specification.

            + */ + ConnectionTrackingSpecification?: ConnectionTrackingSpecificationRequest; } /** * @public */ -export interface ModifyTransitGatewayRequest { +export interface ModifyPrivateDnsNameOptionsRequest { /** * @public - *

            The ID of the transit gateway.

            + *

            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.

            */ - TransitGatewayId: string | undefined; + DryRun?: boolean; /** * @public - *

            The description for the transit gateway.

            + *

            The ID of the instance.

            */ - Description?: string; + InstanceId: string | undefined; /** * @public - *

            The options to modify.

            + *

            The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name + * must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name + * must be based on the instance ID. For dual-stack subnets, you can specify whether DNS + * names use the instance IPv4 address or the instance ID.

            */ - Options?: ModifyTransitGatewayOptions; + PrivateDnsHostnameType?: HostnameType; /** * @public - *

            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.

            + *

            Indicates whether to respond to DNS queries for instance hostnames with DNS A + * records.

            */ - DryRun?: boolean; -} + EnableResourceNameDnsARecord?: boolean; -/** - * @public - */ -export interface ModifyTransitGatewayResult { /** * @public - *

            Information about the transit gateway.

            + *

            Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA + * records.

            */ - TransitGateway?: TransitGateway; + EnableResourceNameDnsAAAARecord?: boolean; } /** * @public */ -export interface ModifyTransitGatewayPrefixListReferenceRequest { - /** - * @public - *

            The ID of the transit gateway route table.

            - */ - TransitGatewayRouteTableId: string | undefined; - +export interface ModifyPrivateDnsNameOptionsResult { /** * @public - *

            The ID of the prefix list.

            + *

            Returns true if the request succeeds; otherwise, it returns an + * error.

            */ - PrefixListId: string | undefined; + Return?: boolean; +} +/** + * @public + *

            Contains the parameters for ModifyReservedInstances.

            + */ +export interface ModifyReservedInstancesRequest { /** * @public - *

            The ID of the attachment to which traffic is routed.

            + *

            The IDs of the Reserved Instances to modify.

            */ - TransitGatewayAttachmentId?: string; + ReservedInstancesIds: string[] | undefined; /** * @public - *

            Indicates whether to drop traffic that matches this route.

            + *

            A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see + * Ensuring Idempotency.

            */ - Blackhole?: boolean; + ClientToken?: string; /** * @public - *

            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.

            + *

            The configuration settings for the Reserved Instances to modify.

            */ - DryRun?: boolean; + TargetConfigurations: ReservedInstancesConfiguration[] | undefined; } /** * @public + *

            Contains the output of ModifyReservedInstances.

            */ -export interface ModifyTransitGatewayPrefixListReferenceResult { +export interface ModifyReservedInstancesResult { /** * @public - *

            Information about the prefix list reference.

            + *

            The ID for the modification.

            */ - TransitGatewayPrefixListReference?: TransitGatewayPrefixListReference; + ReservedInstancesModificationId?: string; } /** * @public - *

            Describes the options for a VPC attachment.

            + *

            Describes a security group rule.

            + *

            You must specify exactly one of the following parameters, based on the rule type:

            + *
              + *
            • + *

              CidrIpv4

              + *
            • + *
            • + *

              CidrIpv6

              + *
            • + *
            • + *

              PrefixListId

              + *
            • + *
            • + *

              ReferencedGroupId

              + *
            • + *
            + *

            When you modify a rule, you cannot change the rule type. For example, if the rule + * uses an IPv4 address range, you must use CidrIpv4 to specify a new IPv4 + * address range.

            */ -export interface ModifyTransitGatewayVpcAttachmentRequestOptions { +export interface SecurityGroupRuleRequest { /** * @public - *

            Enable or disable DNS support. The default is enable.

            + *

            The IP protocol name (tcp, udp, icmp, + * icmpv6) or number (see Protocol Numbers).

            + *

            Use -1 to specify all protocols.

            */ - DnsSupport?: DnsSupportValue; + IpProtocol?: string; /** * @public - *

            Enable or disable IPv6 support. The default is enable.

            + *

            If the protocol is TCP or UDP, this is the start of the port range. + * If the protocol is ICMP or ICMPv6, this is the type number. A value of -1 indicates all ICMP/ICMPv6 types. + * If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.

            */ - Ipv6Support?: Ipv6SupportValue; + FromPort?: number; /** * @public - *

            Enable or disable support for appliance mode. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. The default is disable.

            + *

            If the protocol is TCP or UDP, this is the end of the port range. + * If the protocol is ICMP or ICMPv6, this is the code. A value of -1 indicates all ICMP/ICMPv6 codes. + * If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.

            */ - ApplianceModeSupport?: ApplianceModeSupportValue; -} + ToPort?: number; -/** - * @public - */ -export interface ModifyTransitGatewayVpcAttachmentRequest { /** * @public - *

            The ID of the attachment.

            + *

            The IPv4 CIDR range. To specify a single IPv4 address, use the /32 prefix length.

            */ - TransitGatewayAttachmentId: string | undefined; + CidrIpv4?: string; /** * @public - *

            The IDs of one or more subnets to add. You can specify at most one subnet per Availability Zone.

            + *

            The IPv6 CIDR range. To specify a single IPv6 address, use the /128 prefix length.

            */ - AddSubnetIds?: string[]; + CidrIpv6?: string; /** * @public - *

            The IDs of one or more subnets to remove.

            + *

            The ID of the prefix list.

            */ - RemoveSubnetIds?: string[]; + PrefixListId?: string; /** * @public - *

            The new VPC attachment options.

            + *

            The ID of the security group that is referenced in the security group rule.

            */ - Options?: ModifyTransitGatewayVpcAttachmentRequestOptions; + ReferencedGroupId?: string; /** * @public - *

            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.

            + *

            The description of the security group rule.

            */ - DryRun?: boolean; + Description?: string; } /** * @public + *

            Describes an update to a security group rule.

            */ -export interface ModifyTransitGatewayVpcAttachmentResult { +export interface SecurityGroupRuleUpdate { /** * @public - *

            Information about the modified attachment.

            + *

            The ID of the security group rule.

            */ - TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment; + SecurityGroupRuleId: string | undefined; + + /** + * @public + *

            Information about the security group rule.

            + */ + SecurityGroupRule?: SecurityGroupRuleRequest; } /** * @public - *

            Describes a load balancer when creating an Amazon Web Services Verified Access endpoint using the - * load-balancer type.

            */ -export interface ModifyVerifiedAccessEndpointLoadBalancerOptions { +export interface ModifySecurityGroupRulesRequest { /** * @public - *

            The IDs of the subnets.

            + *

            The ID of the security group.

            */ - SubnetIds?: string[]; + GroupId: string | undefined; /** * @public - *

            The IP protocol.

            + *

            Information about the security group properties to update.

            */ - Protocol?: VerifiedAccessEndpointProtocol; + SecurityGroupRules: SecurityGroupRuleUpdate[] | undefined; /** * @public - *

            The IP port number.

            + *

            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.

            */ - Port?: number; + DryRun?: boolean; } /** * @public - *

            Describes the options when modifying a Verified Access endpoint with the - * network-interface type.

            */ -export interface ModifyVerifiedAccessEndpointEniOptions { +export interface ModifySecurityGroupRulesResult { /** * @public - *

            The IP protocol.

            + *

            Returns true if the request succeeds; otherwise, returns an error.

            */ - Protocol?: VerifiedAccessEndpointProtocol; + Return?: boolean; +} + +/** + * @public + *

            Describes modifications to the list of create volume permissions for a volume.

            + */ +export interface CreateVolumePermissionModifications { + /** + * @public + *

            Adds the specified Amazon Web Services account ID or group to the list.

            + */ + Add?: CreateVolumePermission[]; /** * @public - *

            The IP port number.

            + *

            Removes the specified Amazon Web Services account ID or group from the list.

            */ - Port?: number; + Remove?: CreateVolumePermission[]; } /** * @public */ -export interface ModifyVerifiedAccessEndpointRequest { +export interface ModifySnapshotAttributeRequest { /** * @public - *

            The ID of the Verified Access endpoint.

            + *

            The snapshot attribute to modify. Only volume creation permissions can be modified.

            */ - VerifiedAccessEndpointId: string | undefined; + Attribute?: SnapshotAttributeName; /** * @public - *

            The ID of the Verified Access group.

            + *

            A JSON representation of the snapshot attribute modification.

            */ - VerifiedAccessGroupId?: string; + CreateVolumePermission?: CreateVolumePermissionModifications; /** * @public - *

            The load balancer details if creating the Verified Access endpoint as - * load-balancertype.

            + *

            The group to modify for the snapshot.

            */ - LoadBalancerOptions?: ModifyVerifiedAccessEndpointLoadBalancerOptions; + GroupNames?: string[]; /** * @public - *

            The network interface options.

            + *

            The type of operation to perform to the attribute.

            */ - NetworkInterfaceOptions?: ModifyVerifiedAccessEndpointEniOptions; + OperationType?: OperationType; /** * @public - *

            A description for the Verified Access endpoint.

            + *

            The ID of the snapshot.

            */ - Description?: string; + SnapshotId: string | undefined; /** * @public - *

            A unique, case-sensitive token that you provide to ensure idempotency of your - * modification request. For more information, see Ensuring Idempotency.

            + *

            The account ID to modify for the snapshot.

            */ - ClientToken?: string; + UserIds?: string[]; /** * @public @@ -5972,43 +6037,32 @@ export interface ModifyVerifiedAccessEndpointRequest { /** * @public + * @enum */ -export interface ModifyVerifiedAccessEndpointResult { - /** - * @public - *

            Details about the Verified Access endpoint.

            - */ - VerifiedAccessEndpoint?: VerifiedAccessEndpoint; -} +export const TargetStorageTier = { + archive: "archive", +} as const; /** * @public */ -export interface ModifyVerifiedAccessEndpointPolicyRequest { - /** - * @public - *

            The ID of the Verified Access endpoint.

            - */ - VerifiedAccessEndpointId: string | undefined; - - /** - * @public - *

            The status of the Verified Access policy.

            - */ - PolicyEnabled?: boolean; +export type TargetStorageTier = (typeof TargetStorageTier)[keyof typeof TargetStorageTier]; +/** + * @public + */ +export interface ModifySnapshotTierRequest { /** * @public - *

            The Verified Access policy document.

            + *

            The ID of the snapshot.

            */ - PolicyDocument?: string; + SnapshotId: string | undefined; /** * @public - *

            A unique, case-sensitive token that you provide to ensure idempotency of your - * modification request. For more information, see Ensuring Idempotency.

            + *

            The name of the storage tier. You must specify archive.

            */ - ClientToken?: string; + StorageTier?: TargetStorageTier; /** * @public @@ -6017,785 +6071,734 @@ export interface ModifyVerifiedAccessEndpointPolicyRequest { * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; - - /** - * @public - *

            The options for server side encryption.

            - */ - SseSpecification?: VerifiedAccessSseSpecificationRequest; } /** * @public */ -export interface ModifyVerifiedAccessEndpointPolicyResult { +export interface ModifySnapshotTierResult { /** * @public - *

            The status of the Verified Access policy.

            + *

            The ID of the snapshot.

            */ - PolicyEnabled?: boolean; + SnapshotId?: string; /** * @public - *

            The Verified Access policy document.

            + *

            The date and time when the archive process was started.

            */ - PolicyDocument?: string; + TieringStartTime?: Date; +} +/** + * @public + *

            Contains the parameters for ModifySpotFleetRequest.

            + */ +export interface ModifySpotFleetRequestRequest { /** * @public - *

            The options in use for server side encryption.

            + *

            Indicates whether running instances should be terminated if the target capacity + * of the Spot Fleet request is decreased below the current size of the Spot Fleet.

            + *

            Supported only for fleets of type maintain.

            */ - SseSpecification?: VerifiedAccessSseSpecificationResponse; -} + ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy; -/** - * @public - */ -export interface ModifyVerifiedAccessGroupRequest { /** * @public - *

            The ID of the Verified Access group.

            + *

            The launch template and overrides. You can only use this parameter if you specified a + * launch template (LaunchTemplateConfigs) in your Spot Fleet request. If you + * specified LaunchSpecifications in your Spot Fleet request, then omit this + * parameter.

            */ - VerifiedAccessGroupId: string | undefined; + LaunchTemplateConfigs?: LaunchTemplateConfig[]; /** * @public - *

            The ID of the Verified Access instance.

            + *

            The ID of the Spot Fleet request.

            */ - VerifiedAccessInstanceId?: string; + SpotFleetRequestId: string | undefined; /** * @public - *

            A description for the Verified Access group.

            + *

            The size of the fleet.

            */ - Description?: string; + TargetCapacity?: number; /** * @public - *

            A unique, case-sensitive token that you provide to ensure idempotency of your - * modification request. For more information, see Ensuring Idempotency.

            + *

            The number of On-Demand Instances in the fleet.

            */ - ClientToken?: string; + OnDemandTargetCapacity?: number; /** * @public - *

            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.

            + *

            Reserved.

            */ - DryRun?: boolean; + Context?: string; } /** * @public + *

            Contains the output of ModifySpotFleetRequest.

            */ -export interface ModifyVerifiedAccessGroupResult { +export interface ModifySpotFleetRequestResponse { /** * @public - *

            Details about the Verified Access group.

            + *

            If the request succeeds, the response returns true. If the request fails, + * no response is returned, and instead an error message is returned.

            */ - VerifiedAccessGroup?: VerifiedAccessGroup; + Return?: boolean; } /** * @public */ -export interface ModifyVerifiedAccessGroupPolicyRequest { +export interface ModifySubnetAttributeRequest { /** * @public - *

            The ID of the Verified Access group.

            + *

            Specify true to indicate that network interfaces created in the + * specified subnet should be assigned an IPv6 address. This includes a network interface + * that's created when launching an instance into the subnet (the instance therefore + * receives an IPv6 address).

            + *

            If you enable the IPv6 addressing feature for your subnet, your network interface + * or instance only receives an IPv6 address if it's created using version + * 2016-11-15 or later of the Amazon EC2 API.

            */ - VerifiedAccessGroupId: string | undefined; + AssignIpv6AddressOnCreation?: AttributeBooleanValue; /** * @public - *

            The status of the Verified Access policy.

            + *

            Specify true to indicate that network interfaces attached to instances created in the + * specified subnet should be assigned a public IPv4 address.

            */ - PolicyEnabled?: boolean; + MapPublicIpOnLaunch?: AttributeBooleanValue; /** * @public - *

            The Verified Access policy document.

            + *

            The ID of the subnet.

            */ - PolicyDocument?: string; + SubnetId: string | undefined; /** * @public - *

            A unique, case-sensitive token that you provide to ensure idempotency of your - * modification request. For more information, see Ensuring Idempotency.

            + *

            Specify true to indicate that network interfaces attached to instances created in the + * specified subnet should be assigned a customer-owned IPv4 address.

            + *

            When this value is true, you must specify the customer-owned IP pool using CustomerOwnedIpv4Pool.

            */ - ClientToken?: string; + MapCustomerOwnedIpOnLaunch?: AttributeBooleanValue; /** * @public - *

            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.

            + *

            The customer-owned IPv4 address pool associated with the subnet.

            + *

            You must set this value when you specify true for MapCustomerOwnedIpOnLaunch.

            */ - DryRun?: boolean; + CustomerOwnedIpv4Pool?: string; /** * @public - *

            The options for server side encryption.

            + *

            Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet + * should return synthetic IPv6 addresses for IPv4-only destinations.

            */ - SseSpecification?: VerifiedAccessSseSpecificationRequest; -} + EnableDns64?: AttributeBooleanValue; -/** - * @public - */ -export interface ModifyVerifiedAccessGroupPolicyResult { /** * @public - *

            The status of the Verified Access policy.

            + *

            The type of hostname to assign to instances in the subnet at launch. For IPv4-only and dual-stack (IPv4 and IPv6) subnets, an + * instance DNS name can be based on the instance IPv4 address (ip-name) or the instance ID (resource-name). For IPv6 only subnets, an instance + * DNS name must be based on the instance ID (resource-name).

            */ - PolicyEnabled?: boolean; + PrivateDnsHostnameTypeOnLaunch?: HostnameType; /** * @public - *

            The Verified Access policy document.

            + *

            Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

            */ - PolicyDocument?: string; + EnableResourceNameDnsARecordOnLaunch?: AttributeBooleanValue; /** * @public - *

            The options in use for server side encryption.

            + *

            Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

            */ - SseSpecification?: VerifiedAccessSseSpecificationResponse; + EnableResourceNameDnsAAAARecordOnLaunch?: AttributeBooleanValue; + + /** + * @public + *

            + * Indicates the device position for local network interfaces in this subnet. For example, + * 1 indicates local network interfaces in this subnet are the secondary + * network interface (eth1). A local network interface cannot be the primary network + * interface (eth0). + *

            + */ + EnableLniAtDeviceIndex?: number; + + /** + * @public + *

            + * Specify true to indicate that local network interfaces at the current + * position should be disabled. + *

            + */ + DisableLniAtDeviceIndex?: AttributeBooleanValue; } /** * @public */ -export interface ModifyVerifiedAccessInstanceRequest { +export interface ModifyTrafficMirrorFilterNetworkServicesRequest { /** * @public - *

            The ID of the Verified Access instance.

            + *

            The ID of the Traffic Mirror filter.

            */ - VerifiedAccessInstanceId: string | undefined; + TrafficMirrorFilterId: string | undefined; /** * @public - *

            A description for the Verified Access instance.

            + *

            The network service, for example Amazon DNS, that you want to mirror.

            */ - Description?: string; + AddNetworkServices?: TrafficMirrorNetworkService[]; /** * @public - *

            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.

            + *

            The network service, for example Amazon DNS, that you no longer want to mirror.

            */ - DryRun?: boolean; + RemoveNetworkServices?: TrafficMirrorNetworkService[]; /** * @public - *

            A unique, case-sensitive token that you provide to ensure idempotency of your - * modification request. For more information, see Ensuring Idempotency.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - ClientToken?: string; + DryRun?: boolean; } /** * @public */ -export interface ModifyVerifiedAccessInstanceResult { +export interface ModifyTrafficMirrorFilterNetworkServicesResult { /** * @public - *

            Details about the Verified Access instance.

            + *

            The Traffic Mirror filter that the network service is associated with.

            */ - VerifiedAccessInstance?: VerifiedAccessInstance; + TrafficMirrorFilter?: TrafficMirrorFilter; } /** * @public - *

            Options for CloudWatch Logs as a logging destination.

            + * @enum */ -export interface VerifiedAccessLogCloudWatchLogsDestinationOptions { - /** - * @public - *

            Indicates whether logging is enabled.

            - */ - Enabled: boolean | undefined; +export const TrafficMirrorFilterRuleField = { + description: "description", + destination_port_range: "destination-port-range", + protocol: "protocol", + source_port_range: "source-port-range", +} as const; - /** - * @public - *

            The ID of the CloudWatch Logs log group.

            - */ - LogGroup?: string; -} +/** + * @public + */ +export type TrafficMirrorFilterRuleField = + (typeof TrafficMirrorFilterRuleField)[keyof typeof TrafficMirrorFilterRuleField]; /** * @public - *

            Describes Amazon Kinesis Data Firehose logging options.

            */ -export interface VerifiedAccessLogKinesisDataFirehoseDestinationOptions { +export interface ModifyTrafficMirrorFilterRuleRequest { /** * @public - *

            Indicates whether logging is enabled.

            + *

            The ID of the Traffic Mirror rule.

            */ - Enabled: boolean | undefined; + TrafficMirrorFilterRuleId: string | undefined; /** * @public - *

            The ID of the delivery stream.

            + *

            The type of traffic to assign to the rule.

            */ - DeliveryStream?: string; -} + TrafficDirection?: TrafficDirection; -/** - * @public - *

            Options for Amazon S3 as a logging destination.

            - */ -export interface VerifiedAccessLogS3DestinationOptions { /** * @public - *

            Indicates whether logging is enabled.

            + *

            The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given + * direction. The rules are processed in ascending order by rule number.

            */ - Enabled: boolean | undefined; + RuleNumber?: number; /** * @public - *

            The bucket name.

            + *

            The action to assign to the rule.

            */ - BucketName?: string; + RuleAction?: TrafficMirrorRuleAction; /** * @public - *

            The bucket prefix.

            + *

            The destination ports that are associated with the Traffic Mirror rule.

            */ - Prefix?: string; + DestinationPortRange?: TrafficMirrorPortRangeRequest; /** * @public - *

            The ID of the Amazon Web Services account that owns the Amazon S3 bucket.

            + *

            The port range to assign to the Traffic Mirror rule.

            */ - BucketOwner?: string; -} + SourcePortRange?: TrafficMirrorPortRangeRequest; -/** - * @public - *

            Options for Verified Access logs.

            - */ -export interface VerifiedAccessLogOptions { /** * @public - *

            Sends Verified Access logs to Amazon S3.

            + *

            The protocol, for example TCP, to assign to the Traffic Mirror rule.

            */ - S3?: VerifiedAccessLogS3DestinationOptions; + Protocol?: number; /** * @public - *

            Sends Verified Access logs to CloudWatch Logs.

            + *

            The destination CIDR block to assign to the Traffic Mirror rule.

            */ - CloudWatchLogs?: VerifiedAccessLogCloudWatchLogsDestinationOptions; + DestinationCidrBlock?: string; /** * @public - *

            Sends Verified Access logs to Kinesis.

            + *

            The source CIDR block to assign to the Traffic Mirror rule.

            */ - KinesisDataFirehose?: VerifiedAccessLogKinesisDataFirehoseDestinationOptions; + SourceCidrBlock?: string; /** * @public - *

            The logging version.

            - *

            Valid values: ocsf-0.1 | ocsf-1.0.0-rc.2 - *

            + *

            The description to assign to the Traffic Mirror rule.

            */ - LogVersion?: string; + Description?: string; /** * @public - *

            Indicates whether to include trust data sent by trust providers in the logs.

            + *

            The properties that you want to remove from the Traffic Mirror filter rule.

            + *

            When you remove a property from a Traffic Mirror filter rule, the property is set to the default.

            */ - IncludeTrustContext?: boolean; + RemoveFields?: TrafficMirrorFilterRuleField[]; + + /** + * @public + *

            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.

            + */ + DryRun?: boolean; } /** * @public */ -export interface ModifyVerifiedAccessInstanceLoggingConfigurationRequest { +export interface ModifyTrafficMirrorFilterRuleResult { /** * @public - *

            The ID of the Verified Access instance.

            - */ - VerifiedAccessInstanceId: string | undefined; - - /** - * @public - *

            The configuration options for Verified Access instances.

            + *

            Modifies a Traffic Mirror rule.

            */ - AccessLogs: VerifiedAccessLogOptions | undefined; + TrafficMirrorFilterRule?: TrafficMirrorFilterRule; +} - /** - * @public - *

            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.

            - */ - DryRun?: boolean; +/** + * @public + * @enum + */ +export const TrafficMirrorSessionField = { + description: "description", + packet_length: "packet-length", + virtual_network_id: "virtual-network-id", +} as const; - /** - * @public - *

            A unique, case-sensitive token that you provide to ensure idempotency of your - * modification request. For more information, see Ensuring Idempotency.

            - */ - ClientToken?: string; -} +/** + * @public + */ +export type TrafficMirrorSessionField = (typeof TrafficMirrorSessionField)[keyof typeof TrafficMirrorSessionField]; /** * @public */ -export interface ModifyVerifiedAccessInstanceLoggingConfigurationResult { +export interface ModifyTrafficMirrorSessionRequest { /** * @public - *

            The logging configuration for the Verified Access instance.

            + *

            The ID of the Traffic Mirror session.

            */ - LoggingConfiguration?: VerifiedAccessInstanceLoggingConfiguration; -} + TrafficMirrorSessionId: string | undefined; -/** - * @public - *

            Modifies the configuration of the specified device-based Amazon Web Services Verified Access trust provider.

            - */ -export interface ModifyVerifiedAccessTrustProviderDeviceOptions { /** * @public - *

            The URL Amazon Web Services Verified Access will use to verify the authenticity of the device tokens.

            + *

            The Traffic Mirror target. The target must be in the same VPC as the source, or have a VPC peering connection with the source.

            */ - PublicSigningKeyUrl?: string; -} + TrafficMirrorTargetId?: string; -/** - * @public - *

            Options for an OpenID Connect-compatible user-identity trust provider.

            - */ -export interface ModifyVerifiedAccessTrustProviderOidcOptions { /** * @public - *

            The OIDC issuer.

            + *

            The ID of the Traffic Mirror filter.

            */ - Issuer?: string; + TrafficMirrorFilterId?: string; /** * @public - *

            The OIDC authorization endpoint.

            + *

            The number of bytes in each packet to mirror. These are bytes after the VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target. Do not specify this parameter when you want to mirror the entire packet.

            + *

            For sessions with Network Load Balancer (NLB) traffic mirror targets, the default PacketLength will be set to 8500. Valid values are 1-8500. Setting a PacketLength greater than 8500 will result in an error response.

            */ - AuthorizationEndpoint?: string; + PacketLength?: number; /** * @public - *

            The OIDC token endpoint.

            + *

            The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

            + *

            Valid values are 1-32766.

            */ - TokenEndpoint?: string; + SessionNumber?: number; /** * @public - *

            The OIDC user info endpoint.

            + *

            The virtual network ID of the Traffic Mirror session.

            */ - UserInfoEndpoint?: string; + VirtualNetworkId?: number; /** * @public - *

            The client identifier.

            + *

            The description to assign to the Traffic Mirror session.

            */ - ClientId?: string; + Description?: string; /** * @public - *

            The client secret.

            + *

            The properties that you want to remove from the Traffic Mirror session.

            + *

            When you remove a property from a Traffic Mirror session, the property is set to the default.

            */ - ClientSecret?: string; + RemoveFields?: TrafficMirrorSessionField[]; /** * @public - *

            OpenID Connect (OIDC) scopes are used by an application during authentication to authorize access to a user's details. Each scope returns a specific set of user attributes.

            + *

            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.

            */ - Scope?: string; + DryRun?: boolean; } /** * @public */ -export interface ModifyVerifiedAccessTrustProviderRequest { +export interface ModifyTrafficMirrorSessionResult { /** * @public - *

            The ID of the Verified Access trust provider.

            + *

            Information about the Traffic Mirror session.

            */ - VerifiedAccessTrustProviderId: string | undefined; + TrafficMirrorSession?: TrafficMirrorSession; +} +/** + * @public + *

            The transit gateway options.

            + */ +export interface ModifyTransitGatewayOptions { /** * @public - *

            The options for an OpenID Connect-compatible user-identity trust provider.

            + *

            Adds IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6.

            */ - OidcOptions?: ModifyVerifiedAccessTrustProviderOidcOptions; + AddTransitGatewayCidrBlocks?: string[]; /** * @public - *

            The options for a device-based trust provider. This parameter is required when the - * provider type is device.

            + *

            Removes CIDR blocks for the transit gateway.

            */ - DeviceOptions?: ModifyVerifiedAccessTrustProviderDeviceOptions; + RemoveTransitGatewayCidrBlocks?: string[]; /** * @public - *

            A description for the Verified Access trust provider.

            + *

            Enable or disable Equal Cost Multipath Protocol support.

            */ - Description?: string; + VpnEcmpSupport?: VpnEcmpSupportValue; /** * @public - *

            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.

            + *

            Enable or disable DNS support.

            */ - DryRun?: boolean; + DnsSupport?: DnsSupportValue; /** * @public - *

            A unique, case-sensitive token that you provide to ensure idempotency of your - * modification request. For more information, see Ensuring Idempotency.

            + *

            Enable or disable automatic acceptance of attachment requests.

            */ - ClientToken?: string; + AutoAcceptSharedAttachments?: AutoAcceptSharedAttachmentsValue; /** * @public - *

            The options for server side encryption.

            + *

            Enable or disable automatic association with the default association route table.

            */ - SseSpecification?: VerifiedAccessSseSpecificationRequest; -} + DefaultRouteTableAssociation?: DefaultRouteTableAssociationValue; -/** - * @public - */ -export interface ModifyVerifiedAccessTrustProviderResult { /** * @public - *

            Details about the Verified Access trust provider.

            + *

            The ID of the default association route table.

            */ - VerifiedAccessTrustProvider?: VerifiedAccessTrustProvider; -} + AssociationDefaultRouteTableId?: string; -/** - * @public - */ -export interface ModifyVolumeRequest { /** * @public - *

            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.

            + *

            Enable or disable automatic propagation of routes to the default propagation route table.

            */ - DryRun?: boolean; + DefaultRouteTablePropagation?: DefaultRouteTablePropagationValue; /** * @public - *

            The ID of the volume.

            + *

            The ID of the default propagation route table.

            */ - VolumeId: string | undefined; + PropagationDefaultRouteTableId?: string; /** * @public - *

            The target size of the volume, in GiB. The target volume size must be greater than or - * equal to the existing size of the volume.

            - *

            The following are the supported volumes sizes for each volume type:

            - *
              - *
            • - *

              - * gp2 and gp3: 1-16,384

              - *
            • - *
            • - *

              - * io1 and io2: 4-16,384

              - *
            • - *
            • - *

              - * st1 and sc1: 125-16,384

              - *
            • - *
            • - *

              - * standard: 1-1,024

              - *
            • - *
            - *

            Default: The existing size is retained.

            + *

            A private Autonomous System Number (ASN) for the Amazon side of a BGP session. + * The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs.

            + *

            The modify ASN operation is not allowed on a transit gateway with active BGP sessions. You must first delete all transit gateway attachments that have BGP configured prior to modifying the ASN on the transit gateway.

            */ - Size?: number; + AmazonSideAsn?: number; +} +/** + * @public + */ +export interface ModifyTransitGatewayRequest { /** * @public - *

            The target EBS volume type of the volume. For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.

            - *

            Default: The existing type is retained.

            + *

            The ID of the transit gateway.

            */ - VolumeType?: VolumeType; + TransitGatewayId: string | undefined; /** * @public - *

            The target IOPS rate of the volume. This parameter is valid only for gp3, io1, and io2 volumes.

            - *

            The following are the supported values for each volume type:

            - *
              - *
            • - *

              - * gp3: 3,000-16,000 IOPS

              - *
            • - *
            • - *

              - * io1: 100-64,000 IOPS

              - *
            • - *
            • - *

              - * io2: 100-64,000 IOPS

              - *
            • - *
            - *

            Default: The existing value is retained if you keep the same volume type. If you change - * the volume type to io1, io2, or gp3, the default is 3,000.

            + *

            The description for the transit gateway.

            */ - Iops?: number; + Description?: string; /** * @public - *

            The target throughput of the volume, in MiB/s. This parameter is valid only for gp3 volumes. - * The maximum value is 1,000.

            - *

            Default: The existing value is retained if the source and target volume type is gp3. - * Otherwise, the default value is 125.

            - *

            Valid Range: Minimum value of 125. Maximum value of 1000.

            + *

            The options to modify.

            */ - Throughput?: number; + Options?: ModifyTransitGatewayOptions; /** * @public - *

            Specifies whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the - * volume to up to 16 - * Nitro-based instances in the same Availability Zone. This parameter is - * supported with io1 and io2 volumes only. For more information, see - * - * Amazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide.

            + *

            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.

            */ - MultiAttachEnabled?: boolean; + DryRun?: boolean; } /** * @public */ -export interface ModifyVolumeResult { +export interface ModifyTransitGatewayResult { /** * @public - *

            Information about the volume modification.

            + *

            Information about the transit gateway.

            */ - VolumeModification?: VolumeModification; + TransitGateway?: TransitGateway; } /** * @public */ -export interface ModifyVolumeAttributeRequest { +export interface ModifyTransitGatewayPrefixListReferenceRequest { /** * @public - *

            Indicates whether the volume should be auto-enabled for I/O operations.

            + *

            The ID of the transit gateway route table.

            */ - AutoEnableIO?: AttributeBooleanValue; + TransitGatewayRouteTableId: string | undefined; /** * @public - *

            The ID of the volume.

            + *

            The ID of the prefix list.

            */ - VolumeId: string | undefined; + PrefixListId: string | undefined; /** * @public - *

            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.

            + *

            The ID of the attachment to which traffic is routed.

            */ - DryRun?: boolean; -} - -/** - * @public - */ -export interface ModifyVpcAttributeRequest { - /** - * @public - *

            Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not.

            - *

            You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute. You can only enable DNS hostnames if you've enabled DNS support.

            - */ - EnableDnsHostnames?: AttributeBooleanValue; + TransitGatewayAttachmentId?: string; /** * @public - *

            Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to - * the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP - * address at the base of the VPC network range "plus two" succeed. If disabled, the Amazon - * provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is - * not enabled.

            - *

            You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute.

            + *

            Indicates whether to drop traffic that matches this route.

            */ - EnableDnsSupport?: AttributeBooleanValue; + Blackhole?: boolean; /** * @public - *

            The ID of the VPC.

            + *

            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.

            */ - VpcId: string | undefined; + DryRun?: boolean; +} +/** + * @public + */ +export interface ModifyTransitGatewayPrefixListReferenceResult { /** * @public - *

            Indicates whether Network Address Usage metrics are enabled for your VPC.

            + *

            Information about the prefix list reference.

            */ - EnableNetworkAddressUsageMetrics?: AttributeBooleanValue; + TransitGatewayPrefixListReference?: TransitGatewayPrefixListReference; } /** * @public + *

            Describes the options for a VPC attachment.

            */ -export interface ModifyVpcEndpointRequest { +export interface ModifyTransitGatewayVpcAttachmentRequestOptions { /** * @public - *

            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.

            + *

            Enable or disable DNS support. The default is enable.

            */ - DryRun?: boolean; + DnsSupport?: DnsSupportValue; /** * @public - *

            The ID of the endpoint.

            + *

            Enable or disable IPv6 support. The default is enable.

            */ - VpcEndpointId: string | undefined; + Ipv6Support?: Ipv6SupportValue; /** * @public - *

            (Gateway endpoint) Specify true to reset the policy document to the - * default policy. The default policy allows full access to the service.

            + *

            Enable or disable support for appliance mode. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. The default is disable.

            */ - ResetPolicy?: boolean; + ApplianceModeSupport?: ApplianceModeSupportValue; +} +/** + * @public + */ +export interface ModifyTransitGatewayVpcAttachmentRequest { /** * @public - *

            (Interface and gateway endpoints) A policy to attach to the endpoint that controls access to the service. The policy must - * be in valid JSON format.

            + *

            The ID of the attachment.

            */ - PolicyDocument?: string; + TransitGatewayAttachmentId: string | undefined; /** * @public - *

            (Gateway endpoint) The IDs of the route tables to associate with the endpoint.

            + *

            The IDs of one or more subnets to add. You can specify at most one subnet per Availability Zone.

            */ - AddRouteTableIds?: string[]; + AddSubnetIds?: string[]; /** * @public - *

            (Gateway endpoint) The IDs of the route tables to disassociate from the endpoint.

            + *

            The IDs of one or more subnets to remove.

            */ - RemoveRouteTableIds?: string[]; + RemoveSubnetIds?: string[]; /** * @public - *

            (Interface and Gateway Load Balancer endpoints) The IDs of the subnets in which to serve the endpoint. - * For a Gateway Load Balancer endpoint, you can specify only one subnet.

            + *

            The new VPC attachment options.

            */ - AddSubnetIds?: string[]; + Options?: ModifyTransitGatewayVpcAttachmentRequestOptions; /** * @public - *

            (Interface endpoint) The IDs of the subnets from which to remove the endpoint.

            + *

            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.

            */ - RemoveSubnetIds?: string[]; + DryRun?: boolean; +} +/** + * @public + */ +export interface ModifyTransitGatewayVpcAttachmentResult { /** * @public - *

            (Interface endpoint) The IDs of the security groups to associate with the endpoint network interfaces.

            + *

            Information about the modified attachment.

            */ - AddSecurityGroupIds?: string[]; + TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment; +} +/** + * @public + *

            Describes a load balancer when creating an Amazon Web Services Verified Access endpoint using the + * load-balancer type.

            + */ +export interface ModifyVerifiedAccessEndpointLoadBalancerOptions { /** * @public - *

            (Interface endpoint) The IDs of the security groups to disassociate from the endpoint network interfaces.

            + *

            The IDs of the subnets.

            */ - RemoveSecurityGroupIds?: string[]; + SubnetIds?: string[]; /** * @public - *

            The IP address type for the endpoint.

            + *

            The IP protocol.

            */ - IpAddressType?: IpAddressType; + Protocol?: VerifiedAccessEndpointProtocol; /** * @public - *

            The DNS options for the endpoint.

            + *

            The IP port number.

            */ - DnsOptions?: DnsOptionsSpecification; + Port?: number; +} +/** + * @public + *

            Describes the options when modifying a Verified Access endpoint with the + * network-interface type.

            + */ +export interface ModifyVerifiedAccessEndpointEniOptions { /** * @public - *

            (Interface endpoint) Indicates whether a private hosted zone is associated with the VPC.

            + *

            The IP protocol.

            */ - PrivateDnsEnabled?: boolean; + Protocol?: VerifiedAccessEndpointProtocol; /** * @public - *

            The subnet configurations for the endpoint.

            + *

            The IP port number.

            */ - SubnetConfigurations?: SubnetConfiguration[]; + Port?: number; } /** * @public */ -export interface ModifyVpcEndpointResult { +export interface ModifyVerifiedAccessEndpointRequest { /** * @public - *

            Returns true if the request succeeds; otherwise, it returns an error.

            + *

            The ID of the Verified Access endpoint.

            */ - Return?: boolean; -} + VerifiedAccessEndpointId: string | undefined; -/** - * @public - */ -export interface ModifyVpcEndpointConnectionNotificationRequest { /** * @public - *

            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.

            + *

            The ID of the Verified Access group.

            */ - DryRun?: boolean; + VerifiedAccessGroupId?: string; /** * @public - *

            The ID of the notification.

            + *

            The load balancer details if creating the Verified Access endpoint as + * load-balancertype.

            */ - ConnectionNotificationId: string | undefined; + LoadBalancerOptions?: ModifyVerifiedAccessEndpointLoadBalancerOptions; /** * @public - *

            The ARN for the SNS topic for the notification.

            + *

            The network interface options.

            */ - ConnectionNotificationArn?: string; + NetworkInterfaceOptions?: ModifyVerifiedAccessEndpointEniOptions; /** * @public - *

            The events for the endpoint. Valid values are Accept, - * Connect, Delete, and Reject.

            + *

            A description for the Verified Access endpoint.

            */ - ConnectionEvents?: string[]; -} + Description?: string; -/** - * @public - */ -export interface ModifyVpcEndpointConnectionNotificationResult { /** * @public - *

            Returns true if the request succeeds; otherwise, it returns an error.

            + *

            A unique, case-sensitive token that you provide to ensure idempotency of your + * modification request. For more information, see Ensuring Idempotency.

            */ - ReturnValue?: boolean; -} + ClientToken?: string; -/** - * @public - */ -export interface ModifyVpcEndpointServiceConfigurationRequest { /** * @public *

            Checks whether you have the required permissions for the action, without actually making the request, @@ -6803,764 +6806,791 @@ export interface ModifyVpcEndpointServiceConfigurationRequest { * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; +} +/** + * @public + */ +export interface ModifyVerifiedAccessEndpointResult { /** * @public - *

            The ID of the service.

            + *

            Details about the Verified Access endpoint.

            */ - ServiceId: string | undefined; + VerifiedAccessEndpoint?: VerifiedAccessEndpoint; +} +/** + * @public + */ +export interface ModifyVerifiedAccessEndpointPolicyRequest { /** * @public - *

            (Interface endpoint configuration) The private DNS name to assign to the endpoint service.

            + *

            The ID of the Verified Access endpoint.

            */ - PrivateDnsName?: string; + VerifiedAccessEndpointId: string | undefined; /** * @public - *

            (Interface endpoint configuration) Removes the private DNS name of the endpoint service.

            + *

            The status of the Verified Access policy.

            */ - RemovePrivateDnsName?: boolean; + PolicyEnabled?: boolean; /** * @public - *

            Indicates whether requests to create an endpoint to your service must be accepted.

            + *

            The Verified Access policy document.

            */ - AcceptanceRequired?: boolean; + PolicyDocument?: string; /** * @public - *

            The Amazon Resource Names (ARNs) of Network Load Balancers to add to your service - * configuration.

            + *

            A unique, case-sensitive token that you provide to ensure idempotency of your + * modification request. For more information, see Ensuring Idempotency.

            */ - AddNetworkLoadBalancerArns?: string[]; + ClientToken?: string; /** * @public - *

            The Amazon Resource Names (ARNs) of Network Load Balancers to remove from your service - * configuration.

            + *

            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.

            */ - RemoveNetworkLoadBalancerArns?: string[]; + DryRun?: boolean; /** * @public - *

            The Amazon Resource Names (ARNs) of Gateway Load Balancers to add to your service - * configuration.

            + *

            The options for server side encryption.

            */ - AddGatewayLoadBalancerArns?: string[]; + SseSpecification?: VerifiedAccessSseSpecificationRequest; +} +/** + * @public + */ +export interface ModifyVerifiedAccessEndpointPolicyResult { /** * @public - *

            The Amazon Resource Names (ARNs) of Gateway Load Balancers to remove from your service - * configuration.

            + *

            The status of the Verified Access policy.

            */ - RemoveGatewayLoadBalancerArns?: string[]; + PolicyEnabled?: boolean; /** * @public - *

            The IP address types to add to your service configuration.

            + *

            The Verified Access policy document.

            */ - AddSupportedIpAddressTypes?: string[]; + PolicyDocument?: string; /** * @public - *

            The IP address types to remove from your service configuration.

            + *

            The options in use for server side encryption.

            */ - RemoveSupportedIpAddressTypes?: string[]; + SseSpecification?: VerifiedAccessSseSpecificationResponse; } /** * @public */ -export interface ModifyVpcEndpointServiceConfigurationResult { +export interface ModifyVerifiedAccessGroupRequest { /** * @public - *

            Returns true if the request succeeds; otherwise, it returns an error.

            + *

            The ID of the Verified Access group.

            */ - Return?: boolean; -} + VerifiedAccessGroupId: string | undefined; -/** - * @public - */ -export interface ModifyVpcEndpointServicePayerResponsibilityRequest { /** * @public - *

            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.

            + *

            The ID of the Verified Access instance.

            */ - DryRun?: boolean; + VerifiedAccessInstanceId?: string; /** * @public - *

            The ID of the service.

            + *

            A description for the Verified Access group.

            */ - ServiceId: string | undefined; + Description?: string; /** * @public - *

            The entity that is responsible for the endpoint costs. The default is the endpoint owner. - * If you set the payer responsibility to the service owner, you cannot set it back to the - * endpoint owner.

            + *

            A unique, case-sensitive token that you provide to ensure idempotency of your + * modification request. For more information, see Ensuring Idempotency.

            */ - PayerResponsibility: PayerResponsibility | undefined; + ClientToken?: string; + + /** + * @public + *

            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.

            + */ + DryRun?: boolean; } /** * @public */ -export interface ModifyVpcEndpointServicePayerResponsibilityResult { +export interface ModifyVerifiedAccessGroupResult { /** * @public - *

            Returns true if the request succeeds; otherwise, it returns an error.

            + *

            Details about the Verified Access group.

            */ - ReturnValue?: boolean; + VerifiedAccessGroup?: VerifiedAccessGroup; } /** * @public */ -export interface ModifyVpcEndpointServicePermissionsRequest { +export interface ModifyVerifiedAccessGroupPolicyRequest { /** * @public - *

            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.

            + *

            The ID of the Verified Access group.

            */ - DryRun?: boolean; + VerifiedAccessGroupId: string | undefined; /** * @public - *

            The ID of the service.

            + *

            The status of the Verified Access policy.

            */ - ServiceId: string | undefined; + PolicyEnabled?: boolean; /** * @public - *

            The Amazon Resource Names (ARN) of the principals. - * Permissions are granted to the principals in this list. - * To grant permissions to all principals, specify an asterisk (*).

            + *

            The Verified Access policy document.

            */ - AddAllowedPrincipals?: string[]; + PolicyDocument?: string; /** * @public - *

            The Amazon Resource Names (ARN) of the principals. - * Permissions are revoked for principals in this list.

            + *

            A unique, case-sensitive token that you provide to ensure idempotency of your + * modification request. For more information, see Ensuring Idempotency.

            */ - RemoveAllowedPrincipals?: string[]; -} + ClientToken?: string; -/** - * @public - */ -export interface ModifyVpcEndpointServicePermissionsResult { /** * @public - *

            Information about the added principals.

            + *

            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.

            */ - AddedPrincipals?: AddedPrincipal[]; + DryRun?: boolean; /** * @public - *

            Returns true if the request succeeds; otherwise, it returns an error.

            + *

            The options for server side encryption.

            */ - ReturnValue?: boolean; + SseSpecification?: VerifiedAccessSseSpecificationRequest; } /** * @public - *

            The VPC peering connection options.

            */ -export interface PeeringConnectionOptionsRequest { +export interface ModifyVerifiedAccessGroupPolicyResult { /** * @public - *

            If true, enables a local VPC to resolve public DNS hostnames to private IP addresses - * when queried from instances in the peer VPC.

            + *

            The status of the Verified Access policy.

            */ - AllowDnsResolutionFromRemoteVpc?: boolean; + PolicyEnabled?: boolean; /** * @public - *

            Deprecated.

            + *

            The Verified Access policy document.

            */ - AllowEgressFromLocalClassicLinkToRemoteVpc?: boolean; + PolicyDocument?: string; /** * @public - *

            Deprecated.

            + *

            The options in use for server side encryption.

            */ - AllowEgressFromLocalVpcToRemoteClassicLink?: boolean; + SseSpecification?: VerifiedAccessSseSpecificationResponse; } /** * @public */ -export interface ModifyVpcPeeringConnectionOptionsRequest { +export interface ModifyVerifiedAccessInstanceRequest { /** * @public - *

            The VPC peering connection options for the accepter VPC.

            + *

            The ID of the Verified Access instance.

            */ - AccepterPeeringConnectionOptions?: PeeringConnectionOptionsRequest; + VerifiedAccessInstanceId: string | undefined; /** * @public - *

            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.

            + *

            A description for the Verified Access instance.

            */ - DryRun?: boolean; + Description?: string; /** * @public - *

            The VPC peering connection options for the requester VPC.

            + *

            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.

            */ - RequesterPeeringConnectionOptions?: PeeringConnectionOptionsRequest; + DryRun?: boolean; /** * @public - *

            The ID of the VPC peering connection.

            + *

            A unique, case-sensitive token that you provide to ensure idempotency of your + * modification request. For more information, see Ensuring Idempotency.

            */ - VpcPeeringConnectionId: string | undefined; + ClientToken?: string; } /** * @public - *

            Describes the VPC peering connection options.

            */ -export interface PeeringConnectionOptions { +export interface ModifyVerifiedAccessInstanceResult { /** * @public - *

            If true, the public DNS hostnames of instances in the specified VPC resolve to private - * IP addresses when queried from instances in the peer VPC.

            + *

            Details about the Verified Access instance.

            */ - AllowDnsResolutionFromRemoteVpc?: boolean; + VerifiedAccessInstance?: VerifiedAccessInstance; +} +/** + * @public + *

            Options for CloudWatch Logs as a logging destination.

            + */ +export interface VerifiedAccessLogCloudWatchLogsDestinationOptions { /** * @public - *

            Deprecated.

            + *

            Indicates whether logging is enabled.

            */ - AllowEgressFromLocalClassicLinkToRemoteVpc?: boolean; + Enabled: boolean | undefined; /** * @public - *

            Deprecated.

            + *

            The ID of the CloudWatch Logs log group.

            */ - AllowEgressFromLocalVpcToRemoteClassicLink?: boolean; + LogGroup?: string; } /** * @public + *

            Describes Amazon Kinesis Data Firehose logging options.

            */ -export interface ModifyVpcPeeringConnectionOptionsResult { +export interface VerifiedAccessLogKinesisDataFirehoseDestinationOptions { /** * @public - *

            Information about the VPC peering connection options for the accepter VPC.

            + *

            Indicates whether logging is enabled.

            */ - AccepterPeeringConnectionOptions?: PeeringConnectionOptions; + Enabled: boolean | undefined; /** * @public - *

            Information about the VPC peering connection options for the requester VPC.

            + *

            The ID of the delivery stream.

            */ - RequesterPeeringConnectionOptions?: PeeringConnectionOptions; + DeliveryStream?: string; } /** * @public - * @enum - */ -export const VpcTenancy = { - default: "default", -} as const; - -/** - * @public - */ -export type VpcTenancy = (typeof VpcTenancy)[keyof typeof VpcTenancy]; - -/** - * @public + *

            Options for Amazon S3 as a logging destination.

            */ -export interface ModifyVpcTenancyRequest { +export interface VerifiedAccessLogS3DestinationOptions { /** * @public - *

            The ID of the VPC.

            + *

            Indicates whether logging is enabled.

            */ - VpcId: string | undefined; + Enabled: boolean | undefined; /** * @public - *

            The instance tenancy attribute for the VPC.

            + *

            The bucket name.

            */ - InstanceTenancy: VpcTenancy | undefined; + BucketName?: string; /** * @public - *

            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.

            + *

            The bucket prefix.

            */ - DryRun?: boolean; -} + Prefix?: string; -/** - * @public - */ -export interface ModifyVpcTenancyResult { /** * @public - *

            Returns true if the request succeeds; otherwise, returns an - * error.

            + *

            The ID of the Amazon Web Services account that owns the Amazon S3 bucket.

            */ - ReturnValue?: boolean; + BucketOwner?: string; } /** * @public + *

            Options for Verified Access logs.

            */ -export interface ModifyVpnConnectionRequest { - /** - * @public - *

            The ID of the VPN connection.

            - */ - VpnConnectionId: string | undefined; - +export interface VerifiedAccessLogOptions { /** * @public - *

            The ID of the transit gateway.

            + *

            Sends Verified Access logs to Amazon S3.

            */ - TransitGatewayId?: string; + S3?: VerifiedAccessLogS3DestinationOptions; /** * @public - *

            The ID of the customer gateway at your end of the VPN connection.

            + *

            Sends Verified Access logs to CloudWatch Logs.

            */ - CustomerGatewayId?: string; + CloudWatchLogs?: VerifiedAccessLogCloudWatchLogsDestinationOptions; /** * @public - *

            The ID of the virtual private gateway at the Amazon Web Services side of the VPN - * connection.

            + *

            Sends Verified Access logs to Kinesis.

            */ - VpnGatewayId?: string; + KinesisDataFirehose?: VerifiedAccessLogKinesisDataFirehoseDestinationOptions; /** * @public - *

            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.

            + *

            The logging version.

            + *

            Valid values: ocsf-0.1 | ocsf-1.0.0-rc.2 + *

            */ - DryRun?: boolean; -} + LogVersion?: string; -/** - * @public - */ -export interface ModifyVpnConnectionResult { /** * @public - *

            Information about the VPN connection.

            + *

            Indicates whether to include trust data sent by trust providers in the logs.

            */ - VpnConnection?: VpnConnection; + IncludeTrustContext?: boolean; } /** * @public */ -export interface ModifyVpnConnectionOptionsRequest { - /** - * @public - *

            The ID of the Site-to-Site VPN connection.

            - */ - VpnConnectionId: string | undefined; - +export interface ModifyVerifiedAccessInstanceLoggingConfigurationRequest { /** * @public - *

            The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

            - *

            Default: 0.0.0.0/0 - *

            + *

            The ID of the Verified Access instance.

            */ - LocalIpv4NetworkCidr?: string; + VerifiedAccessInstanceId: string | undefined; /** * @public - *

            The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

            - *

            Default: 0.0.0.0/0 - *

            + *

            The configuration options for Verified Access instances.

            */ - RemoteIpv4NetworkCidr?: string; + AccessLogs: VerifiedAccessLogOptions | undefined; /** * @public - *

            The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

            - *

            Default: ::/0 - *

            + *

            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.

            */ - LocalIpv6NetworkCidr?: string; + DryRun?: boolean; /** * @public - *

            The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

            - *

            Default: ::/0 - *

            + *

            A unique, case-sensitive token that you provide to ensure idempotency of your + * modification request. For more information, see Ensuring Idempotency.

            */ - RemoteIpv6NetworkCidr?: string; + ClientToken?: string; +} +/** + * @public + */ +export interface ModifyVerifiedAccessInstanceLoggingConfigurationResult { /** * @public - *

            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.

            + *

            The logging configuration for the Verified Access instance.

            */ - DryRun?: boolean; + LoggingConfiguration?: VerifiedAccessInstanceLoggingConfiguration; } /** * @public + *

            Modifies the configuration of the specified device-based Amazon Web Services Verified Access trust provider.

            */ -export interface ModifyVpnConnectionOptionsResult { +export interface ModifyVerifiedAccessTrustProviderDeviceOptions { /** * @public - *

            Information about the VPN connection.

            + *

            The URL Amazon Web Services Verified Access will use to verify the authenticity of the device tokens.

            */ - VpnConnection?: VpnConnection; + PublicSigningKeyUrl?: string; } /** * @public + *

            Options for an OpenID Connect-compatible user-identity trust provider.

            */ -export interface ModifyVpnTunnelCertificateRequest { +export interface ModifyVerifiedAccessTrustProviderOidcOptions { /** * @public - *

            The ID of the Amazon Web Services Site-to-Site VPN connection.

            + *

            The OIDC issuer.

            */ - VpnConnectionId: string | undefined; + Issuer?: string; /** * @public - *

            The external IP address of the VPN tunnel.

            + *

            The OIDC authorization endpoint.

            */ - VpnTunnelOutsideIpAddress: string | undefined; + AuthorizationEndpoint?: string; /** * @public - *

            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.

            + *

            The OIDC token endpoint.

            + */ + TokenEndpoint?: string; + + /** + * @public + *

            The OIDC user info endpoint.

            + */ + UserInfoEndpoint?: string; + + /** + * @public + *

            The client identifier.

            + */ + ClientId?: string; + + /** + * @public + *

            The client secret.

            + */ + ClientSecret?: string; + + /** + * @public + *

            OpenID Connect (OIDC) scopes are used by an application during authentication to authorize access to a user's details. Each scope returns a specific set of user attributes.

            + */ + Scope?: string; +} + +/** + * @public + */ +export interface ModifyVerifiedAccessTrustProviderRequest { + /** + * @public + *

            The ID of the Verified Access trust provider.

            + */ + VerifiedAccessTrustProviderId: string | undefined; + + /** + * @public + *

            The options for an OpenID Connect-compatible user-identity trust provider.

            + */ + OidcOptions?: ModifyVerifiedAccessTrustProviderOidcOptions; + + /** + * @public + *

            The options for a device-based trust provider. This parameter is required when the + * provider type is device.

            + */ + DeviceOptions?: ModifyVerifiedAccessTrustProviderDeviceOptions; + + /** + * @public + *

            A description for the Verified Access trust provider.

            + */ + Description?: string; + + /** + * @public + *

            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.

            */ DryRun?: boolean; + + /** + * @public + *

            A unique, case-sensitive token that you provide to ensure idempotency of your + * modification request. For more information, see Ensuring Idempotency.

            + */ + ClientToken?: string; + + /** + * @public + *

            The options for server side encryption.

            + */ + SseSpecification?: VerifiedAccessSseSpecificationRequest; } /** * @public */ -export interface ModifyVpnTunnelCertificateResult { +export interface ModifyVerifiedAccessTrustProviderResult { /** * @public - *

            Information about the VPN connection.

            + *

            Details about the Verified Access trust provider.

            */ - VpnConnection?: VpnConnection; + VerifiedAccessTrustProvider?: VerifiedAccessTrustProvider; } /** * @public - *

            The Amazon Web Services Site-to-Site VPN tunnel options to modify.

            */ -export interface ModifyVpnTunnelOptionsSpecification { +export interface ModifyVolumeRequest { /** * @public - *

            The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be - * unique across all VPN connections that use the same virtual private gateway.

            - *

            Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The - * following CIDR blocks are reserved and cannot be used:

            + *

            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.

            + */ + DryRun?: boolean; + + /** + * @public + *

            The ID of the volume.

            + */ + VolumeId: string | undefined; + + /** + * @public + *

            The target size of the volume, in GiB. The target volume size must be greater than or + * equal to the existing size of the volume.

            + *

            The following are the supported volumes sizes for each volume type:

            *
              *
            • *

              - * 169.254.0.0/30 - *

              + * gp2 and gp3: 1-16,384

              *
            • *
            • *

              - * 169.254.1.0/30 - *

              + * io1 and io2: 4-16,384

              *
            • *
            • *

              - * 169.254.2.0/30 - *

              + * st1 and sc1: 125-16,384

              *
            • *
            • *

              - * 169.254.3.0/30 - *

              + * standard: 1-1,024

              *
            • + *
            + *

            Default: The existing size is retained.

            + */ + Size?: number; + + /** + * @public + *

            The target EBS volume type of the volume. For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.

            + *

            Default: The existing type is retained.

            + */ + VolumeType?: VolumeType; + + /** + * @public + *

            The target IOPS rate of the volume. This parameter is valid only for gp3, io1, and io2 volumes.

            + *

            The following are the supported values for each volume type:

            + *
              *
            • *

              - * 169.254.4.0/30 - *

              + * gp3: 3,000-16,000 IOPS

              *
            • *
            • *

              - * 169.254.5.0/30 - *

              + * io1: 100-64,000 IOPS

              *
            • *
            • *

              - * 169.254.169.252/30 - *

              + * io2: 100-64,000 IOPS

              *
            • *
            + *

            Default: The existing value is retained if you keep the same volume type. If you change + * the volume type to io1, io2, or gp3, the default is 3,000.

            */ - TunnelInsideCidr?: string; + Iops?: number; /** * @public - *

            The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be - * unique across all VPN connections that use the same transit gateway.

            - *

            Constraints: A size /126 CIDR block from the local fd00::/8 range.

            + *

            The target throughput of the volume, in MiB/s. This parameter is valid only for gp3 volumes. + * The maximum value is 1,000.

            + *

            Default: The existing value is retained if the source and target volume type is gp3. + * Otherwise, the default value is 125.

            + *

            Valid Range: Minimum value of 125. Maximum value of 1000.

            */ - TunnelInsideIpv6Cidr?: string; + Throughput?: number; /** * @public - *

            The pre-shared key (PSK) to establish initial authentication between the virtual - * private gateway and the customer gateway.

            - *

            Constraints: Allowed characters are alphanumeric characters, periods (.), and - * underscores (_). Must be between 8 and 64 characters in length and cannot start with - * zero (0).

            + *

            Specifies whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the + * volume to up to 16 + * Nitro-based instances in the same Availability Zone. This parameter is + * supported with io1 and io2 volumes only. For more information, see + * + * Amazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide.

            */ - PreSharedKey?: string; + MultiAttachEnabled?: boolean; +} +/** + * @public + */ +export interface ModifyVolumeResult { /** * @public - *

            The lifetime for phase 1 of the IKE negotiation, in seconds.

            - *

            Constraints: A value between 900 and 28,800.

            - *

            Default: 28800 - *

            + *

            Information about the volume modification.

            */ - Phase1LifetimeSeconds?: number; + VolumeModification?: VolumeModification; +} +/** + * @public + */ +export interface ModifyVolumeAttributeRequest { /** * @public - *

            The lifetime for phase 2 of the IKE negotiation, in seconds.

            - *

            Constraints: A value between 900 and 3,600. The value must be less than the value for - * Phase1LifetimeSeconds.

            - *

            Default: 3600 - *

            + *

            Indicates whether the volume should be auto-enabled for I/O operations.

            */ - Phase2LifetimeSeconds?: number; + AutoEnableIO?: AttributeBooleanValue; /** * @public - *

            The margin time, in seconds, before the phase 2 lifetime expires, during which the - * Amazon Web Services side of the VPN connection performs an IKE rekey. The exact time - * of the rekey is randomly selected based on the value for - * RekeyFuzzPercentage.

            - *

            Constraints: A value between 60 and half of Phase2LifetimeSeconds.

            - *

            Default: 540 - *

            + *

            The ID of the volume.

            */ - RekeyMarginTimeSeconds?: number; + VolumeId: string | undefined; /** * @public - *

            The percentage of the rekey window (determined by RekeyMarginTimeSeconds) - * during which the rekey time is randomly selected.

            - *

            Constraints: A value between 0 and 100.

            - *

            Default: 100 - *

            + *

            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.

            */ - RekeyFuzzPercentage?: number; + DryRun?: boolean; +} +/** + * @public + */ +export interface ModifyVpcAttributeRequest { /** * @public - *

            The number of packets in an IKE replay window.

            - *

            Constraints: A value between 64 and 2048.

            - *

            Default: 1024 - *

            + *

            Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not.

            + *

            You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute. You can only enable DNS hostnames if you've enabled DNS support.

            */ - ReplayWindowSize?: number; + EnableDnsHostnames?: AttributeBooleanValue; /** * @public - *

            The number of seconds after which a DPD timeout occurs. A DPD timeout of 40 seconds means that the VPN endpoint will consider the peer dead 30 seconds after the first failed keep-alive.

            - *

            Constraints: A value greater than or equal to 30.

            - *

            Default: 40 - *

            + *

            Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to + * the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP + * address at the base of the VPC network range "plus two" succeed. If disabled, the Amazon + * provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is + * not enabled.

            + *

            You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute.

            */ - DPDTimeoutSeconds?: number; + EnableDnsSupport?: AttributeBooleanValue; /** * @public - *

            The action to take after DPD timeout occurs. Specify restart to restart - * the IKE initiation. Specify clear to end the IKE session.

            - *

            Valid Values: clear | none | restart - *

            - *

            Default: clear - *

            + *

            The ID of the VPC.

            */ - DPDTimeoutAction?: string; + VpcId: string | undefined; /** * @public - *

            One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 - * IKE negotiations.

            - *

            Valid values: AES128 | AES256 | AES128-GCM-16 | - * AES256-GCM-16 - *

            + *

            Indicates whether Network Address Usage metrics are enabled for your VPC.

            */ - Phase1EncryptionAlgorithms?: Phase1EncryptionAlgorithmsRequestListValue[]; + EnableNetworkAddressUsageMetrics?: AttributeBooleanValue; +} +/** + * @public + */ +export interface ModifyVpcEndpointRequest { /** * @public - *

            One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 - * IKE negotiations.

            - *

            Valid values: AES128 | AES256 | AES128-GCM-16 | - * AES256-GCM-16 - *

            + *

            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.

            */ - Phase2EncryptionAlgorithms?: Phase2EncryptionAlgorithmsRequestListValue[]; + DryRun?: boolean; /** * @public - *

            One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE - * negotiations.

            - *

            Valid values: SHA1 | SHA2-256 | SHA2-384 | - * SHA2-512 - *

            + *

            The ID of the endpoint.

            */ - Phase1IntegrityAlgorithms?: Phase1IntegrityAlgorithmsRequestListValue[]; + VpcEndpointId: string | undefined; /** * @public - *

            One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE - * negotiations.

            - *

            Valid values: SHA1 | SHA2-256 | SHA2-384 | - * SHA2-512 - *

            + *

            (Gateway endpoint) Specify true to reset the policy document to the + * default policy. The default policy allows full access to the service.

            */ - Phase2IntegrityAlgorithms?: Phase2IntegrityAlgorithmsRequestListValue[]; + ResetPolicy?: boolean; /** * @public - *

            One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for - * phase 1 IKE negotiations.

            - *

            Valid values: 2 | 14 | 15 | 16 | - * 17 | 18 | 19 | 20 | - * 21 | 22 | 23 | 24 - *

            + *

            (Interface and gateway endpoints) A policy to attach to the endpoint that controls access to the service. The policy must + * be in valid JSON format.

            */ - Phase1DHGroupNumbers?: Phase1DHGroupNumbersRequestListValue[]; + PolicyDocument?: string; /** * @public - *

            One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for - * phase 2 IKE negotiations.

            - *

            Valid values: 2 | 5 | 14 | 15 | - * 16 | 17 | 18 | 19 | - * 20 | 21 | 22 | 23 | - * 24 - *

            + *

            (Gateway endpoint) The IDs of the route tables to associate with the endpoint.

            */ - Phase2DHGroupNumbers?: Phase2DHGroupNumbersRequestListValue[]; + AddRouteTableIds?: string[]; /** * @public - *

            The IKE versions that are permitted for the VPN tunnel.

            - *

            Valid values: ikev1 | ikev2 - *

            + *

            (Gateway endpoint) The IDs of the route tables to disassociate from the endpoint.

            */ - IKEVersions?: IKEVersionsRequestListValue[]; + RemoveRouteTableIds?: string[]; /** * @public - *

            The action to take when the establishing the tunnel for the VPN connection. By - * default, your customer gateway device must initiate the IKE negotiation and bring up the - * tunnel. Specify start for Amazon Web Services to initiate the IKE - * negotiation.

            - *

            Valid Values: add | start - *

            - *

            Default: add - *

            + *

            (Interface and Gateway Load Balancer endpoints) The IDs of the subnets in which to serve the endpoint. + * For a Gateway Load Balancer endpoint, you can specify only one subnet.

            */ - StartupAction?: string; + AddSubnetIds?: string[]; /** * @public - *

            Options for logging VPN tunnel activity.

            + *

            (Interface endpoint) The IDs of the subnets from which to remove the endpoint.

            */ - LogOptions?: VpnTunnelLogOptionsSpecification; + RemoveSubnetIds?: string[]; /** * @public - *

            Turn on or off tunnel endpoint lifecycle control feature.

            + *

            (Interface endpoint) The IDs of the security groups to associate with the endpoint network interfaces.

            */ - EnableTunnelLifecycleControl?: boolean; -} + AddSecurityGroupIds?: string[]; -/** - * @public - */ -export interface ModifyVpnTunnelOptionsRequest { /** * @public - *

            The ID of the Amazon Web Services Site-to-Site VPN connection.

            + *

            (Interface endpoint) The IDs of the security groups to disassociate from the endpoint network interfaces.

            */ - VpnConnectionId: string | undefined; + RemoveSecurityGroupIds?: string[]; /** * @public - *

            The external IP address of the VPN tunnel.

            + *

            The IP address type for the endpoint.

            */ - VpnTunnelOutsideIpAddress: string | undefined; + IpAddressType?: IpAddressType; /** * @public - *

            The tunnel options to modify.

            + *

            The DNS options for the endpoint.

            */ - TunnelOptions: ModifyVpnTunnelOptionsSpecification | undefined; + DnsOptions?: DnsOptionsSpecification; /** * @public - *

            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.

            + *

            (Interface endpoint) Indicates whether a private hosted zone is associated with the VPC.

            */ - DryRun?: boolean; + PrivateDnsEnabled?: boolean; /** * @public - *

            Choose whether or not to trigger immediate tunnel replacement. This is only applicable when turning on or off EnableTunnelLifecycleControl.

            - *

            Valid values: True | False - *

            + *

            The subnet configurations for the endpoint.

            */ - SkipTunnelReplacement?: boolean; + SubnetConfigurations?: SubnetConfiguration[]; } /** * @public */ -export interface ModifyVpnTunnelOptionsResult { +export interface ModifyVpcEndpointResult { /** * @public - *

            Information about the VPN connection.

            + *

            Returns true if the request succeeds; otherwise, it returns an error.

            */ - VpnConnection?: VpnConnection; + Return?: boolean; } /** * @public */ -export interface MonitorInstancesRequest { - /** - * @public - *

            The IDs of the instances.

            - */ - InstanceIds: string[] | undefined; - +export interface ModifyVpcEndpointConnectionNotificationRequest { /** * @public *

            Checks whether you have the required permissions for the action, without actually making the request, @@ -7568,41 +7598,42 @@ export interface MonitorInstancesRequest { * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; -} -/** - * @public - *

            Describes the monitoring of an instance.

            - */ -export interface InstanceMonitoring { /** * @public - *

            The ID of the instance.

            + *

            The ID of the notification.

            */ - InstanceId?: string; + ConnectionNotificationId: string | undefined; /** * @public - *

            The monitoring for the instance.

            + *

            The ARN for the SNS topic for the notification.

            */ - Monitoring?: Monitoring; + ConnectionNotificationArn?: string; + + /** + * @public + *

            The events for the endpoint. Valid values are Accept, + * Connect, Delete, and Reject.

            + */ + ConnectionEvents?: string[]; } /** * @public */ -export interface MonitorInstancesResult { +export interface ModifyVpcEndpointConnectionNotificationResult { /** * @public - *

            The monitoring information.

            + *

            Returns true if the request succeeds; otherwise, it returns an error.

            */ - InstanceMonitorings?: InstanceMonitoring[]; + ReturnValue?: boolean; } /** * @public */ -export interface MoveAddressToVpcRequest { +export interface ModifyVpcEndpointServiceConfigurationRequest { /** * @public *

            Checks whether you have the required permissions for the action, without actually making the request, @@ -7613,137 +7644,122 @@ export interface MoveAddressToVpcRequest { /** * @public - *

            The Elastic IP address.

            + *

            The ID of the service.

            */ - PublicIp: string | undefined; -} + ServiceId: string | undefined; -/** - * @public - * @enum - */ -export const Status = { - inClassic: "InClassic", - inVpc: "InVpc", - moveInProgress: "MoveInProgress", -} as const; + /** + * @public + *

            (Interface endpoint configuration) The private DNS name to assign to the endpoint service.

            + */ + PrivateDnsName?: string; -/** - * @public - */ -export type Status = (typeof Status)[keyof typeof Status]; + /** + * @public + *

            (Interface endpoint configuration) Removes the private DNS name of the endpoint service.

            + */ + RemovePrivateDnsName?: boolean; -/** - * @public - */ -export interface MoveAddressToVpcResult { /** * @public - *

            The allocation ID for the Elastic IP address.

            + *

            Indicates whether requests to create an endpoint to your service must be accepted.

            */ - AllocationId?: string; + AcceptanceRequired?: boolean; /** * @public - *

            The status of the move of the IP address.

            + *

            The Amazon Resource Names (ARNs) of Network Load Balancers to add to your service + * configuration.

            */ - Status?: Status; -} + AddNetworkLoadBalancerArns?: string[]; -/** - * @public - */ -export interface MoveByoipCidrToIpamRequest { /** * @public - *

            A check for 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.

            + *

            The Amazon Resource Names (ARNs) of Network Load Balancers to remove from your service + * configuration.

            */ - DryRun?: boolean; + RemoveNetworkLoadBalancerArns?: string[]; /** * @public - *

            The BYOIP CIDR.

            + *

            The Amazon Resource Names (ARNs) of Gateway Load Balancers to add to your service + * configuration.

            */ - Cidr: string | undefined; + AddGatewayLoadBalancerArns?: string[]; /** * @public - *

            The IPAM pool ID.

            + *

            The Amazon Resource Names (ARNs) of Gateway Load Balancers to remove from your service + * configuration.

            */ - IpamPoolId: string | undefined; + RemoveGatewayLoadBalancerArns?: string[]; /** * @public - *

            The Amazon Web Services account ID of the owner of the IPAM pool.

            + *

            The IP address types to add to your service configuration.

            */ - IpamPoolOwner: string | undefined; -} + AddSupportedIpAddressTypes?: string[]; -/** - * @public - */ -export interface MoveByoipCidrToIpamResult { /** * @public - *

            The BYOIP CIDR.

            + *

            The IP address types to remove from your service configuration.

            */ - ByoipCidr?: ByoipCidr; + RemoveSupportedIpAddressTypes?: string[]; } /** * @public - *

            Provides authorization for Amazon to bring a specific IP address range to a specific - * Amazon Web Services account using bring your own IP addresses (BYOIP). For more information, see Configuring your BYOIP address range in the Amazon Elastic Compute Cloud User Guide.

            */ -export interface CidrAuthorizationContext { - /** - * @public - *

            The plain-text authorization message for the prefix and account.

            - */ - Message: string | undefined; - +export interface ModifyVpcEndpointServiceConfigurationResult { /** * @public - *

            The signed authorization message for the prefix and account.

            + *

            Returns true if the request succeeds; otherwise, it returns an error.

            */ - Signature: string | undefined; + Return?: boolean; } /** * @public */ -export interface ProvisionByoipCidrRequest { +export interface ModifyVpcEndpointServicePayerResponsibilityRequest { /** * @public - *

            The public IPv4 or IPv6 address range, in CIDR notation. The most specific IPv4 prefix that you can - * specify is /24. The most specific IPv6 prefix you can specify is /56. The address range cannot overlap with another address range that you've - * brought to this or another Region.

            + *

            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.

            */ - Cidr: string | undefined; + DryRun?: boolean; /** * @public - *

            A signed document that proves that you are authorized to bring the specified IP address - * range to Amazon using BYOIP.

            + *

            The ID of the service.

            */ - CidrAuthorizationContext?: CidrAuthorizationContext; + ServiceId: string | undefined; /** * @public - *

            (IPv6 only) Indicate whether the address range will be publicly advertised to the - * internet.

            - *

            Default: true

            + *

            The entity that is responsible for the endpoint costs. The default is the endpoint owner. + * If you set the payer responsibility to the service owner, you cannot set it back to the + * endpoint owner.

            */ - PubliclyAdvertisable?: boolean; + PayerResponsibility: PayerResponsibility | undefined; +} +/** + * @public + */ +export interface ModifyVpcEndpointServicePayerResponsibilityResult { /** * @public - *

            A description for the address range and the address pool.

            + *

            Returns true if the request succeeds; otherwise, it returns an error.

            */ - Description?: string; + ReturnValue?: boolean; +} +/** + * @public + */ +export interface ModifyVpcEndpointServicePermissionsRequest { /** * @public *

            Checks whether you have the required permissions for the action, without actually making the request, @@ -7754,107 +7770,81 @@ export interface ProvisionByoipCidrRequest { /** * @public - *

            The tags to apply to the address pool.

            + *

            The ID of the service.

            */ - PoolTagSpecifications?: TagSpecification[]; + ServiceId: string | undefined; /** * @public - *

            Reserved.

            + *

            The Amazon Resource Names (ARN) of the principals. + * Permissions are granted to the principals in this list. + * To grant permissions to all principals, specify an asterisk (*).

            */ - MultiRegion?: boolean; -} + AddAllowedPrincipals?: string[]; -/** - * @public - */ -export interface ProvisionByoipCidrResult { /** * @public - *

            Information about the address range.

            + *

            The Amazon Resource Names (ARN) of the principals. + * Permissions are revoked for principals in this list.

            */ - ByoipCidr?: ByoipCidr; + RemoveAllowedPrincipals?: string[]; } /** * @public - *

            A signed document that proves that you are authorized to bring the specified IP address range to Amazon using BYOIP.

            */ -export interface IpamCidrAuthorizationContext { +export interface ModifyVpcEndpointServicePermissionsResult { /** * @public - *

            The plain-text authorization message for the prefix and account.

            + *

            Information about the added principals.

            */ - Message?: string; + AddedPrincipals?: AddedPrincipal[]; /** * @public - *

            The signed authorization message for the prefix and account.

            + *

            Returns true if the request succeeds; otherwise, it returns an error.

            */ - Signature?: string; + ReturnValue?: boolean; } /** * @public + *

            The VPC peering connection options.

            */ -export interface ProvisionIpamPoolCidrRequest { - /** - * @public - *

            A check for 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.

            - */ - DryRun?: boolean; - - /** - * @public - *

            The ID of the IPAM pool to which you want to assign a CIDR.

            - */ - IpamPoolId: string | undefined; - - /** - * @public - *

            The CIDR you want to assign to the IPAM pool. Either "NetmaskLength" or "Cidr" is required. This value will be null if you specify "NetmaskLength" and will be filled in during the provisioning process.

            - */ - Cidr?: string; - +export interface PeeringConnectionOptionsRequest { /** * @public - *

            A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option applies to public pools only.

            + *

            If true, enables a local VPC to resolve public DNS hostnames to private IP addresses + * when queried from instances in the peer VPC.

            */ - CidrAuthorizationContext?: IpamCidrAuthorizationContext; + AllowDnsResolutionFromRemoteVpc?: boolean; /** * @public - *

            The netmask length of the CIDR you'd like to provision to a pool. Can be used for provisioning Amazon-provided IPv6 CIDRs to top-level pools and for provisioning CIDRs to pools with source pools. Cannot be used to provision BYOIP CIDRs to top-level pools. Either "NetmaskLength" or "Cidr" is required.

            + *

            Deprecated.

            */ - NetmaskLength?: number; + AllowEgressFromLocalClassicLinkToRemoteVpc?: boolean; /** * @public - *

            A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

            + *

            Deprecated.

            */ - ClientToken?: string; + AllowEgressFromLocalVpcToRemoteClassicLink?: boolean; } /** * @public */ -export interface ProvisionIpamPoolCidrResult { +export interface ModifyVpcPeeringConnectionOptionsRequest { /** * @public - *

            Information about the provisioned CIDR.

            + *

            The VPC peering connection options for the accepter VPC.

            */ - IpamPoolCidr?: IpamPoolCidr; -} + AccepterPeeringConnectionOptions?: PeeringConnectionOptionsRequest; -/** - * @public - */ -export interface ProvisionPublicIpv4PoolCidrRequest { /** * @public - *

            A check for whether you have the required permissions for the action without actually making the request + *

            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.

            */ @@ -7862,498 +7852,595 @@ export interface ProvisionPublicIpv4PoolCidrRequest { /** * @public - *

            The ID of the IPAM pool you would like to use to allocate this CIDR.

            + *

            The VPC peering connection options for the requester VPC.

            */ - IpamPoolId: string | undefined; + RequesterPeeringConnectionOptions?: PeeringConnectionOptionsRequest; /** * @public - *

            The ID of the public IPv4 pool you would like to use for this CIDR.

            + *

            The ID of the VPC peering connection.

            */ - PoolId: string | undefined; + VpcPeeringConnectionId: string | undefined; +} +/** + * @public + *

            Describes the VPC peering connection options.

            + */ +export interface PeeringConnectionOptions { /** * @public - *

            The netmask length of the CIDR you would like to allocate to the public IPv4 pool.

            + *

            If true, the public DNS hostnames of instances in the specified VPC resolve to private + * IP addresses when queried from instances in the peer VPC.

            */ - NetmaskLength: number | undefined; + AllowDnsResolutionFromRemoteVpc?: boolean; + + /** + * @public + *

            Deprecated.

            + */ + AllowEgressFromLocalClassicLinkToRemoteVpc?: boolean; + + /** + * @public + *

            Deprecated.

            + */ + AllowEgressFromLocalVpcToRemoteClassicLink?: boolean; } /** * @public */ -export interface ProvisionPublicIpv4PoolCidrResult { +export interface ModifyVpcPeeringConnectionOptionsResult { /** * @public - *

            The ID of the pool that you want to provision the CIDR to.

            + *

            Information about the VPC peering connection options for the accepter VPC.

            */ - PoolId?: string; + AccepterPeeringConnectionOptions?: PeeringConnectionOptions; /** * @public - *

            Information about the address range of the public IPv4 pool.

            + *

            Information about the VPC peering connection options for the requester VPC.

            */ - PoolAddressRange?: PublicIpv4PoolRange; + RequesterPeeringConnectionOptions?: PeeringConnectionOptions; } /** * @public + * @enum */ -export interface PurchaseCapacityBlockRequest { - /** - * @public - *

            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.

            - */ - DryRun?: boolean; +export const VpcTenancy = { + default: "default", +} as const; + +/** + * @public + */ +export type VpcTenancy = (typeof VpcTenancy)[keyof typeof VpcTenancy]; +/** + * @public + */ +export interface ModifyVpcTenancyRequest { /** * @public - *

            The tags to apply to the Capacity Block during launch.

            + *

            The ID of the VPC.

            */ - TagSpecifications?: TagSpecification[]; + VpcId: string | undefined; /** * @public - *

            The ID of the Capacity Block offering.

            + *

            The instance tenancy attribute for the VPC.

            */ - CapacityBlockOfferingId: string | undefined; + InstanceTenancy: VpcTenancy | undefined; /** * @public - *

            The type of operating system for which to reserve capacity.

            + *

            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.

            */ - InstancePlatform: CapacityReservationInstancePlatform | undefined; + DryRun?: boolean; } /** * @public */ -export interface PurchaseCapacityBlockResult { +export interface ModifyVpcTenancyResult { /** * @public - *

            The Capacity Reservation.

            + *

            Returns true if the request succeeds; otherwise, returns an + * error.

            */ - CapacityReservation?: CapacityReservation; + ReturnValue?: boolean; } /** * @public */ -export interface PurchaseHostReservationRequest { +export interface ModifyVpnConnectionRequest { /** * @public - *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

            + *

            The ID of the VPN connection.

            */ - ClientToken?: string; + VpnConnectionId: string | undefined; /** * @public - *

            The currency in which the totalUpfrontPrice, LimitPrice, and - * totalHourlyPrice amounts are specified. At this time, the only - * supported currency is USD.

            + *

            The ID of the transit gateway.

            */ - CurrencyCode?: CurrencyCodeValues; + TransitGatewayId?: string; /** * @public - *

            The IDs of the Dedicated Hosts with which the reservation will be associated.

            + *

            The ID of the customer gateway at your end of the VPN connection.

            */ - HostIdSet: string[] | undefined; + CustomerGatewayId?: string; /** * @public - *

            The specified limit is checked against the total upfront cost of the reservation - * (calculated as the offering's upfront cost multiplied by the host count). If the total - * upfront cost is greater than the specified price limit, the request fails. This is used - * to ensure that the purchase does not exceed the expected upfront cost of the purchase. - * At this time, the only supported currency is USD. For example, to indicate - * a limit price of USD 100, specify 100.00.

            + *

            The ID of the virtual private gateway at the Amazon Web Services side of the VPN + * connection.

            */ - LimitPrice?: string; + VpnGatewayId?: string; /** * @public - *

            The ID of the offering.

            + *

            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.

            */ - OfferingId: string | undefined; + DryRun?: boolean; +} +/** + * @public + */ +export interface ModifyVpnConnectionResult { /** * @public - *

            The tags to apply to the Dedicated Host Reservation during purchase.

            + *

            Information about the VPN connection.

            */ - TagSpecifications?: TagSpecification[]; + VpnConnection?: VpnConnection; } /** * @public */ -export interface PurchaseHostReservationResult { +export interface ModifyVpnConnectionOptionsRequest { /** * @public - *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

            + *

            The ID of the Site-to-Site VPN connection.

            */ - ClientToken?: string; + VpnConnectionId: string | undefined; /** * @public - *

            The currency in which the totalUpfrontPrice and - * totalHourlyPrice amounts are specified. At this time, the only - * supported currency is USD.

            + *

            The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

            + *

            Default: 0.0.0.0/0 + *

            */ - CurrencyCode?: CurrencyCodeValues; + LocalIpv4NetworkCidr?: string; /** * @public - *

            Describes the details of the purchase.

            + *

            The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

            + *

            Default: 0.0.0.0/0 + *

            */ - Purchase?: Purchase[]; + RemoteIpv4NetworkCidr?: string; /** * @public - *

            The total hourly price of the reservation calculated per hour.

            + *

            The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

            + *

            Default: ::/0 + *

            */ - TotalHourlyPrice?: string; + LocalIpv6NetworkCidr?: string; /** * @public - *

            The total amount charged to your account when you purchase the reservation.

            + *

            The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

            + *

            Default: ::/0 + *

            */ - TotalUpfrontPrice?: string; -} + RemoteIpv6NetworkCidr?: string; -/** - * @public - *

            Describes the limit price of a Reserved Instance offering.

            - */ -export interface ReservedInstanceLimitPrice { /** * @public - *

            Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

            + *

            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.

            */ - Amount?: number; + DryRun?: boolean; +} +/** + * @public + */ +export interface ModifyVpnConnectionOptionsResult { /** * @public - *

            The currency in which the limitPrice amount is specified. - * At this time, the only supported currency is USD.

            + *

            Information about the VPN connection.

            */ - CurrencyCode?: CurrencyCodeValues; + VpnConnection?: VpnConnection; } /** * @public - *

            Contains the parameters for PurchaseReservedInstancesOffering.

            */ -export interface PurchaseReservedInstancesOfferingRequest { +export interface ModifyVpnTunnelCertificateRequest { /** * @public - *

            The number of Reserved Instances to purchase.

            + *

            The ID of the Amazon Web Services Site-to-Site VPN connection.

            */ - InstanceCount: number | undefined; + VpnConnectionId: string | undefined; /** * @public - *

            The ID of the Reserved Instance offering to purchase.

            + *

            The external IP address of the VPN tunnel.

            */ - ReservedInstancesOfferingId: string | undefined; + VpnTunnelOutsideIpAddress: string | undefined; /** * @public - *

            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.

            + *

            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.

            */ DryRun?: boolean; +} +/** + * @public + */ +export interface ModifyVpnTunnelCertificateResult { /** * @public - *

            Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.

            - */ - LimitPrice?: ReservedInstanceLimitPrice; - - /** - * @public - *

            The time at which to purchase the Reserved Instance, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

            + *

            Information about the VPN connection.

            */ - PurchaseTime?: Date; + VpnConnection?: VpnConnection; } /** * @public - *

            Contains the output of PurchaseReservedInstancesOffering.

            + *

            The Amazon Web Services Site-to-Site VPN tunnel options to modify.

            */ -export interface PurchaseReservedInstancesOfferingResult { +export interface ModifyVpnTunnelOptionsSpecification { /** * @public - *

            The IDs of the purchased Reserved Instances. If your purchase crosses into a discounted - * pricing tier, the final Reserved Instances IDs might change. For more information, see Crossing - * pricing tiers in the Amazon Elastic Compute Cloud User Guide.

            + *

            The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be + * unique across all VPN connections that use the same virtual private gateway.

            + *

            Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The + * following CIDR blocks are reserved and cannot be used:

            + *
              + *
            • + *

              + * 169.254.0.0/30 + *

              + *
            • + *
            • + *

              + * 169.254.1.0/30 + *

              + *
            • + *
            • + *

              + * 169.254.2.0/30 + *

              + *
            • + *
            • + *

              + * 169.254.3.0/30 + *

              + *
            • + *
            • + *

              + * 169.254.4.0/30 + *

              + *
            • + *
            • + *

              + * 169.254.5.0/30 + *

              + *
            • + *
            • + *

              + * 169.254.169.252/30 + *

              + *
            • + *
            */ - ReservedInstancesId?: string; -} + TunnelInsideCidr?: string; -/** - * @public - *

            Describes a request to purchase Scheduled Instances.

            - */ -export interface PurchaseRequest { /** * @public - *

            The number of instances.

            + *

            The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be + * unique across all VPN connections that use the same transit gateway.

            + *

            Constraints: A size /126 CIDR block from the local fd00::/8 range.

            */ - InstanceCount: number | undefined; + TunnelInsideIpv6Cidr?: string; /** * @public - *

            The purchase token.

            + *

            The pre-shared key (PSK) to establish initial authentication between the virtual + * private gateway and the customer gateway.

            + *

            Constraints: Allowed characters are alphanumeric characters, periods (.), and + * underscores (_). Must be between 8 and 64 characters in length and cannot start with + * zero (0).

            */ - PurchaseToken: string | undefined; -} + PreSharedKey?: string; -/** - * @public - *

            Contains the parameters for PurchaseScheduledInstances.

            - */ -export interface PurchaseScheduledInstancesRequest { /** * @public - *

            Unique, case-sensitive identifier that ensures the idempotency of the request. - * For more information, see Ensuring Idempotency.

            + *

            The lifetime for phase 1 of the IKE negotiation, in seconds.

            + *

            Constraints: A value between 900 and 28,800.

            + *

            Default: 28800 + *

            */ - ClientToken?: string; + Phase1LifetimeSeconds?: number; /** * @public - *

            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.

            + *

            The lifetime for phase 2 of the IKE negotiation, in seconds.

            + *

            Constraints: A value between 900 and 3,600. The value must be less than the value for + * Phase1LifetimeSeconds.

            + *

            Default: 3600 + *

            */ - DryRun?: boolean; + Phase2LifetimeSeconds?: number; /** * @public - *

            The purchase requests.

            + *

            The margin time, in seconds, before the phase 2 lifetime expires, during which the + * Amazon Web Services side of the VPN connection performs an IKE rekey. The exact time + * of the rekey is randomly selected based on the value for + * RekeyFuzzPercentage.

            + *

            Constraints: A value between 60 and half of Phase2LifetimeSeconds.

            + *

            Default: 540 + *

            */ - PurchaseRequests: PurchaseRequest[] | undefined; -} + RekeyMarginTimeSeconds?: number; -/** - * @public - *

            Contains the output of PurchaseScheduledInstances.

            - */ -export interface PurchaseScheduledInstancesResult { /** * @public - *

            Information about the Scheduled Instances.

            + *

            The percentage of the rekey window (determined by RekeyMarginTimeSeconds) + * during which the rekey time is randomly selected.

            + *

            Constraints: A value between 0 and 100.

            + *

            Default: 100 + *

            */ - ScheduledInstanceSet?: ScheduledInstance[]; -} + RekeyFuzzPercentage?: number; -/** - * @public - */ -export interface RebootInstancesRequest { /** * @public - *

            The instance IDs.

            + *

            The number of packets in an IKE replay window.

            + *

            Constraints: A value between 64 and 2048.

            + *

            Default: 1024 + *

            */ - InstanceIds: string[] | undefined; + ReplayWindowSize?: number; /** * @public - *

            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.

            + *

            The number of seconds after which a DPD timeout occurs. A DPD timeout of 40 seconds means that the VPN endpoint will consider the peer dead 30 seconds after the first failed keep-alive.

            + *

            Constraints: A value greater than or equal to 30.

            + *

            Default: 40 + *

            */ - DryRun?: boolean; -} + DPDTimeoutSeconds?: number; -/** - * @public - *

            Contains the parameters for RegisterImage.

            - */ -export interface RegisterImageRequest { /** * @public - *

            The full path to your AMI manifest in Amazon S3 storage. The specified bucket must have the - * aws-exec-read canned access control list (ACL) to ensure that it can be accessed - * by Amazon EC2. For more information, see Canned ACLs in the - * Amazon S3 Service Developer Guide.

            + *

            The action to take after DPD timeout occurs. Specify restart to restart + * the IKE initiation. Specify clear to end the IKE session.

            + *

            Valid Values: clear | none | restart + *

            + *

            Default: clear + *

            */ - ImageLocation?: string; + DPDTimeoutAction?: string; /** * @public - *

            The architecture of the AMI.

            - *

            Default: For Amazon EBS-backed AMIs, i386. - * For instance store-backed AMIs, the architecture specified in the manifest file.

            + *

            One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 + * IKE negotiations.

            + *

            Valid values: AES128 | AES256 | AES128-GCM-16 | + * AES256-GCM-16 + *

            */ - Architecture?: ArchitectureValues; + Phase1EncryptionAlgorithms?: Phase1EncryptionAlgorithmsRequestListValue[]; /** * @public - *

            The block device mapping entries.

            - *

            If you specify an Amazon EBS volume using the ID of an Amazon EBS snapshot, you can't specify the encryption state of the volume.

            - *

            If you create an AMI on an Outpost, then all backing snapshots must be on the same - * Outpost or in the Region of that Outpost. AMIs on an Outpost that include local snapshots can - * be used to launch instances on the same Outpost only. For more information, Amazon EBS local - * snapshots on Outposts in the Amazon EC2 User Guide.

            + *

            One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 + * IKE negotiations.

            + *

            Valid values: AES128 | AES256 | AES128-GCM-16 | + * AES256-GCM-16 + *

            */ - BlockDeviceMappings?: BlockDeviceMapping[]; + Phase2EncryptionAlgorithms?: Phase2EncryptionAlgorithmsRequestListValue[]; /** * @public - *

            A description for your AMI.

            + *

            One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE + * negotiations.

            + *

            Valid values: SHA1 | SHA2-256 | SHA2-384 | + * SHA2-512 + *

            */ - Description?: string; + Phase1IntegrityAlgorithms?: Phase1IntegrityAlgorithmsRequestListValue[]; /** * @public - *

            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.

            + *

            One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE + * negotiations.

            + *

            Valid values: SHA1 | SHA2-256 | SHA2-384 | + * SHA2-512 + *

            */ - DryRun?: boolean; + Phase2IntegrityAlgorithms?: Phase2IntegrityAlgorithmsRequestListValue[]; /** * @public - *

            Set to true to enable enhanced networking with ENA for the AMI and any instances that you launch from the AMI.

            - *

            This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

            + *

            One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for + * phase 1 IKE negotiations.

            + *

            Valid values: 2 | 14 | 15 | 16 | + * 17 | 18 | 19 | 20 | + * 21 | 22 | 23 | 24 + *

            */ - EnaSupport?: boolean; + Phase1DHGroupNumbers?: Phase1DHGroupNumbersRequestListValue[]; /** * @public - *

            The ID of the kernel.

            + *

            One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for + * phase 2 IKE negotiations.

            + *

            Valid values: 2 | 5 | 14 | 15 | + * 16 | 17 | 18 | 19 | + * 20 | 21 | 22 | 23 | + * 24 + *

            */ - KernelId?: string; + Phase2DHGroupNumbers?: Phase2DHGroupNumbersRequestListValue[]; /** * @public - *

            A name for your AMI.

            - *

            Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

            + *

            The IKE versions that are permitted for the VPN tunnel.

            + *

            Valid values: ikev1 | ikev2 + *

            */ - Name: string | undefined; + IKEVersions?: IKEVersionsRequestListValue[]; /** * @public - *

            The billing product codes. Your account must be authorized to specify billing product codes.

            - *

            If your account is not authorized to specify billing product codes, you can publish AMIs - * that include billable software and list them on the Amazon Web Services Marketplace. You must first register as a seller - * on the Amazon Web Services Marketplace. For more information, see Getting started as a - * seller and AMI-based - * products in the Amazon Web Services Marketplace Seller Guide.

            + *

            The action to take when the establishing the tunnel for the VPN connection. By + * default, your customer gateway device must initiate the IKE negotiation and bring up the + * tunnel. Specify start for Amazon Web Services to initiate the IKE + * negotiation.

            + *

            Valid Values: add | start + *

            + *

            Default: add + *

            */ - BillingProducts?: string[]; + StartupAction?: string; /** * @public - *

            The ID of the RAM disk.

            + *

            Options for logging VPN tunnel activity.

            */ - RamdiskId?: string; + LogOptions?: VpnTunnelLogOptionsSpecification; /** * @public - *

            The device name of the root device volume (for example, /dev/sda1).

            + *

            Turn on or off tunnel endpoint lifecycle control feature.

            */ - RootDeviceName?: string; + EnableTunnelLifecycleControl?: boolean; +} +/** + * @public + */ +export interface ModifyVpnTunnelOptionsRequest { /** * @public - *

            Set to simple to enable enhanced networking with the Intel 82599 Virtual Function interface for the AMI and any instances that you launch from the AMI.

            - *

            There is no way to disable sriovNetSupport at this time.

            - *

            This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

            + *

            The ID of the Amazon Web Services Site-to-Site VPN connection.

            */ - SriovNetSupport?: string; + VpnConnectionId: string | undefined; /** * @public - *

            The type of virtualization (hvm | paravirtual).

            - *

            Default: paravirtual - *

            + *

            The external IP address of the VPN tunnel.

            */ - VirtualizationType?: string; + VpnTunnelOutsideIpAddress: string | undefined; /** * @public - *

            The boot mode of the AMI. A value of uefi-preferred indicates that the AMI supports both UEFI and Legacy BIOS.

            - * - *

            The operating system contained in the AMI must be configured to support the specified boot mode.

            - *
            - *

            For more information, see Boot modes in the - * Amazon EC2 User Guide.

            + *

            The tunnel options to modify.

            */ - BootMode?: BootModeValues; + TunnelOptions: ModifyVpnTunnelOptionsSpecification | undefined; /** - * @public - *

            Set to v2.0 to enable Trusted Platform Module (TPM) support. For more - * information, see NitroTPM in the Amazon EC2 User Guide.

            + * @public + *

            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.

            */ - TpmSupport?: TpmSupportValues; + DryRun?: boolean; /** * @public - *

            Base64 representation of the non-volatile UEFI variable store. To retrieve the UEFI data, - * use the GetInstanceUefiData command. You can inspect and modify the UEFI data by using the - * python-uefivars tool on - * GitHub. For more information, see UEFI Secure Boot in the - * Amazon EC2 User Guide.

            + *

            Choose whether or not to trigger immediate tunnel replacement. This is only applicable when turning on or off EnableTunnelLifecycleControl.

            + *

            Valid values: True | False + *

            */ - UefiData?: string; + SkipTunnelReplacement?: boolean; +} +/** + * @public + */ +export interface ModifyVpnTunnelOptionsResult { /** * @public - *

            Set to v2.0 to indicate 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.

            - * - *

            If you set the value to v2.0, make sure that your AMI software can support IMDSv2.

            - *
            + *

            Information about the VPN connection.

            */ - ImdsSupport?: ImdsSupportValues; + VpnConnection?: VpnConnection; } /** * @public - *

            Contains the output of RegisterImage.

            */ -export interface RegisterImageResult { +export interface MonitorInstancesRequest { /** * @public - *

            The ID of the newly registered AMI.

            + *

            The IDs of the instances.

            */ - ImageId?: string; + InstanceIds: string[] | undefined; + + /** + * @public + *

            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.

            + */ + DryRun?: boolean; } /** * @public - *

            Information about the tag keys to register for the current Region. You can either specify - * individual tag keys or register all tag keys in the current Region. You must specify either - * IncludeAllTagsOfInstance or InstanceTagKeys in the request

            + *

            Describes the monitoring of an instance.

            */ -export interface RegisterInstanceTagAttributeRequest { +export interface InstanceMonitoring { /** * @public - *

            Indicates whether to register all tag keys in the current Region. Specify true - * to register all tag keys.

            + *

            The ID of the instance.

            */ - IncludeAllTagsOfInstance?: boolean; + InstanceId?: string; /** * @public - *

            The tag keys to register.

            + *

            The monitoring for the instance.

            */ - InstanceTagKeys?: string[]; + Monitoring?: Monitoring; } /** * @public */ -export interface RegisterInstanceEventNotificationAttributesRequest { +export interface MonitorInstancesResult { + /** + * @public + *

            The monitoring information.

            + */ + InstanceMonitorings?: InstanceMonitoring[]; +} + +/** + * @public + */ +export interface MoveAddressToVpcRequest { /** * @public *

            Checks whether you have the required permissions for the action, without actually making the request, @@ -8364,109 +8451,136 @@ export interface RegisterInstanceEventNotificationAttributesRequest { /** * @public - *

            Information about the tag keys to register.

            + *

            The Elastic IP address.

            */ - InstanceTagAttribute: RegisterInstanceTagAttributeRequest | undefined; + PublicIp: string | undefined; } /** * @public + * @enum */ -export interface RegisterInstanceEventNotificationAttributesResult { +export const Status = { + inClassic: "InClassic", + inVpc: "InVpc", + moveInProgress: "MoveInProgress", +} as const; + +/** + * @public + */ +export type Status = (typeof Status)[keyof typeof Status]; + +/** + * @public + */ +export interface MoveAddressToVpcResult { /** * @public - *

            The resulting set of tag keys.

            + *

            The allocation ID for the Elastic IP address.

            */ - InstanceTagAttribute?: InstanceTagNotificationAttribute; + AllocationId?: string; + + /** + * @public + *

            The status of the move of the IP address.

            + */ + Status?: Status; } /** * @public */ -export interface RegisterTransitGatewayMulticastGroupMembersRequest { +export interface MoveByoipCidrToIpamRequest { /** * @public - *

            The ID of the transit gateway multicast domain.

            + *

            A check for 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.

            */ - TransitGatewayMulticastDomainId: string | undefined; + DryRun?: boolean; /** * @public - *

            The IP address assigned to the transit gateway multicast group.

            + *

            The BYOIP CIDR.

            */ - GroupIpAddress?: string; + Cidr: string | undefined; /** * @public - *

            The group members' network interface IDs to register with the transit gateway multicast group.

            + *

            The IPAM pool ID.

            */ - NetworkInterfaceIds: string[] | undefined; + IpamPoolId: string | undefined; /** * @public - *

            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.

            + *

            The Amazon Web Services account ID of the owner of the IPAM pool.

            */ - DryRun?: boolean; + IpamPoolOwner: string | undefined; } /** * @public - *

            Describes the registered transit gateway multicast group members.

            */ -export interface TransitGatewayMulticastRegisteredGroupMembers { +export interface MoveByoipCidrToIpamResult { /** * @public - *

            The ID of the transit gateway multicast domain.

            + *

            The BYOIP CIDR.

            */ - TransitGatewayMulticastDomainId?: string; + ByoipCidr?: ByoipCidr; +} +/** + * @public + *

            Provides authorization for Amazon to bring a specific IP address range to a specific + * Amazon Web Services account using bring your own IP addresses (BYOIP). For more information, see Configuring your BYOIP address range in the Amazon Elastic Compute Cloud User Guide.

            + */ +export interface CidrAuthorizationContext { /** * @public - *

            The ID of the registered network interfaces.

            + *

            The plain-text authorization message for the prefix and account.

            */ - RegisteredNetworkInterfaceIds?: string[]; + Message: string | undefined; /** * @public - *

            The IP address assigned to the transit gateway multicast group.

            + *

            The signed authorization message for the prefix and account.

            */ - GroupIpAddress?: string; + Signature: string | undefined; } /** * @public */ -export interface RegisterTransitGatewayMulticastGroupMembersResult { +export interface ProvisionByoipCidrRequest { /** * @public - *

            Information about the registered transit gateway multicast group members.

            + *

            The public IPv4 or IPv6 address range, in CIDR notation. The most specific IPv4 prefix that you can + * specify is /24. The most specific IPv6 prefix you can specify is /56. The address range cannot overlap with another address range that you've + * brought to this or another Region.

            */ - RegisteredMulticastGroupMembers?: TransitGatewayMulticastRegisteredGroupMembers; -} + Cidr: string | undefined; -/** - * @public - */ -export interface RegisterTransitGatewayMulticastGroupSourcesRequest { /** * @public - *

            The ID of the transit gateway multicast domain.

            + *

            A signed document that proves that you are authorized to bring the specified IP address + * range to Amazon using BYOIP.

            */ - TransitGatewayMulticastDomainId: string | undefined; + CidrAuthorizationContext?: CidrAuthorizationContext; /** * @public - *

            The IP address assigned to the transit gateway multicast group.

            + *

            (IPv6 only) Indicate whether the address range will be publicly advertised to the + * internet.

            + *

            Default: true

            */ - GroupIpAddress?: string; + PubliclyAdvertisable?: boolean; /** * @public - *

            The group sources' network interface IDs to register with the transit gateway multicast group.

            + *

            A description for the address range and the address pool.

            */ - NetworkInterfaceIds: string[] | undefined; + Description?: string; /** * @public @@ -8475,152 +8589,171 @@ export interface RegisterTransitGatewayMulticastGroupSourcesRequest { * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; -} -/** - * @public - *

            Describes the members registered with the transit gateway multicast group.

            - */ -export interface TransitGatewayMulticastRegisteredGroupSources { /** * @public - *

            The ID of the transit gateway multicast domain.

            + *

            The tags to apply to the address pool.

            */ - TransitGatewayMulticastDomainId?: string; + PoolTagSpecifications?: TagSpecification[]; /** * @public - *

            The IDs of the network interfaces members registered with the transit gateway multicast group.

            + *

            Reserved.

            */ - RegisteredNetworkInterfaceIds?: string[]; + MultiRegion?: boolean; +} +/** + * @public + */ +export interface ProvisionByoipCidrResult { /** * @public - *

            The IP address assigned to the transit gateway multicast group.

            + *

            Information about the address range.

            */ - GroupIpAddress?: string; + ByoipCidr?: ByoipCidr; } /** * @public + *

            Provides authorization for Amazon to bring an Autonomous System Number (ASN) to a specific Amazon Web Services account using bring your own ASN (BYOASN). + * For details on the format of the message and signature, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

            */ -export interface RegisterTransitGatewayMulticastGroupSourcesResult { +export interface AsnAuthorizationContext { /** * @public - *

            Information about the transit gateway multicast group sources.

            + *

            The authorization context's message.

            */ - RegisteredMulticastGroupSources?: TransitGatewayMulticastRegisteredGroupSources; + Message: string | undefined; + + /** + * @public + *

            The authorization context's signature.

            + */ + Signature: string | undefined; } /** * @public */ -export interface RejectTransitGatewayMulticastDomainAssociationsRequest { +export interface ProvisionIpamByoasnRequest { /** * @public - *

            The ID of the transit gateway multicast domain.

            + *

            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.

            */ - TransitGatewayMulticastDomainId?: string; + DryRun?: boolean; /** * @public - *

            The ID of the transit gateway attachment.

            + *

            An IPAM ID.

            */ - TransitGatewayAttachmentId?: string; + IpamId: string | undefined; /** * @public - *

            The IDs of the subnets to associate with the transit gateway multicast domain.

            + *

            A public 2-byte or 4-byte ASN.

            */ - SubnetIds?: string[]; + Asn: string | undefined; /** * @public - *

            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.

            + *

            An ASN authorization context.

            */ - DryRun?: boolean; + AsnAuthorizationContext: AsnAuthorizationContext | undefined; } /** * @public */ -export interface RejectTransitGatewayMulticastDomainAssociationsResult { +export interface ProvisionIpamByoasnResult { /** * @public - *

            Information about the multicast domain associations.

            + *

            An ASN and BYOIP CIDR association.

            */ - Associations?: TransitGatewayMulticastDomainAssociations; + Byoasn?: Byoasn; } /** * @public + *

            A signed document that proves that you are authorized to bring the specified IP address range to Amazon using BYOIP.

            */ -export interface RejectTransitGatewayPeeringAttachmentRequest { +export interface IpamCidrAuthorizationContext { /** * @public - *

            The ID of the transit gateway peering attachment.

            + *

            The plain-text authorization message for the prefix and account.

            */ - TransitGatewayAttachmentId: string | undefined; + Message?: string; + + /** + * @public + *

            The signed authorization message for the prefix and account.

            + */ + Signature?: string; +} + +/** + * @public + */ +export interface ProvisionIpamPoolCidrRequest { + /** + * @public + *

            A check for 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.

            + */ + DryRun?: boolean; + + /** + * @public + *

            The ID of the IPAM pool to which you want to assign a CIDR.

            + */ + IpamPoolId: string | undefined; /** * @public - *

            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.

            + *

            The CIDR you want to assign to the IPAM pool. Either "NetmaskLength" or "Cidr" is required. This value will be null if you specify "NetmaskLength" and will be filled in during the provisioning process.

            */ - DryRun?: boolean; -} + Cidr?: string; -/** - * @public - */ -export interface RejectTransitGatewayPeeringAttachmentResult { /** * @public - *

            The transit gateway peering attachment.

            + *

            A signed document that proves that you are authorized to bring a specified IP address range to Amazon using BYOIP. This option applies to public pools only.

            */ - TransitGatewayPeeringAttachment?: TransitGatewayPeeringAttachment; -} + CidrAuthorizationContext?: IpamCidrAuthorizationContext; -/** - * @public - */ -export interface RejectTransitGatewayVpcAttachmentRequest { /** * @public - *

            The ID of the attachment.

            + *

            The netmask length of the CIDR you'd like to provision to a pool. Can be used for provisioning Amazon-provided IPv6 CIDRs to top-level pools and for provisioning CIDRs to pools with source pools. Cannot be used to provision BYOIP CIDRs to top-level pools. Either "NetmaskLength" or "Cidr" is required.

            */ - TransitGatewayAttachmentId: string | undefined; + NetmaskLength?: number; /** * @public - *

            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.

            + *

            A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

            */ - DryRun?: boolean; + ClientToken?: string; } /** * @public */ -export interface RejectTransitGatewayVpcAttachmentResult { +export interface ProvisionIpamPoolCidrResult { /** * @public - *

            Information about the attachment.

            + *

            Information about the provisioned CIDR.

            */ - TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment; + IpamPoolCidr?: IpamPoolCidr; } /** * @public */ -export interface RejectVpcEndpointConnectionsRequest { +export interface ProvisionPublicIpv4PoolCidrRequest { /** * @public - *

            Checks whether you have the required permissions for the action, without actually making the request, + *

            A check for 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.

            */ @@ -8628,483 +8761,545 @@ export interface RejectVpcEndpointConnectionsRequest { /** * @public - *

            The ID of the service.

            + *

            The ID of the IPAM pool you would like to use to allocate this CIDR.

            */ - ServiceId: string | undefined; + IpamPoolId: string | undefined; + + /** + * @public + *

            The ID of the public IPv4 pool you would like to use for this CIDR.

            + */ + PoolId: string | undefined; /** * @public - *

            The IDs of the VPC endpoints.

            + *

            The netmask length of the CIDR you would like to allocate to the public IPv4 pool.

            */ - VpcEndpointIds: string[] | undefined; + NetmaskLength: number | undefined; } /** * @public */ -export interface RejectVpcEndpointConnectionsResult { +export interface ProvisionPublicIpv4PoolCidrResult { + /** + * @public + *

            The ID of the pool that you want to provision the CIDR to.

            + */ + PoolId?: string; + /** * @public - *

            Information about the endpoints that were not rejected, if applicable.

            + *

            Information about the address range of the public IPv4 pool.

            */ - Unsuccessful?: UnsuccessfulItem[]; + PoolAddressRange?: PublicIpv4PoolRange; } /** * @public */ -export interface RejectVpcPeeringConnectionRequest { +export interface PurchaseCapacityBlockRequest { /** * @public - *

            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.

            + *

            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.

            */ DryRun?: boolean; /** * @public - *

            The ID of the VPC peering connection.

            + *

            The tags to apply to the Capacity Block during launch.

            */ - VpcPeeringConnectionId: string | undefined; -} + TagSpecifications?: TagSpecification[]; -/** - * @public - */ -export interface RejectVpcPeeringConnectionResult { /** * @public - *

            Returns true if the request succeeds; otherwise, it returns an error.

            + *

            The ID of the Capacity Block offering.

            */ - Return?: boolean; + CapacityBlockOfferingId: string | undefined; + + /** + * @public + *

            The type of operating system for which to reserve capacity.

            + */ + InstancePlatform: CapacityReservationInstancePlatform | undefined; } /** * @public */ -export interface ReleaseAddressRequest { +export interface PurchaseCapacityBlockResult { /** * @public - *

            The allocation ID. This parameter is required.

            + *

            The Capacity Reservation.

            */ - AllocationId?: string; + CapacityReservation?: CapacityReservation; +} +/** + * @public + */ +export interface PurchaseHostReservationRequest { /** * @public - *

            Deprecated.

            + *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

            */ - PublicIp?: string; + ClientToken?: string; /** * @public - *

            The set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises - * IP addresses.

            - *

            If you provide an incorrect network border group, you receive an InvalidAddress.NotFound error.

            + *

            The currency in which the totalUpfrontPrice, LimitPrice, and + * totalHourlyPrice amounts are specified. At this time, the only + * supported currency is USD.

            */ - NetworkBorderGroup?: string; + CurrencyCode?: CurrencyCodeValues; /** * @public - *

            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.

            + *

            The IDs of the Dedicated Hosts with which the reservation will be associated.

            */ - DryRun?: boolean; -} + HostIdSet: string[] | undefined; -/** - * @public - */ -export interface ReleaseHostsRequest { /** * @public - *

            The IDs of the Dedicated Hosts to release.

            + *

            The specified limit is checked against the total upfront cost of the reservation + * (calculated as the offering's upfront cost multiplied by the host count). If the total + * upfront cost is greater than the specified price limit, the request fails. This is used + * to ensure that the purchase does not exceed the expected upfront cost of the purchase. + * At this time, the only supported currency is USD. For example, to indicate + * a limit price of USD 100, specify 100.00.

            */ - HostIds: string[] | undefined; -} + LimitPrice?: string; -/** - * @public - */ -export interface ReleaseHostsResult { /** * @public - *

            The IDs of the Dedicated Hosts that were successfully released.

            + *

            The ID of the offering.

            */ - Successful?: string[]; + OfferingId: string | undefined; /** * @public - *

            The IDs of the Dedicated Hosts that could not be released, including an error - * message.

            + *

            The tags to apply to the Dedicated Host Reservation during purchase.

            */ - Unsuccessful?: UnsuccessfulItem[]; + TagSpecifications?: TagSpecification[]; } /** * @public */ -export interface ReleaseIpamPoolAllocationRequest { +export interface PurchaseHostReservationResult { /** * @public - *

            A check for 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.

            + *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

            */ - DryRun?: boolean; + ClientToken?: string; /** * @public - *

            The ID of the IPAM pool which contains the allocation you want to release.

            + *

            The currency in which the totalUpfrontPrice and + * totalHourlyPrice amounts are specified. At this time, the only + * supported currency is USD.

            */ - IpamPoolId: string | undefined; + CurrencyCode?: CurrencyCodeValues; /** * @public - *

            The CIDR of the allocation you want to release.

            + *

            Describes the details of the purchase.

            */ - Cidr: string | undefined; + Purchase?: Purchase[]; /** * @public - *

            The ID of the allocation.

            + *

            The total hourly price of the reservation calculated per hour.

            */ - IpamPoolAllocationId: string | undefined; -} + TotalHourlyPrice?: string; -/** - * @public - */ -export interface ReleaseIpamPoolAllocationResult { /** * @public - *

            Indicates if the release was successful.

            + *

            The total amount charged to your account when you purchase the reservation.

            */ - Success?: boolean; + TotalUpfrontPrice?: string; } /** * @public + *

            Describes the limit price of a Reserved Instance offering.

            */ -export interface ReplaceIamInstanceProfileAssociationRequest { +export interface ReservedInstanceLimitPrice { /** * @public - *

            The IAM instance profile.

            + *

            Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

            */ - IamInstanceProfile: IamInstanceProfileSpecification | undefined; + Amount?: number; /** * @public - *

            The ID of the existing IAM instance profile association.

            + *

            The currency in which the limitPrice amount is specified. + * At this time, the only supported currency is USD.

            */ - AssociationId: string | undefined; + CurrencyCode?: CurrencyCodeValues; } /** * @public + *

            Contains the parameters for PurchaseReservedInstancesOffering.

            */ -export interface ReplaceIamInstanceProfileAssociationResult { +export interface PurchaseReservedInstancesOfferingRequest { /** * @public - *

            Information about the IAM instance profile association.

            + *

            The number of Reserved Instances to purchase.

            */ - IamInstanceProfileAssociation?: IamInstanceProfileAssociation; -} + InstanceCount: number | undefined; -/** - * @public - */ -export interface ReplaceNetworkAclAssociationRequest { /** * @public - *

            The ID of the current association between the original network ACL and the subnet.

            + *

            The ID of the Reserved Instance offering to purchase.

            */ - AssociationId: string | undefined; + ReservedInstancesOfferingId: string | undefined; /** * @public *

            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.

            + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; /** * @public - *

            The ID of the new network ACL to associate with the subnet.

            + *

            Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.

            */ - NetworkAclId: string | undefined; -} + LimitPrice?: ReservedInstanceLimitPrice; -/** - * @public - */ -export interface ReplaceNetworkAclAssociationResult { /** * @public - *

            The ID of the new association.

            + *

            The time at which to purchase the Reserved Instance, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

            */ - NewAssociationId?: string; + PurchaseTime?: Date; } /** * @public + *

            Contains the output of PurchaseReservedInstancesOffering.

            */ -export interface ReplaceNetworkAclEntryRequest { - /** - * @public - *

            The IPv4 network range to allow or deny, in CIDR notation (for example - * 172.16.0.0/24).

            - */ - CidrBlock?: string; - +export interface PurchaseReservedInstancesOfferingResult { /** * @public - *

            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.

            + *

            The IDs of the purchased Reserved Instances. If your purchase crosses into a discounted + * pricing tier, the final Reserved Instances IDs might change. For more information, see Crossing + * pricing tiers in the Amazon Elastic Compute Cloud User Guide.

            */ - DryRun?: boolean; + ReservedInstancesId?: string; +} +/** + * @public + *

            Describes a request to purchase Scheduled Instances.

            + */ +export interface PurchaseRequest { /** * @public - *

            Indicates whether to replace the egress rule.

            - *

            Default: If no value is specified, we replace the ingress rule.

            + *

            The number of instances.

            */ - Egress: boolean | undefined; + InstanceCount: number | undefined; /** * @public - *

            ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol - * 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.

            + *

            The purchase token.

            */ - IcmpTypeCode?: IcmpTypeCode; + PurchaseToken: string | undefined; +} +/** + * @public + *

            Contains the parameters for PurchaseScheduledInstances.

            + */ +export interface PurchaseScheduledInstancesRequest { /** * @public - *

            The IPv6 network range to allow or deny, in CIDR notation (for example - * 2001:bd8:1234:1a00::/64).

            + *

            Unique, case-sensitive identifier that ensures the idempotency of the request. + * For more information, see Ensuring Idempotency.

            */ - Ipv6CidrBlock?: string; + ClientToken?: string; /** * @public - *

            The ID of the ACL.

            + *

            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.

            */ - NetworkAclId: string | undefined; + DryRun?: boolean; /** * @public - *

            TCP or UDP protocols: The range of ports the rule applies to. - * Required if specifying protocol 6 (TCP) or 17 (UDP).

            + *

            The purchase requests.

            */ - PortRange?: PortRange; + PurchaseRequests: PurchaseRequest[] | undefined; +} +/** + * @public + *

            Contains the output of PurchaseScheduledInstances.

            + */ +export interface PurchaseScheduledInstancesResult { /** * @public - *

            The protocol number. A value of "-1" means all protocols. If you specify "-1" or a - * protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP), traffic on all ports is - * allowed, regardless of any ports or ICMP types or codes that you specify. If you specify - * protocol "58" (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and - * codes allowed, regardless of any that you specify. If you specify protocol "58" (ICMPv6) - * and specify an IPv6 CIDR block, you must specify an ICMP type and code.

            + *

            Information about the Scheduled Instances.

            */ - Protocol: string | undefined; + ScheduledInstanceSet?: ScheduledInstance[]; +} +/** + * @public + */ +export interface RebootInstancesRequest { /** * @public - *

            Indicates whether to allow or deny the traffic that matches the rule.

            + *

            The instance IDs.

            */ - RuleAction: RuleAction | undefined; + InstanceIds: string[] | undefined; /** * @public - *

            The rule number of the entry to replace.

            + *

            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.

            */ - RuleNumber: number | undefined; + DryRun?: boolean; } /** * @public + *

            Contains the parameters for RegisterImage.

            */ -export interface ReplaceRouteRequest { +export interface RegisterImageRequest { /** * @public - *

            The IPv4 CIDR address block used for the destination match. The value that you - * provide must match the CIDR of an existing route in the table.

            + *

            The full path to your AMI manifest in Amazon S3 storage. The specified bucket must have the + * aws-exec-read canned access control list (ACL) to ensure that it can be accessed + * by Amazon EC2. For more information, see Canned ACLs in the + * Amazon S3 Service Developer Guide.

            */ - DestinationCidrBlock?: string; + ImageLocation?: string; + + /** + * @public + *

            The architecture of the AMI.

            + *

            Default: For Amazon EBS-backed AMIs, i386. + * For instance store-backed AMIs, the architecture specified in the manifest file.

            + */ + Architecture?: ArchitectureValues; /** * @public - *

            The IPv6 CIDR address block used for the destination match. The value that you - * provide must match the CIDR of an existing route in the table.

            + *

            The block device mapping entries.

            + *

            If you specify an Amazon EBS volume using the ID of an Amazon EBS snapshot, you can't specify the encryption state of the volume.

            + *

            If you create an AMI on an Outpost, then all backing snapshots must be on the same + * Outpost or in the Region of that Outpost. AMIs on an Outpost that include local snapshots can + * be used to launch instances on the same Outpost only. For more information, Amazon EBS local + * snapshots on Outposts in the Amazon EC2 User Guide.

            */ - DestinationIpv6CidrBlock?: string; + BlockDeviceMappings?: BlockDeviceMapping[]; /** * @public - *

            The ID of the prefix list for the route.

            + *

            A description for your AMI.

            */ - DestinationPrefixListId?: string; + Description?: string; /** * @public *

            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.

            + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; /** * @public - *

            The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.

            - */ - VpcEndpointId?: string; - - /** - * @public - *

            [IPv6 traffic only] The ID of an egress-only internet gateway.

            + *

            Set to true to enable enhanced networking with ENA for the AMI and any instances that you launch from the AMI.

            + *

            This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

            */ - EgressOnlyInternetGatewayId?: string; + EnaSupport?: boolean; /** * @public - *

            The ID of an internet gateway or virtual private gateway.

            + *

            The ID of the kernel.

            */ - GatewayId?: string; + KernelId?: string; /** * @public - *

            The ID of a NAT instance in your VPC.

            + *

            A name for your AMI.

            + *

            Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

            */ - InstanceId?: string; + Name: string | undefined; /** * @public - *

            Specifies whether to reset the local route to its default target (local).

            + *

            The billing product codes. Your account must be authorized to specify billing product codes.

            + *

            If your account is not authorized to specify billing product codes, you can publish AMIs + * that include billable software and list them on the Amazon Web Services Marketplace. You must first register as a seller + * on the Amazon Web Services Marketplace. For more information, see Getting started as a + * seller and AMI-based + * products in the Amazon Web Services Marketplace Seller Guide.

            */ - LocalTarget?: boolean; + BillingProducts?: string[]; /** * @public - *

            [IPv4 traffic only] The ID of a NAT gateway.

            + *

            The ID of the RAM disk.

            */ - NatGatewayId?: string; + RamdiskId?: string; /** * @public - *

            The ID of a transit gateway.

            + *

            The device name of the root device volume (for example, /dev/sda1).

            */ - TransitGatewayId?: string; + RootDeviceName?: string; /** * @public - *

            The ID of the local gateway.

            + *

            Set to simple to enable enhanced networking with the Intel 82599 Virtual Function interface for the AMI and any instances that you launch from the AMI.

            + *

            There is no way to disable sriovNetSupport at this time.

            + *

            This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

            */ - LocalGatewayId?: string; + SriovNetSupport?: string; /** * @public - *

            [IPv4 traffic only] The ID of a carrier gateway.

            + *

            The type of virtualization (hvm | paravirtual).

            + *

            Default: paravirtual + *

            */ - CarrierGatewayId?: string; + VirtualizationType?: string; /** * @public - *

            The ID of a network interface.

            + *

            The boot mode of the AMI. A value of uefi-preferred indicates that the AMI supports both UEFI and Legacy BIOS.

            + * + *

            The operating system contained in the AMI must be configured to support the specified boot mode.

            + *
            + *

            For more information, see Boot modes in the + * Amazon EC2 User Guide.

            */ - NetworkInterfaceId?: string; + BootMode?: BootModeValues; /** * @public - *

            The ID of the route table.

            + *

            Set to v2.0 to enable Trusted Platform Module (TPM) support. For more + * information, see NitroTPM in the Amazon EC2 User Guide.

            */ - RouteTableId: string | undefined; + TpmSupport?: TpmSupportValues; /** * @public - *

            The ID of a VPC peering connection.

            + *

            Base64 representation of the non-volatile UEFI variable store. To retrieve the UEFI data, + * use the GetInstanceUefiData command. You can inspect and modify the UEFI data by using the + * python-uefivars tool on + * GitHub. For more information, see UEFI Secure Boot in the + * Amazon EC2 User Guide.

            */ - VpcPeeringConnectionId?: string; + UefiData?: string; /** * @public - *

            The Amazon Resource Name (ARN) of the core network.

            + *

            Set to v2.0 to indicate 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.

            + * + *

            If you set the value to v2.0, make sure that your AMI software can support IMDSv2.

            + *
            */ - CoreNetworkArn?: string; + ImdsSupport?: ImdsSupportValues; } /** * @public + *

            Contains the output of RegisterImage.

            */ -export interface ReplaceRouteTableAssociationRequest { +export interface RegisterImageResult { /** * @public - *

            The association ID.

            + *

            The ID of the newly registered AMI.

            */ - AssociationId: string | undefined; + ImageId?: string; +} +/** + * @public + *

            Information about the tag keys to register for the current Region. You can either specify + * individual tag keys or register all tag keys in the current Region. You must specify either + * IncludeAllTagsOfInstance or InstanceTagKeys in the request

            + */ +export interface RegisterInstanceTagAttributeRequest { /** * @public - *

            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.

            + *

            Indicates whether to register all tag keys in the current Region. Specify true + * to register all tag keys.

            */ - DryRun?: boolean; + IncludeAllTagsOfInstance?: boolean; /** * @public - *

            The ID of the new route table to associate with the subnet.

            + *

            The tag keys to register.

            */ - RouteTableId: string | undefined; + InstanceTagKeys?: string[]; } /** * @public */ -export interface ReplaceRouteTableAssociationResult { +export interface RegisterInstanceEventNotificationAttributesRequest { /** * @public - *

            The ID of the new association.

            + *

            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.

            */ - NewAssociationId?: string; + DryRun?: boolean; /** * @public - *

            The state of the association.

            + *

            Information about the tag keys to register.

            */ - AssociationState?: RouteTableAssociationState; + InstanceTagAttribute: RegisterInstanceTagAttributeRequest | undefined; } /** * @public */ -export interface ReplaceTransitGatewayRouteRequest { +export interface RegisterInstanceEventNotificationAttributesResult { /** * @public - *

            The CIDR range used for the destination match. Routing decisions are based on the most specific match.

            + *

            The resulting set of tag keys.

            */ - DestinationCidrBlock: string | undefined; + InstanceTagAttribute?: InstanceTagNotificationAttribute; +} +/** + * @public + */ +export interface RegisterTransitGatewayMulticastGroupMembersRequest { /** * @public - *

            The ID of the route table.

            + *

            The ID of the transit gateway multicast domain.

            */ - TransitGatewayRouteTableId: string | undefined; + TransitGatewayMulticastDomainId: string | undefined; /** * @public - *

            The ID of the attachment.

            + *

            The IP address assigned to the transit gateway multicast group.

            */ - TransitGatewayAttachmentId?: string; + GroupIpAddress?: string; /** * @public - *

            Indicates whether traffic matching this route is to be dropped.

            + *

            The group members' network interface IDs to register with the transit gateway multicast group.

            */ - Blackhole?: boolean; + NetworkInterfaceIds: string[] | undefined; /** * @public @@ -9117,215 +9312,122 @@ export interface ReplaceTransitGatewayRouteRequest { /** * @public + *

            Describes the registered transit gateway multicast group members.

            */ -export interface ReplaceTransitGatewayRouteResult { - /** - * @public - *

            Information about the modified route.

            - */ - Route?: TransitGatewayRoute; -} - -/** - * @public - */ -export interface ReplaceVpnTunnelRequest { - /** - * @public - *

            The ID of the Site-to-Site VPN connection.

            - */ - VpnConnectionId: string | undefined; - +export interface TransitGatewayMulticastRegisteredGroupMembers { /** * @public - *

            The external IP address of the VPN tunnel.

            + *

            The ID of the transit gateway multicast domain.

            */ - VpnTunnelOutsideIpAddress: string | undefined; + TransitGatewayMulticastDomainId?: string; /** * @public - *

            Trigger pending tunnel endpoint maintenance.

            + *

            The ID of the registered network interfaces.

            */ - ApplyPendingMaintenance?: boolean; + RegisteredNetworkInterfaceIds?: string[]; /** * @public - *

            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.

            + *

            The IP address assigned to the transit gateway multicast group.

            */ - DryRun?: boolean; + GroupIpAddress?: string; } /** * @public */ -export interface ReplaceVpnTunnelResult { +export interface RegisterTransitGatewayMulticastGroupMembersResult { /** * @public - *

            Confirmation of replace tunnel operation.

            + *

            Information about the registered transit gateway multicast group members.

            */ - Return?: boolean; + RegisteredMulticastGroupMembers?: TransitGatewayMulticastRegisteredGroupMembers; } -/** - * @public - * @enum - */ -export const ReportInstanceReasonCodes = { - instance_stuck_in_state: "instance-stuck-in-state", - not_accepting_credentials: "not-accepting-credentials", - other: "other", - password_not_available: "password-not-available", - performance_ebs_volume: "performance-ebs-volume", - performance_instance_store: "performance-instance-store", - performance_network: "performance-network", - performance_other: "performance-other", - unresponsive: "unresponsive", -} as const; - -/** - * @public - */ -export type ReportInstanceReasonCodes = (typeof ReportInstanceReasonCodes)[keyof typeof ReportInstanceReasonCodes]; - -/** - * @public - * @enum - */ -export const ReportStatusType = { - impaired: "impaired", - ok: "ok", -} as const; - /** * @public */ -export type ReportStatusType = (typeof ReportStatusType)[keyof typeof ReportStatusType]; - -/** - * @public - */ -export interface ReportInstanceStatusRequest { +export interface RegisterTransitGatewayMulticastGroupSourcesRequest { /** * @public - *

            Descriptive text about the health state of your instance.

            + *

            The ID of the transit gateway multicast domain.

            */ - Description?: string; + TransitGatewayMulticastDomainId: string | undefined; /** * @public - *

            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.

            + *

            The IP address assigned to the transit gateway multicast group.

            */ - DryRun?: boolean; + GroupIpAddress?: string; /** * @public - *

            The time at which the reported instance health state ended.

            + *

            The group sources' network interface IDs to register with the transit gateway multicast group.

            */ - EndTime?: Date; + NetworkInterfaceIds: string[] | undefined; /** * @public - *

            The instances.

            + *

            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.

            */ - Instances: string[] | undefined; + DryRun?: boolean; +} +/** + * @public + *

            Describes the members registered with the transit gateway multicast group.

            + */ +export interface TransitGatewayMulticastRegisteredGroupSources { /** * @public - *

            The reason codes that describe the health state of your instance.

            - *
              - *
            • - *

              - * instance-stuck-in-state: My instance is stuck in a state.

              - *
            • - *
            • - *

              - * unresponsive: My instance is unresponsive.

              - *
            • - *
            • - *

              - * not-accepting-credentials: My instance is not accepting my - * credentials.

              - *
            • - *
            • - *

              - * password-not-available: A password is not available for my - * instance.

              - *
            • - *
            • - *

              - * performance-network: My instance is experiencing performance - * problems that I believe are network related.

              - *
            • - *
            • - *

              - * performance-instance-store: My instance is experiencing performance - * problems that I believe are related to the instance stores.

              - *
            • - *
            • - *

              - * performance-ebs-volume: My instance is experiencing performance - * problems that I believe are related to an EBS volume.

              - *
            • - *
            • - *

              - * performance-other: My instance is experiencing performance - * problems.

              - *
            • - *
            • - *

              - * other: [explain using the description parameter]

              - *
            • - *
            + *

            The ID of the transit gateway multicast domain.

            */ - ReasonCodes: ReportInstanceReasonCodes[] | undefined; + TransitGatewayMulticastDomainId?: string; /** * @public - *

            The time at which the reported instance health state began.

            + *

            The IDs of the network interfaces members registered with the transit gateway multicast group.

            */ - StartTime?: Date; + RegisteredNetworkInterfaceIds?: string[]; /** * @public - *

            The status of all instances listed.

            + *

            The IP address assigned to the transit gateway multicast group.

            */ - Status: ReportStatusType | undefined; + GroupIpAddress?: string; } /** * @public - *

            Contains the parameters for RequestSpotFleet.

            */ -export interface RequestSpotFleetRequest { - /** - * @public - *

            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.

            - */ - DryRun?: boolean; - +export interface RegisterTransitGatewayMulticastGroupSourcesResult { /** * @public - *

            The configuration for the Spot Fleet request.

            + *

            Information about the transit gateway multicast group sources.

            */ - SpotFleetRequestConfig: SpotFleetRequestConfigData | undefined; + RegisteredMulticastGroupSources?: TransitGatewayMulticastRegisteredGroupSources; } /** - * @public - *

            Contains the output of RequestSpotFleet.

            + * @internal */ -export interface RequestSpotFleetResponse { - /** - * @public - *

            The ID of the Spot Fleet request.

            - */ - SpotFleetRequestId?: string; -} +export const GetLaunchTemplateDataResultFilterSensitiveLog = (obj: GetLaunchTemplateDataResult): any => ({ + ...obj, + ...(obj.LaunchTemplateData && { + LaunchTemplateData: ResponseLaunchTemplateDataFilterSensitiveLog(obj.LaunchTemplateData), + }), +}); + +/** + * @internal + */ +export const GetPasswordDataResultFilterSensitiveLog = (obj: GetPasswordDataResult): any => ({ + ...obj, + ...(obj.PasswordData && { PasswordData: SENSITIVE_STRING }), +}); /** * @internal @@ -9538,13 +9640,3 @@ export const ModifyVpnTunnelOptionsResultFilterSensitiveLog = (obj: ModifyVpnTun ...obj, ...(obj.VpnConnection && { VpnConnection: VpnConnectionFilterSensitiveLog(obj.VpnConnection) }), }); - -/** - * @internal - */ -export const RequestSpotFleetRequestFilterSensitiveLog = (obj: RequestSpotFleetRequest): any => ({ - ...obj, - ...(obj.SpotFleetRequestConfig && { - SpotFleetRequestConfig: SpotFleetRequestConfigDataFilterSensitiveLog(obj.SpotFleetRequestConfig), - }), -}); diff --git a/clients/client-ec2/src/models/models_7.ts b/clients/client-ec2/src/models/models_7.ts index ef808f6b7aa4a..776d131db2bd0 100644 --- a/clients/client-ec2/src/models/models_7.ts +++ b/clients/client-ec2/src/models/models_7.ts @@ -7,11 +7,18 @@ import { AddressAttributeName, ByoipCidr, ClientVpnAuthorizationRuleStatus, + IamInstanceProfileAssociation, IamInstanceProfileSpecification, IpPermission, NatGatewayAddress, + PortRange, + RouteTableAssociationState, TagSpecification, TransitGatewayAttachmentResourceType, + TransitGatewayMulticastDomainAssociations, + TransitGatewayPeeringAttachment, + TransitGatewayVpcAttachment, + UnsuccessfulItem, } from "./models_0"; import { AmdSevSnpSpecification, @@ -19,19 +26,22 @@ import { CreditSpecificationRequest, ElasticGpuSpecification, HostnameType, + IcmpTypeCode, InstanceInterruptionBehavior, InstanceIpv6Address, LocalGatewayRoute, ManagedPrefixList, MarketType, Placement, + RuleAction, ShutdownBehavior, SpotInstanceType, } from "./models_1"; import { SnapshotState, SSEType, TransitGatewayRoute } from "./models_2"; -import { ClientVpnConnectionStatus, Filter, InstanceAttributeName } from "./models_3"; +import { ClientVpnConnectionStatus, Filter } from "./models_3"; import { HttpTokensState, + InstanceAttributeName, InstanceAutoRecoveryState, InstanceMetadataEndpointState, InstanceMetadataProtocolState, @@ -42,12 +52,829 @@ import { NetworkInsightsAnalysis, RunInstancesMonitoringEnabled, SnapshotAttributeName, + SpotFleetRequestConfigData, + SpotFleetRequestConfigDataFilterSensitiveLog, SpotInstanceRequest, SpotInstanceRequestFilterSensitiveLog, SpotPlacement, } from "./models_4"; import { CapacityReservationSpecification, InstanceMonitoring, Status } from "./models_6"; +/** + * @public + */ +export interface RejectTransitGatewayMulticastDomainAssociationsRequest { + /** + * @public + *

            The ID of the transit gateway multicast domain.

            + */ + TransitGatewayMulticastDomainId?: string; + + /** + * @public + *

            The ID of the transit gateway attachment.

            + */ + TransitGatewayAttachmentId?: string; + + /** + * @public + *

            The IDs of the subnets to associate with the transit gateway multicast domain.

            + */ + SubnetIds?: string[]; + + /** + * @public + *

            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.

            + */ + DryRun?: boolean; +} + +/** + * @public + */ +export interface RejectTransitGatewayMulticastDomainAssociationsResult { + /** + * @public + *

            Information about the multicast domain associations.

            + */ + Associations?: TransitGatewayMulticastDomainAssociations; +} + +/** + * @public + */ +export interface RejectTransitGatewayPeeringAttachmentRequest { + /** + * @public + *

            The ID of the transit gateway peering attachment.

            + */ + TransitGatewayAttachmentId: string | undefined; + + /** + * @public + *

            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.

            + */ + DryRun?: boolean; +} + +/** + * @public + */ +export interface RejectTransitGatewayPeeringAttachmentResult { + /** + * @public + *

            The transit gateway peering attachment.

            + */ + TransitGatewayPeeringAttachment?: TransitGatewayPeeringAttachment; +} + +/** + * @public + */ +export interface RejectTransitGatewayVpcAttachmentRequest { + /** + * @public + *

            The ID of the attachment.

            + */ + TransitGatewayAttachmentId: string | undefined; + + /** + * @public + *

            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.

            + */ + DryRun?: boolean; +} + +/** + * @public + */ +export interface RejectTransitGatewayVpcAttachmentResult { + /** + * @public + *

            Information about the attachment.

            + */ + TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment; +} + +/** + * @public + */ +export interface RejectVpcEndpointConnectionsRequest { + /** + * @public + *

            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.

            + */ + DryRun?: boolean; + + /** + * @public + *

            The ID of the service.

            + */ + ServiceId: string | undefined; + + /** + * @public + *

            The IDs of the VPC endpoints.

            + */ + VpcEndpointIds: string[] | undefined; +} + +/** + * @public + */ +export interface RejectVpcEndpointConnectionsResult { + /** + * @public + *

            Information about the endpoints that were not rejected, if applicable.

            + */ + Unsuccessful?: UnsuccessfulItem[]; +} + +/** + * @public + */ +export interface RejectVpcPeeringConnectionRequest { + /** + * @public + *

            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.

            + */ + DryRun?: boolean; + + /** + * @public + *

            The ID of the VPC peering connection.

            + */ + VpcPeeringConnectionId: string | undefined; +} + +/** + * @public + */ +export interface RejectVpcPeeringConnectionResult { + /** + * @public + *

            Returns true if the request succeeds; otherwise, it returns an error.

            + */ + Return?: boolean; +} + +/** + * @public + */ +export interface ReleaseAddressRequest { + /** + * @public + *

            The allocation ID. This parameter is required.

            + */ + AllocationId?: string; + + /** + * @public + *

            Deprecated.

            + */ + PublicIp?: string; + + /** + * @public + *

            The set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises + * IP addresses.

            + *

            If you provide an incorrect network border group, you receive an InvalidAddress.NotFound error.

            + */ + NetworkBorderGroup?: string; + + /** + * @public + *

            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.

            + */ + DryRun?: boolean; +} + +/** + * @public + */ +export interface ReleaseHostsRequest { + /** + * @public + *

            The IDs of the Dedicated Hosts to release.

            + */ + HostIds: string[] | undefined; +} + +/** + * @public + */ +export interface ReleaseHostsResult { + /** + * @public + *

            The IDs of the Dedicated Hosts that were successfully released.

            + */ + Successful?: string[]; + + /** + * @public + *

            The IDs of the Dedicated Hosts that could not be released, including an error + * message.

            + */ + Unsuccessful?: UnsuccessfulItem[]; +} + +/** + * @public + */ +export interface ReleaseIpamPoolAllocationRequest { + /** + * @public + *

            A check for 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.

            + */ + DryRun?: boolean; + + /** + * @public + *

            The ID of the IPAM pool which contains the allocation you want to release.

            + */ + IpamPoolId: string | undefined; + + /** + * @public + *

            The CIDR of the allocation you want to release.

            + */ + Cidr: string | undefined; + + /** + * @public + *

            The ID of the allocation.

            + */ + IpamPoolAllocationId: string | undefined; +} + +/** + * @public + */ +export interface ReleaseIpamPoolAllocationResult { + /** + * @public + *

            Indicates if the release was successful.

            + */ + Success?: boolean; +} + +/** + * @public + */ +export interface ReplaceIamInstanceProfileAssociationRequest { + /** + * @public + *

            The IAM instance profile.

            + */ + IamInstanceProfile: IamInstanceProfileSpecification | undefined; + + /** + * @public + *

            The ID of the existing IAM instance profile association.

            + */ + AssociationId: string | undefined; +} + +/** + * @public + */ +export interface ReplaceIamInstanceProfileAssociationResult { + /** + * @public + *

            Information about the IAM instance profile association.

            + */ + IamInstanceProfileAssociation?: IamInstanceProfileAssociation; +} + +/** + * @public + */ +export interface ReplaceNetworkAclAssociationRequest { + /** + * @public + *

            The ID of the current association between the original network ACL and the subnet.

            + */ + AssociationId: string | undefined; + + /** + * @public + *

            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.

            + */ + DryRun?: boolean; + + /** + * @public + *

            The ID of the new network ACL to associate with the subnet.

            + */ + NetworkAclId: string | undefined; +} + +/** + * @public + */ +export interface ReplaceNetworkAclAssociationResult { + /** + * @public + *

            The ID of the new association.

            + */ + NewAssociationId?: string; +} + +/** + * @public + */ +export interface ReplaceNetworkAclEntryRequest { + /** + * @public + *

            The IPv4 network range to allow or deny, in CIDR notation (for example + * 172.16.0.0/24).

            + */ + CidrBlock?: string; + + /** + * @public + *

            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.

            + */ + DryRun?: boolean; + + /** + * @public + *

            Indicates whether to replace the egress rule.

            + *

            Default: If no value is specified, we replace the ingress rule.

            + */ + Egress: boolean | undefined; + + /** + * @public + *

            ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol + * 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.

            + */ + IcmpTypeCode?: IcmpTypeCode; + + /** + * @public + *

            The IPv6 network range to allow or deny, in CIDR notation (for example + * 2001:bd8:1234:1a00::/64).

            + */ + Ipv6CidrBlock?: string; + + /** + * @public + *

            The ID of the ACL.

            + */ + NetworkAclId: string | undefined; + + /** + * @public + *

            TCP or UDP protocols: The range of ports the rule applies to. + * Required if specifying protocol 6 (TCP) or 17 (UDP).

            + */ + PortRange?: PortRange; + + /** + * @public + *

            The protocol number. A value of "-1" means all protocols. If you specify "-1" or a + * protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP), traffic on all ports is + * allowed, regardless of any ports or ICMP types or codes that you specify. If you specify + * protocol "58" (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and + * codes allowed, regardless of any that you specify. If you specify protocol "58" (ICMPv6) + * and specify an IPv6 CIDR block, you must specify an ICMP type and code.

            + */ + Protocol: string | undefined; + + /** + * @public + *

            Indicates whether to allow or deny the traffic that matches the rule.

            + */ + RuleAction: RuleAction | undefined; + + /** + * @public + *

            The rule number of the entry to replace.

            + */ + RuleNumber: number | undefined; +} + +/** + * @public + */ +export interface ReplaceRouteRequest { + /** + * @public + *

            The IPv4 CIDR address block used for the destination match. The value that you + * provide must match the CIDR of an existing route in the table.

            + */ + DestinationCidrBlock?: string; + + /** + * @public + *

            The IPv6 CIDR address block used for the destination match. The value that you + * provide must match the CIDR of an existing route in the table.

            + */ + DestinationIpv6CidrBlock?: string; + + /** + * @public + *

            The ID of the prefix list for the route.

            + */ + DestinationPrefixListId?: string; + + /** + * @public + *

            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.

            + */ + DryRun?: boolean; + + /** + * @public + *

            The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.

            + */ + VpcEndpointId?: string; + + /** + * @public + *

            [IPv6 traffic only] The ID of an egress-only internet gateway.

            + */ + EgressOnlyInternetGatewayId?: string; + + /** + * @public + *

            The ID of an internet gateway or virtual private gateway.

            + */ + GatewayId?: string; + + /** + * @public + *

            The ID of a NAT instance in your VPC.

            + */ + InstanceId?: string; + + /** + * @public + *

            Specifies whether to reset the local route to its default target (local).

            + */ + LocalTarget?: boolean; + + /** + * @public + *

            [IPv4 traffic only] The ID of a NAT gateway.

            + */ + NatGatewayId?: string; + + /** + * @public + *

            The ID of a transit gateway.

            + */ + TransitGatewayId?: string; + + /** + * @public + *

            The ID of the local gateway.

            + */ + LocalGatewayId?: string; + + /** + * @public + *

            [IPv4 traffic only] The ID of a carrier gateway.

            + */ + CarrierGatewayId?: string; + + /** + * @public + *

            The ID of a network interface.

            + */ + NetworkInterfaceId?: string; + + /** + * @public + *

            The ID of the route table.

            + */ + RouteTableId: string | undefined; + + /** + * @public + *

            The ID of a VPC peering connection.

            + */ + VpcPeeringConnectionId?: string; + + /** + * @public + *

            The Amazon Resource Name (ARN) of the core network.

            + */ + CoreNetworkArn?: string; +} + +/** + * @public + */ +export interface ReplaceRouteTableAssociationRequest { + /** + * @public + *

            The association ID.

            + */ + AssociationId: string | undefined; + + /** + * @public + *

            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.

            + */ + DryRun?: boolean; + + /** + * @public + *

            The ID of the new route table to associate with the subnet.

            + */ + RouteTableId: string | undefined; +} + +/** + * @public + */ +export interface ReplaceRouteTableAssociationResult { + /** + * @public + *

            The ID of the new association.

            + */ + NewAssociationId?: string; + + /** + * @public + *

            The state of the association.

            + */ + AssociationState?: RouteTableAssociationState; +} + +/** + * @public + */ +export interface ReplaceTransitGatewayRouteRequest { + /** + * @public + *

            The CIDR range used for the destination match. Routing decisions are based on the most specific match.

            + */ + DestinationCidrBlock: string | undefined; + + /** + * @public + *

            The ID of the route table.

            + */ + TransitGatewayRouteTableId: string | undefined; + + /** + * @public + *

            The ID of the attachment.

            + */ + TransitGatewayAttachmentId?: string; + + /** + * @public + *

            Indicates whether traffic matching this route is to be dropped.

            + */ + Blackhole?: boolean; + + /** + * @public + *

            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.

            + */ + DryRun?: boolean; +} + +/** + * @public + */ +export interface ReplaceTransitGatewayRouteResult { + /** + * @public + *

            Information about the modified route.

            + */ + Route?: TransitGatewayRoute; +} + +/** + * @public + */ +export interface ReplaceVpnTunnelRequest { + /** + * @public + *

            The ID of the Site-to-Site VPN connection.

            + */ + VpnConnectionId: string | undefined; + + /** + * @public + *

            The external IP address of the VPN tunnel.

            + */ + VpnTunnelOutsideIpAddress: string | undefined; + + /** + * @public + *

            Trigger pending tunnel endpoint maintenance.

            + */ + ApplyPendingMaintenance?: boolean; + + /** + * @public + *

            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.

            + */ + DryRun?: boolean; +} + +/** + * @public + */ +export interface ReplaceVpnTunnelResult { + /** + * @public + *

            Confirmation of replace tunnel operation.

            + */ + Return?: boolean; +} + +/** + * @public + * @enum + */ +export const ReportInstanceReasonCodes = { + instance_stuck_in_state: "instance-stuck-in-state", + not_accepting_credentials: "not-accepting-credentials", + other: "other", + password_not_available: "password-not-available", + performance_ebs_volume: "performance-ebs-volume", + performance_instance_store: "performance-instance-store", + performance_network: "performance-network", + performance_other: "performance-other", + unresponsive: "unresponsive", +} as const; + +/** + * @public + */ +export type ReportInstanceReasonCodes = (typeof ReportInstanceReasonCodes)[keyof typeof ReportInstanceReasonCodes]; + +/** + * @public + * @enum + */ +export const ReportStatusType = { + impaired: "impaired", + ok: "ok", +} as const; + +/** + * @public + */ +export type ReportStatusType = (typeof ReportStatusType)[keyof typeof ReportStatusType]; + +/** + * @public + */ +export interface ReportInstanceStatusRequest { + /** + * @public + *

            Descriptive text about the health state of your instance.

            + */ + Description?: string; + + /** + * @public + *

            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.

            + */ + DryRun?: boolean; + + /** + * @public + *

            The time at which the reported instance health state ended.

            + */ + EndTime?: Date; + + /** + * @public + *

            The instances.

            + */ + Instances: string[] | undefined; + + /** + * @public + *

            The reason codes that describe the health state of your instance.

            + *
              + *
            • + *

              + * instance-stuck-in-state: My instance is stuck in a state.

              + *
            • + *
            • + *

              + * unresponsive: My instance is unresponsive.

              + *
            • + *
            • + *

              + * not-accepting-credentials: My instance is not accepting my + * credentials.

              + *
            • + *
            • + *

              + * password-not-available: A password is not available for my + * instance.

              + *
            • + *
            • + *

              + * performance-network: My instance is experiencing performance + * problems that I believe are network related.

              + *
            • + *
            • + *

              + * performance-instance-store: My instance is experiencing performance + * problems that I believe are related to the instance stores.

              + *
            • + *
            • + *

              + * performance-ebs-volume: My instance is experiencing performance + * problems that I believe are related to an EBS volume.

              + *
            • + *
            • + *

              + * performance-other: My instance is experiencing performance + * problems.

              + *
            • + *
            • + *

              + * other: [explain using the description parameter]

              + *
            • + *
            + */ + ReasonCodes: ReportInstanceReasonCodes[] | undefined; + + /** + * @public + *

            The time at which the reported instance health state began.

            + */ + StartTime?: Date; + + /** + * @public + *

            The status of all instances listed.

            + */ + Status: ReportStatusType | undefined; +} + +/** + * @public + *

            Contains the parameters for RequestSpotFleet.

            + */ +export interface RequestSpotFleetRequest { + /** + * @public + *

            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.

            + */ + DryRun?: boolean; + + /** + * @public + *

            The configuration for the Spot Fleet request.

            + */ + SpotFleetRequestConfig: SpotFleetRequestConfigData | undefined; +} + +/** + * @public + *

            Contains the output of RequestSpotFleet.

            + */ +export interface RequestSpotFleetResponse { + /** + * @public + *

            The ID of the Spot Fleet request.

            + */ + SpotFleetRequestId?: string; +} + /** * @public *

            Describes the launch specification for an instance.

            @@ -3258,6 +4085,16 @@ export interface WithdrawByoipCidrResult { ByoipCidr?: ByoipCidr; } +/** + * @internal + */ +export const RequestSpotFleetRequestFilterSensitiveLog = (obj: RequestSpotFleetRequest): any => ({ + ...obj, + ...(obj.SpotFleetRequestConfig && { + SpotFleetRequestConfig: SpotFleetRequestConfigDataFilterSensitiveLog(obj.SpotFleetRequestConfig), + }), +}); + /** * @internal */ diff --git a/clients/client-ec2/src/protocols/Aws_ec2.ts b/clients/client-ec2/src/protocols/Aws_ec2.ts index 22e75f241c8fc..2c0cac17f1ff2 100644 --- a/clients/client-ec2/src/protocols/Aws_ec2.ts +++ b/clients/client-ec2/src/protocols/Aws_ec2.ts @@ -96,6 +96,10 @@ import { AssociateInstanceEventWindowCommandInput, AssociateInstanceEventWindowCommandOutput, } from "../commands/AssociateInstanceEventWindowCommand"; +import { + AssociateIpamByoasnCommandInput, + AssociateIpamByoasnCommandOutput, +} from "../commands/AssociateIpamByoasnCommand"; import { AssociateIpamResourceDiscoveryCommandInput, AssociateIpamResourceDiscoveryCommandOutput, @@ -694,6 +698,10 @@ import { DeprovisionByoipCidrCommandInput, DeprovisionByoipCidrCommandOutput, } from "../commands/DeprovisionByoipCidrCommand"; +import { + DeprovisionIpamByoasnCommandInput, + DeprovisionIpamByoasnCommandOutput, +} from "../commands/DeprovisionIpamByoasnCommand"; import { DeprovisionIpamPoolCidrCommandInput, DeprovisionIpamPoolCidrCommandOutput, @@ -909,6 +917,7 @@ import { DescribeInternetGatewaysCommandInput, DescribeInternetGatewaysCommandOutput, } from "../commands/DescribeInternetGatewaysCommand"; +import { DescribeIpamByoasnCommandInput, DescribeIpamByoasnCommandOutput } from "../commands/DescribeIpamByoasnCommand"; import { DescribeIpamPoolsCommandInput, DescribeIpamPoolsCommandOutput } from "../commands/DescribeIpamPoolsCommand"; import { DescribeIpamResourceDiscoveriesCommandInput, @@ -1336,6 +1345,10 @@ import { DisassociateInstanceEventWindowCommandInput, DisassociateInstanceEventWindowCommandOutput, } from "../commands/DisassociateInstanceEventWindowCommand"; +import { + DisassociateIpamByoasnCommandInput, + DisassociateIpamByoasnCommandOutput, +} from "../commands/DisassociateIpamByoasnCommand"; import { DisassociateIpamResourceDiscoveryCommandInput, DisassociateIpamResourceDiscoveryCommandOutput, @@ -1510,6 +1523,10 @@ import { GetIpamDiscoveredAccountsCommandInput, GetIpamDiscoveredAccountsCommandOutput, } from "../commands/GetIpamDiscoveredAccountsCommand"; +import { + GetIpamDiscoveredPublicAddressesCommandInput, + GetIpamDiscoveredPublicAddressesCommandOutput, +} from "../commands/GetIpamDiscoveredPublicAddressesCommand"; import { GetIpamDiscoveredResourceCidrsCommandInput, GetIpamDiscoveredResourceCidrsCommandOutput, @@ -1864,6 +1881,10 @@ import { MoveByoipCidrToIpamCommandOutput, } from "../commands/MoveByoipCidrToIpamCommand"; import { ProvisionByoipCidrCommandInput, ProvisionByoipCidrCommandOutput } from "../commands/ProvisionByoipCidrCommand"; +import { + ProvisionIpamByoasnCommandInput, + ProvisionIpamByoasnCommandOutput, +} from "../commands/ProvisionIpamByoasnCommand"; import { ProvisionIpamPoolCidrCommandInput, ProvisionIpamPoolCidrCommandOutput, @@ -2139,6 +2160,7 @@ import { AnalysisSecurityGroupRule, ApplySecurityGroupsToClientVpnTargetNetworkRequest, ApplySecurityGroupsToClientVpnTargetNetworkResult, + AsnAssociation, AssignedPrivateIpAddress, AssignIpv6AddressesRequest, AssignIpv6AddressesResult, @@ -2157,6 +2179,8 @@ import { AssociateIamInstanceProfileResult, AssociateInstanceEventWindowRequest, AssociateInstanceEventWindowResult, + AssociateIpamByoasnRequest, + AssociateIpamByoasnResult, AssociateIpamResourceDiscoveryRequest, AssociateIpamResourceDiscoveryResult, AssociateNatGatewayAddressRequest, @@ -2223,7 +2247,6 @@ import { CapacityAllocation, CapacityReservation, CapacityReservationFleetCancellationState, - CarrierGateway, CidrBlock, ClientVpnAuthorizationRuleStatus, ConfirmProductInstanceRequest, @@ -2239,9 +2262,7 @@ import { CreateCapacityReservationRequest, CreateCapacityReservationResult, CreateCarrierGatewayRequest, - CreateCarrierGatewayResult, DeviceOptions, - DirectoryServiceAuthenticationRequest, EnaSrdSpecification, EnaSrdUdpSpecification, Explanation, @@ -2334,6 +2355,7 @@ import { CapacityReservationOptionsRequest, CapacityReservationTarget, CapacityReservationTargetResponse, + CarrierGateway, CertificateAuthenticationRequest, ClientConnectOptions, ClientLoginBannerOptions, @@ -2343,7 +2365,11 @@ import { CoipCidr, CoipPool, ConnectionLogOptions, + ConnectionTrackingConfiguration, + ConnectionTrackingSpecification, + ConnectionTrackingSpecificationRequest, CpuManufacturer, + CreateCarrierGatewayResult, CreateClientVpnEndpointRequest, CreateClientVpnEndpointResult, CreateClientVpnRouteRequest, @@ -2412,16 +2438,14 @@ import { CreateNetworkInsightsAccessScopeResult, CreateNetworkInsightsPathRequest, CreateNetworkInsightsPathResult, - CreateNetworkInterfacePermissionRequest, - CreateNetworkInterfacePermissionResult, CreateNetworkInterfaceRequest, - CreateNetworkInterfaceResult, CreditSpecification, CreditSpecificationRequest, CustomerGateway, DestinationOptionsRequest, DhcpConfiguration, DhcpOptions, + DirectoryServiceAuthenticationRequest, EbsBlockDevice, Ec2InstanceConnectEndpoint, EgressOnlyInternetGateway, @@ -2455,12 +2479,13 @@ import { Ipam, IpamOperatingRegion, IpamPool, + IpamPoolSourceResource, + IpamPoolSourceResourceRequest, IpamResourceDiscovery, IpamResourceTag, IpamScope, Ipv4PrefixSpecificationRequest, Ipv4PrefixSpecificationResponse, - Ipv6PrefixSpecification, Ipv6PrefixSpecificationRequest, Ipv6PrefixSpecificationResponse, KeyPair, @@ -2524,15 +2549,11 @@ import { NetworkInsightsAccessScope, NetworkInsightsAccessScopeContent, NetworkInsightsPath, - NetworkInterface, NetworkInterfaceAssociation, NetworkInterfaceAttachment, NetworkInterfaceCount, NetworkInterfaceCountRequest, NetworkInterfaceIpv6Address, - NetworkInterfacePermission, - NetworkInterfacePermissionState, - NetworkInterfacePrivateIpAddress, NewDhcpConfiguration, OnDemandOptionsRequest, PathFilter, @@ -2563,6 +2584,9 @@ import { CloudWatchLogOptions, CloudWatchLogOptionsSpecification, ConnectionNotification, + CreateNetworkInterfacePermissionRequest, + CreateNetworkInterfacePermissionResult, + CreateNetworkInterfaceResult, CreatePlacementGroupRequest, CreatePlacementGroupResult, CreatePublicIpv4PoolRequest, @@ -2708,17 +2732,6 @@ import { DeleteManagedPrefixListRequest, DeleteManagedPrefixListResult, DeleteNatGatewayRequest, - DeleteNatGatewayResult, - DeleteNetworkAclEntryRequest, - DeleteNetworkAclRequest, - DeleteNetworkInsightsAccessScopeAnalysisRequest, - DeleteNetworkInsightsAccessScopeAnalysisResult, - DeleteNetworkInsightsAccessScopeRequest, - DeleteNetworkInsightsAccessScopeResult, - DeleteNetworkInsightsAnalysisRequest, - DeleteNetworkInsightsAnalysisResult, - DeleteNetworkInsightsPathRequest, - DeleteNetworkInsightsPathResult, DnsEntry, DnsOptions, DnsOptionsSpecification, @@ -2726,7 +2739,12 @@ import { IKEVersionsRequestListValue, InstanceEventWindowStateChange, InstanceSpecification, + Ipv6PrefixSpecification, LastError, + NetworkInterface, + NetworkInterfacePermission, + NetworkInterfacePermissionState, + NetworkInterfacePrivateIpAddress, Phase1DHGroupNumbersListValue, Phase1DHGroupNumbersRequestListValue, Phase1EncryptionAlgorithmsListValue, @@ -2805,11 +2823,11 @@ import { } from "../models/models_2"; import { AssociatedTargetNetwork, - AttributeBooleanValue, AuthorizationRule, AvailabilityZone, AvailabilityZoneMessage, AvailableCapacity, + Byoasn, CapacityBlockOffering, CapacityReservationFleet, CapacityReservationOptions, @@ -2825,6 +2843,17 @@ import { ClientVpnRoute, ConnectionLogResponseOptions, ConversionTask, + DeleteNatGatewayResult, + DeleteNetworkAclEntryRequest, + DeleteNetworkAclRequest, + DeleteNetworkInsightsAccessScopeAnalysisRequest, + DeleteNetworkInsightsAccessScopeAnalysisResult, + DeleteNetworkInsightsAccessScopeRequest, + DeleteNetworkInsightsAccessScopeResult, + DeleteNetworkInsightsAnalysisRequest, + DeleteNetworkInsightsAnalysisResult, + DeleteNetworkInsightsPathRequest, + DeleteNetworkInsightsPathResult, DeleteNetworkInterfacePermissionRequest, DeleteNetworkInterfacePermissionResult, DeleteNetworkInterfaceRequest, @@ -2896,6 +2925,8 @@ import { DeleteVpnGatewayRequest, DeprovisionByoipCidrRequest, DeprovisionByoipCidrResult, + DeprovisionIpamByoasnRequest, + DeprovisionIpamByoasnResult, DeprovisionIpamPoolCidrRequest, DeprovisionIpamPoolCidrResult, DeprovisionPublicIpv4PoolCidrRequest, @@ -3000,20 +3031,12 @@ import { DescribeImportImageTasksRequest, DescribeImportImageTasksResult, DescribeImportSnapshotTasksRequest, - DescribeImportSnapshotTasksResult, - DescribeInstanceAttributeRequest, - DescribeInstanceConnectEndpointsRequest, - DescribeInstanceConnectEndpointsResult, - DescribeInstanceCreditSpecificationsRequest, - DescribeInstanceCreditSpecificationsResult, DestinationOptionsResponse, DirectoryServiceAuthentication, DiskImageDescription, DiskImageVolumeDescription, - EbsInstanceBlockDevice, ElasticGpuHealth, ElasticGpus, - EnclaveOptions, EventInformation, ExportImageTask, ExportTaskS3Location, @@ -3043,12 +3066,8 @@ import { ImportImageTask, ImportInstanceTaskDetails, ImportInstanceVolumeDetailItem, - ImportSnapshotTask, ImportVolumeTaskDetails, - InstanceAttribute, - InstanceBlockDeviceMapping, InstanceCapacity, - InstanceCreditSpecification, InstanceTagNotificationAttribute, IpamPoolCidr, IpamPoolCidrFailureReason, @@ -3058,7 +3077,6 @@ import { PciId, ProductCode, SnapshotDetail, - SnapshotTaskDetail, SpotOptions, Subscription, SuccessfulQueuedPurchaseDeletion, @@ -3071,12 +3089,20 @@ import { } from "../models/models_3"; import { ArchitectureType, + AttributeBooleanValue, BootModeType, CapacityReservationSpecificationResponse, ClassicLoadBalancer, ClassicLoadBalancersConfig, + ConnectionTrackingSpecificationResponse, CpuOptions, CreateVolumePermission, + DescribeImportSnapshotTasksResult, + DescribeInstanceAttributeRequest, + DescribeInstanceConnectEndpointsRequest, + DescribeInstanceConnectEndpointsResult, + DescribeInstanceCreditSpecificationsRequest, + DescribeInstanceCreditSpecificationsResult, DescribeInstanceEventNotificationAttributesRequest, DescribeInstanceEventNotificationAttributesResult, DescribeInstanceEventWindowsRequest, @@ -3093,6 +3119,8 @@ import { DescribeInstanceTypesResult, DescribeInternetGatewaysRequest, DescribeInternetGatewaysResult, + DescribeIpamByoasnRequest, + DescribeIpamByoasnResult, DescribeIpamPoolsRequest, DescribeIpamPoolsResult, DescribeIpamResourceDiscoveriesRequest, @@ -3203,27 +3231,14 @@ import { DescribeStoreImageTasksResult, DescribeSubnetsRequest, DescribeSubnetsResult, - DescribeTagsRequest, - DescribeTagsResult, - DescribeTrafficMirrorFiltersRequest, - DescribeTrafficMirrorFiltersResult, - DescribeTrafficMirrorSessionsRequest, - DescribeTrafficMirrorSessionsResult, - DescribeTrafficMirrorTargetsRequest, - DescribeTrafficMirrorTargetsResult, - DescribeTransitGatewayAttachmentsRequest, - DescribeTransitGatewayAttachmentsResult, - DescribeTransitGatewayConnectPeersRequest, - DescribeTransitGatewayConnectPeersResult, - DescribeTransitGatewayConnectsRequest, - DescribeTransitGatewayConnectsResult, - DescribeTransitGatewayMulticastDomainsRequest, DiskInfo, EbsInfo, + EbsInstanceBlockDevice, EbsOptimizedInfo, EfaInfo, ElasticGpuAssociation, ElasticInferenceAcceleratorAssociation, + EnclaveOptions, FpgaDeviceInfo, FpgaDeviceMemoryInfo, FpgaInfo, @@ -3232,12 +3247,16 @@ import { GpuInfo, HibernationOptions, HistoryRecord, + ImportSnapshotTask, InferenceAcceleratorInfo, InferenceDeviceInfo, InferenceDeviceMemoryInfo, Instance, InstanceAttachmentEnaSrdSpecification, InstanceAttachmentEnaSrdUdpSpecification, + InstanceAttribute, + InstanceBlockDeviceMapping, + InstanceCreditSpecification, InstanceIpv4Prefix, InstanceIpv6Prefix, InstanceMaintenanceOptions, @@ -3304,6 +3323,7 @@ import { SecurityGroupReference, SlotDateTimeRangeRequest, SlotStartTimeRangeRequest, + SnapshotTaskDetail, SnapshotTierStatus, SpotCapacityRebalance, SpotFleetLaunchSpecification, @@ -3320,11 +3340,8 @@ import { StaleSecurityGroup, StoreImageTaskResult, SupportedAdditionalProcessorFeature, - TagDescription, TargetGroup, TargetGroupsConfig, - TransitGatewayAttachment, - TransitGatewayAttachmentAssociation, UsageClassType, VCpuInfo, } from "../models/models_4"; @@ -3337,6 +3354,21 @@ import { CoipAddressUsage, DataQuery, DataResponse, + DescribeTagsRequest, + DescribeTagsResult, + DescribeTrafficMirrorFiltersRequest, + DescribeTrafficMirrorFiltersResult, + DescribeTrafficMirrorSessionsRequest, + DescribeTrafficMirrorSessionsResult, + DescribeTrafficMirrorTargetsRequest, + DescribeTrafficMirrorTargetsResult, + DescribeTransitGatewayAttachmentsRequest, + DescribeTransitGatewayAttachmentsResult, + DescribeTransitGatewayConnectPeersRequest, + DescribeTransitGatewayConnectPeersResult, + DescribeTransitGatewayConnectsRequest, + DescribeTransitGatewayConnectsResult, + DescribeTransitGatewayMulticastDomainsRequest, DescribeTransitGatewayMulticastDomainsResult, DescribeTransitGatewayPeeringAttachmentsRequest, DescribeTransitGatewayPeeringAttachmentsResult, @@ -3446,6 +3478,8 @@ import { DisassociateIamInstanceProfileResult, DisassociateInstanceEventWindowRequest, DisassociateInstanceEventWindowResult, + DisassociateIpamByoasnRequest, + DisassociateIpamByoasnResult, DisassociateIpamResourceDiscoveryRequest, DisassociateIpamResourceDiscoveryResult, DisassociateNatGatewayAddressRequest, @@ -3546,32 +3580,14 @@ import { GetIpamAddressHistoryResult, GetIpamDiscoveredAccountsRequest, GetIpamDiscoveredAccountsResult, + GetIpamDiscoveredPublicAddressesRequest, + GetIpamDiscoveredPublicAddressesResult, GetIpamDiscoveredResourceCidrsRequest, GetIpamDiscoveredResourceCidrsResult, GetIpamPoolAllocationsRequest, GetIpamPoolAllocationsResult, GetIpamPoolCidrsRequest, GetIpamPoolCidrsResult, - GetIpamResourceCidrsRequest, - GetIpamResourceCidrsResult, - GetLaunchTemplateDataRequest, - GetLaunchTemplateDataResult, - GetManagedPrefixListAssociationsRequest, - GetManagedPrefixListAssociationsResult, - GetManagedPrefixListEntriesRequest, - GetManagedPrefixListEntriesResult, - GetNetworkInsightsAccessScopeAnalysisFindingsRequest, - GetNetworkInsightsAccessScopeAnalysisFindingsResult, - GetNetworkInsightsAccessScopeContentRequest, - GetNetworkInsightsAccessScopeContentResult, - GetPasswordDataRequest, - GetPasswordDataResult, - GetReservedInstancesExchangeQuoteRequest, - GetReservedInstancesExchangeQuoteResult, - GetSecurityGroupsForVpcRequest, - GetSecurityGroupsForVpcResult, - GetSerialConsoleAccessStatusRequest, - GetSerialConsoleAccessStatusResult, InstanceEventWindowDisassociationRequest, InstanceFamilyCreditSpecification, InstanceTypeInfoFromInstanceRequirements, @@ -3579,21 +3595,20 @@ import { IntegrateServices, IpamAddressHistoryRecord, IpamDiscoveredAccount, + IpamDiscoveredPublicAddress, IpamDiscoveredResourceCidr, IpamDiscoveryFailureReason, - IpamResourceCidr, + IpamPublicAddressSecurityGroup, + IpamPublicAddressTag, + IpamPublicAddressTags, Ipv6CidrAssociation, MetricPoint, - PrefixListAssociation, - PrefixListEntry, PrivateDnsDetails, Purchase, - ReservationValue, - ReservedInstanceReservationValue, - SecurityGroupForVpc, ServiceDetail, - TargetConfiguration, - TargetReservationValue, + TagDescription, + TransitGatewayAttachment, + TransitGatewayAttachmentAssociation, TransitGatewayPropagation, VerifiedAccessInstanceLoggingConfiguration, VerifiedAccessLogCloudWatchLogsDestination, @@ -3612,6 +3627,7 @@ import { VpcEndpointConnection, } from "../models/models_5"; import { + AsnAuthorizationContext, BlobAttributeValue, CapacityReservationSpecification, CidrAuthorizationContext, @@ -3621,6 +3637,26 @@ import { DiskImageDetail, DnsServersOptionsModifyStructure, EbsInstanceBlockDeviceSpecification, + GetIpamResourceCidrsRequest, + GetIpamResourceCidrsResult, + GetLaunchTemplateDataRequest, + GetLaunchTemplateDataResult, + GetManagedPrefixListAssociationsRequest, + GetManagedPrefixListAssociationsResult, + GetManagedPrefixListEntriesRequest, + GetManagedPrefixListEntriesResult, + GetNetworkInsightsAccessScopeAnalysisFindingsRequest, + GetNetworkInsightsAccessScopeAnalysisFindingsResult, + GetNetworkInsightsAccessScopeContentRequest, + GetNetworkInsightsAccessScopeContentResult, + GetPasswordDataRequest, + GetPasswordDataResult, + GetReservedInstancesExchangeQuoteRequest, + GetReservedInstancesExchangeQuoteResult, + GetSecurityGroupsForVpcRequest, + GetSecurityGroupsForVpcResult, + GetSerialConsoleAccessStatusRequest, + GetSerialConsoleAccessStatusResult, GetSnapshotBlockPublicAccessStateRequest, GetSnapshotBlockPublicAccessStateResult, GetSpotPlacementScoresRequest, @@ -3672,6 +3708,7 @@ import { InstanceMonitoring, InstanceRequirementsWithMetadataRequest, IpamCidrAuthorizationContext, + IpamResourceCidr, LaunchPermissionModifications, ListImagesInRecycleBinRequest, ListImagesInRecycleBinResult, @@ -3817,8 +3854,12 @@ import { NetworkInterfaceAttachmentChanges, PeeringConnectionOptions, PeeringConnectionOptionsRequest, + PrefixListAssociation, + PrefixListEntry, ProvisionByoipCidrRequest, ProvisionByoipCidrResult, + ProvisionIpamByoasnRequest, + ProvisionIpamByoasnResult, ProvisionIpamPoolCidrRequest, ProvisionIpamPoolCidrResult, ProvisionPublicIpv4PoolCidrRequest, @@ -3842,46 +3883,20 @@ import { RegisterTransitGatewayMulticastGroupMembersResult, RegisterTransitGatewayMulticastGroupSourcesRequest, RegisterTransitGatewayMulticastGroupSourcesResult, - RejectTransitGatewayMulticastDomainAssociationsRequest, - RejectTransitGatewayMulticastDomainAssociationsResult, - RejectTransitGatewayPeeringAttachmentRequest, - RejectTransitGatewayPeeringAttachmentResult, - RejectTransitGatewayVpcAttachmentRequest, - RejectTransitGatewayVpcAttachmentResult, - RejectVpcEndpointConnectionsRequest, - RejectVpcEndpointConnectionsResult, - RejectVpcPeeringConnectionRequest, - RejectVpcPeeringConnectionResult, - ReleaseAddressRequest, - ReleaseHostsRequest, - ReleaseHostsResult, - ReleaseIpamPoolAllocationRequest, - ReleaseIpamPoolAllocationResult, RemoveIpamOperatingRegion, RemovePrefixListEntry, - ReplaceIamInstanceProfileAssociationRequest, - ReplaceIamInstanceProfileAssociationResult, - ReplaceNetworkAclAssociationRequest, - ReplaceNetworkAclAssociationResult, - ReplaceNetworkAclEntryRequest, - ReplaceRouteRequest, - ReplaceRouteTableAssociationRequest, - ReplaceRouteTableAssociationResult, - ReplaceTransitGatewayRouteRequest, - ReplaceTransitGatewayRouteResult, - ReplaceVpnTunnelRequest, - ReplaceVpnTunnelResult, - ReportInstanceReasonCodes, - ReportInstanceStatusRequest, - RequestSpotFleetRequest, - RequestSpotFleetResponse, + ReservationValue, ReservedInstanceLimitPrice, + ReservedInstanceReservationValue, + SecurityGroupForVpc, SecurityGroupRuleRequest, SecurityGroupRuleUpdate, SnapshotDiskContainer, SnapshotRecycleBinInfo, SpotPlacementScore, SuccessfulInstanceCreditSpecificationItem, + TargetConfiguration, + TargetReservationValue, TrafficMirrorFilterRuleField, TrafficMirrorSessionField, TransitGatewayAttachmentPropagation, @@ -3916,6 +3931,37 @@ import { LaunchTemplateSpecification, LicenseConfigurationRequest, PrivateDnsNameOptionsRequest, + RejectTransitGatewayMulticastDomainAssociationsRequest, + RejectTransitGatewayMulticastDomainAssociationsResult, + RejectTransitGatewayPeeringAttachmentRequest, + RejectTransitGatewayPeeringAttachmentResult, + RejectTransitGatewayVpcAttachmentRequest, + RejectTransitGatewayVpcAttachmentResult, + RejectVpcEndpointConnectionsRequest, + RejectVpcEndpointConnectionsResult, + RejectVpcPeeringConnectionRequest, + RejectVpcPeeringConnectionResult, + ReleaseAddressRequest, + ReleaseHostsRequest, + ReleaseHostsResult, + ReleaseIpamPoolAllocationRequest, + ReleaseIpamPoolAllocationResult, + ReplaceIamInstanceProfileAssociationRequest, + ReplaceIamInstanceProfileAssociationResult, + ReplaceNetworkAclAssociationRequest, + ReplaceNetworkAclAssociationResult, + ReplaceNetworkAclEntryRequest, + ReplaceRouteRequest, + ReplaceRouteTableAssociationRequest, + ReplaceRouteTableAssociationResult, + ReplaceTransitGatewayRouteRequest, + ReplaceTransitGatewayRouteResult, + ReplaceVpnTunnelRequest, + ReplaceVpnTunnelResult, + ReportInstanceReasonCodes, + ReportInstanceStatusRequest, + RequestSpotFleetRequest, + RequestSpotFleetResponse, RequestSpotInstancesRequest, RequestSpotInstancesResult, RequestSpotLaunchSpecification, @@ -4356,6 +4402,23 @@ export const se_AssociateInstanceEventWindowCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_ec2AssociateIpamByoasnCommand + */ +export const se_AssociateIpamByoasnCommand = async ( + input: AssociateIpamByoasnCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = SHARED_HEADERS; + let body: any; + body = buildFormUrlencodedString({ + ...se_AssociateIpamByoasnRequest(input, context), + Action: "AssociateIpamByoasn", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_ec2AssociateIpamResourceDiscoveryCommand */ @@ -7586,6 +7649,23 @@ export const se_DeprovisionByoipCidrCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_ec2DeprovisionIpamByoasnCommand + */ +export const se_DeprovisionIpamByoasnCommand = async ( + input: DeprovisionIpamByoasnCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = SHARED_HEADERS; + let body: any; + body = buildFormUrlencodedString({ + ...se_DeprovisionIpamByoasnRequest(input, context), + Action: "DeprovisionIpamByoasn", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_ec2DeprovisionIpamPoolCidrCommand */ @@ -8640,6 +8720,23 @@ export const se_DescribeInternetGatewaysCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_ec2DescribeIpamByoasnCommand + */ +export const se_DescribeIpamByoasnCommand = async ( + input: DescribeIpamByoasnCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = SHARED_HEADERS; + let body: any; + body = buildFormUrlencodedString({ + ...se_DescribeIpamByoasnRequest(input, context), + Action: "DescribeIpamByoasn", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_ec2DescribeIpamPoolsCommand */ @@ -10646,6 +10743,23 @@ export const se_DisassociateInstanceEventWindowCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_ec2DisassociateIpamByoasnCommand + */ +export const se_DisassociateIpamByoasnCommand = async ( + input: DisassociateIpamByoasnCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = SHARED_HEADERS; + let body: any; + body = buildFormUrlencodedString({ + ...se_DisassociateIpamByoasnRequest(input, context), + Action: "DisassociateIpamByoasn", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_ec2DisassociateIpamResourceDiscoveryCommand */ @@ -11462,6 +11576,23 @@ export const se_GetIpamDiscoveredAccountsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_ec2GetIpamDiscoveredPublicAddressesCommand + */ +export const se_GetIpamDiscoveredPublicAddressesCommand = async ( + input: GetIpamDiscoveredPublicAddressesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = SHARED_HEADERS; + let body: any; + body = buildFormUrlencodedString({ + ...se_GetIpamDiscoveredPublicAddressesRequest(input, context), + Action: "GetIpamDiscoveredPublicAddresses", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_ec2GetIpamDiscoveredResourceCidrsCommand */ @@ -13247,6 +13378,23 @@ export const se_ProvisionByoipCidrCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_ec2ProvisionIpamByoasnCommand + */ +export const se_ProvisionIpamByoasnCommand = async ( + input: ProvisionIpamByoasnCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = SHARED_HEADERS; + let body: any; + body = buildFormUrlencodedString({ + ...se_ProvisionIpamByoasnRequest(input, context), + Action: "ProvisionIpamByoasn", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_ec2ProvisionIpamPoolCidrCommand */ @@ -15189,6 +15337,46 @@ const de_AssociateInstanceEventWindowCommandError = async ( }); }; +/** + * deserializeAws_ec2AssociateIpamByoasnCommand + */ +export const de_AssociateIpamByoasnCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_AssociateIpamByoasnCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_AssociateIpamByoasnResult(data, context); + const response: AssociateIpamByoasnCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_ec2AssociateIpamByoasnCommandError + */ +const de_AssociateIpamByoasnCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadEc2ErrorCode(output, parsedOutput.body); + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody: parsedBody.Errors.Error, + errorCode, + }); +}; + /** * deserializeAws_ec2AssociateIpamResourceDiscoveryCommand */ @@ -22714,6 +22902,46 @@ const de_DeprovisionByoipCidrCommandError = async ( }); }; +/** + * deserializeAws_ec2DeprovisionIpamByoasnCommand + */ +export const de_DeprovisionIpamByoasnCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_DeprovisionIpamByoasnCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_DeprovisionIpamByoasnResult(data, context); + const response: DeprovisionIpamByoasnCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_ec2DeprovisionIpamByoasnCommandError + */ +const de_DeprovisionIpamByoasnCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadEc2ErrorCode(output, parsedOutput.body); + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody: parsedBody.Errors.Error, + errorCode, + }); +}; + /** * deserializeAws_ec2DeprovisionIpamPoolCidrCommand */ @@ -25191,6 +25419,46 @@ const de_DescribeInternetGatewaysCommandError = async ( }); }; +/** + * deserializeAws_ec2DescribeIpamByoasnCommand + */ +export const de_DescribeIpamByoasnCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_DescribeIpamByoasnCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_DescribeIpamByoasnResult(data, context); + const response: DescribeIpamByoasnCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_ec2DescribeIpamByoasnCommandError + */ +const de_DescribeIpamByoasnCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadEc2ErrorCode(output, parsedOutput.body); + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody: parsedBody.Errors.Error, + errorCode, + }); +}; + /** * deserializeAws_ec2DescribeIpamPoolsCommand */ @@ -29896,6 +30164,46 @@ const de_DisassociateInstanceEventWindowCommandError = async ( }); }; +/** + * deserializeAws_ec2DisassociateIpamByoasnCommand + */ +export const de_DisassociateIpamByoasnCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_DisassociateIpamByoasnCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_DisassociateIpamByoasnResult(data, context); + const response: DisassociateIpamByoasnCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_ec2DisassociateIpamByoasnCommandError + */ +const de_DisassociateIpamByoasnCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadEc2ErrorCode(output, parsedOutput.body); + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody: parsedBody.Errors.Error, + errorCode, + }); +}; + /** * deserializeAws_ec2DisassociateIpamResourceDiscoveryCommand */ @@ -31807,6 +32115,46 @@ const de_GetIpamDiscoveredAccountsCommandError = async ( }); }; +/** + * deserializeAws_ec2GetIpamDiscoveredPublicAddressesCommand + */ +export const de_GetIpamDiscoveredPublicAddressesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_GetIpamDiscoveredPublicAddressesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_GetIpamDiscoveredPublicAddressesResult(data, context); + const response: GetIpamDiscoveredPublicAddressesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_ec2GetIpamDiscoveredPublicAddressesCommandError + */ +const de_GetIpamDiscoveredPublicAddressesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadEc2ErrorCode(output, parsedOutput.body); + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody: parsedBody.Errors.Error, + errorCode, + }); +}; + /** * deserializeAws_ec2GetIpamDiscoveredResourceCidrsCommand */ @@ -35980,6 +36328,46 @@ const de_ProvisionByoipCidrCommandError = async ( }); }; +/** + * deserializeAws_ec2ProvisionIpamByoasnCommand + */ +export const de_ProvisionIpamByoasnCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_ProvisionIpamByoasnCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_ProvisionIpamByoasnResult(data, context); + const response: ProvisionIpamByoasnCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_ec2ProvisionIpamByoasnCommandError + */ +const de_ProvisionIpamByoasnCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadEc2ErrorCode(output, parsedOutput.body); + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody: parsedBody.Errors.Error, + errorCode, + }); +}; + /** * deserializeAws_ec2ProvisionIpamPoolCidrCommand */ @@ -38955,6 +39343,9 @@ const se_AdvertiseByoipCidrRequest = (input: AdvertiseByoipCidrRequest, context: if (input.Cidr != null) { entries["Cidr"] = input.Cidr; } + if (input.Asn != null) { + entries["Asn"] = input.Asn; + } if (input.DryRun != null) { entries["DryRun"] = input.DryRun; } @@ -39081,6 +39472,16 @@ const se_AllocateIpamPoolCidrRequest = (input: AllocateIpamPoolCidrRequest, cont if (input.PreviewNextCidr != null) { entries["PreviewNextCidr"] = input.PreviewNextCidr; } + if (input.AllowedCidrs != null) { + const memberEntries = se_IpamPoolAllocationAllowedCidrs(input.AllowedCidrs, context); + if (input.AllowedCidrs?.length === 0) { + entries.AllowedCidr = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AllowedCidr.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } if (input.DisallowedCidrs != null) { const memberEntries = se_IpamPoolAllocationDisallowedCidrs(input.DisallowedCidrs, context); if (input.DisallowedCidrs?.length === 0) { @@ -39204,6 +39605,20 @@ const se_ArnList = (input: string[], context: __SerdeContext): any => { return entries; }; +/** + * serializeAws_ec2AsnAuthorizationContext + */ +const se_AsnAuthorizationContext = (input: AsnAuthorizationContext, context: __SerdeContext): any => { + const entries: any = {}; + if (input.Message != null) { + entries["Message"] = input.Message; + } + if (input.Signature != null) { + entries["Signature"] = input.Signature; + } + return entries; +}; + /** * serializeAws_ec2AssetIdList */ @@ -39464,6 +39879,23 @@ const se_AssociateInstanceEventWindowRequest = ( return entries; }; +/** + * serializeAws_ec2AssociateIpamByoasnRequest + */ +const se_AssociateIpamByoasnRequest = (input: AssociateIpamByoasnRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.DryRun != null) { + entries["DryRun"] = input.DryRun; + } + if (input.Asn != null) { + entries["Asn"] = input.Asn; + } + if (input.Cidr != null) { + entries["Cidr"] = input.Cidr; + } + return entries; +}; + /** * serializeAws_ec2AssociateIpamResourceDiscoveryRequest */ @@ -39568,6 +40000,12 @@ const se_AssociateSubnetCidrBlockRequest = (input: AssociateSubnetCidrBlockReque if (input.SubnetId != null) { entries["SubnetId"] = input.SubnetId; } + if (input.Ipv6IpamPoolId != null) { + entries["Ipv6IpamPoolId"] = input.Ipv6IpamPoolId; + } + if (input.Ipv6NetmaskLength != null) { + entries["Ipv6NetmaskLength"] = input.Ipv6NetmaskLength; + } return entries; }; @@ -40800,6 +41238,26 @@ const se_ConnectionNotificationIdsList = (input: string[], context: __SerdeConte return entries; }; +/** + * serializeAws_ec2ConnectionTrackingSpecificationRequest + */ +const se_ConnectionTrackingSpecificationRequest = ( + input: ConnectionTrackingSpecificationRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.TcpEstablishedTimeout != null) { + entries["TcpEstablishedTimeout"] = input.TcpEstablishedTimeout; + } + if (input.UdpStreamTimeout != null) { + entries["UdpStreamTimeout"] = input.UdpStreamTimeout; + } + if (input.UdpTimeout != null) { + entries["UdpTimeout"] = input.UdpTimeout; + } + return entries; +}; + /** * serializeAws_ec2ConversionIdStringList */ @@ -41848,6 +42306,13 @@ const se_CreateIpamPoolRequest = (input: CreateIpamPoolRequest, context: __Serde if (input.PublicIpSource != null) { entries["PublicIpSource"] = input.PublicIpSource; } + if (input.SourceResource != null) { + const memberEntries = se_IpamPoolSourceResourceRequest(input.SourceResource, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `SourceResource.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -41888,6 +42353,9 @@ const se_CreateIpamRequest = (input: CreateIpamRequest, context: __SerdeContext) if (input.ClientToken != null) { entries["ClientToken"] = input.ClientToken; } + if (input.Tier != null) { + entries["Tier"] = input.Tier; + } return entries; }; @@ -42603,6 +43071,13 @@ const se_CreateNetworkInterfaceRequest = (input: CreateNetworkInterfaceRequest, if (input.EnablePrimaryIpv6 != null) { entries["EnablePrimaryIpv6"] = input.EnablePrimaryIpv6; } + if (input.ConnectionTrackingSpecification != null) { + const memberEntries = se_ConnectionTrackingSpecificationRequest(input.ConnectionTrackingSpecification, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ConnectionTrackingSpecification.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -43061,6 +43536,18 @@ const se_CreateSubnetRequest = (input: CreateSubnetRequest, context: __SerdeCont if (input.Ipv6Native != null) { entries["Ipv6Native"] = input.Ipv6Native; } + if (input.Ipv4IpamPoolId != null) { + entries["Ipv4IpamPoolId"] = input.Ipv4IpamPoolId; + } + if (input.Ipv4NetmaskLength != null) { + entries["Ipv4NetmaskLength"] = input.Ipv4NetmaskLength; + } + if (input.Ipv6IpamPoolId != null) { + entries["Ipv6IpamPoolId"] = input.Ipv6IpamPoolId; + } + if (input.Ipv6NetmaskLength != null) { + entries["Ipv6NetmaskLength"] = input.Ipv6NetmaskLength; + } return entries; }; @@ -44868,6 +45355,9 @@ const se_DeleteIpamPoolRequest = (input: DeleteIpamPoolRequest, context: __Serde if (input.IpamPoolId != null) { entries["IpamPoolId"] = input.IpamPoolId; } + if (input.Cascade != null) { + entries["Cascade"] = input.Cascade; + } return entries; }; @@ -45936,6 +46426,23 @@ const se_DeprovisionByoipCidrRequest = (input: DeprovisionByoipCidrRequest, cont return entries; }; +/** + * serializeAws_ec2DeprovisionIpamByoasnRequest + */ +const se_DeprovisionIpamByoasnRequest = (input: DeprovisionIpamByoasnRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.DryRun != null) { + entries["DryRun"] = input.DryRun; + } + if (input.IpamId != null) { + entries["IpamId"] = input.IpamId; + } + if (input.Asn != null) { + entries["Asn"] = input.Asn; + } + return entries; +}; + /** * serializeAws_ec2DeprovisionIpamPoolCidrRequest */ @@ -47987,6 +48494,23 @@ const se_DescribeInternetGatewaysRequest = (input: DescribeInternetGatewaysReque return entries; }; +/** + * serializeAws_ec2DescribeIpamByoasnRequest + */ +const se_DescribeIpamByoasnRequest = (input: DescribeIpamByoasnRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.DryRun != null) { + entries["DryRun"] = input.DryRun; + } + if (input.MaxResults != null) { + entries["MaxResults"] = input.MaxResults; + } + if (input.NextToken != null) { + entries["NextToken"] = input.NextToken; + } + return entries; +}; + /** * serializeAws_ec2DescribeIpamPoolsRequest */ @@ -51962,6 +52486,23 @@ const se_DisassociateInstanceEventWindowRequest = ( return entries; }; +/** + * serializeAws_ec2DisassociateIpamByoasnRequest + */ +const se_DisassociateIpamByoasnRequest = (input: DisassociateIpamByoasnRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.DryRun != null) { + entries["DryRun"] = input.DryRun; + } + if (input.Asn != null) { + entries["Asn"] = input.Asn; + } + if (input.Cidr != null) { + entries["Cidr"] = input.Cidr; + } + return entries; +}; + /** * serializeAws_ec2DisassociateIpamResourceDiscoveryRequest */ @@ -53781,6 +54322,42 @@ const se_GetIpamDiscoveredAccountsRequest = (input: GetIpamDiscoveredAccountsReq return entries; }; +/** + * serializeAws_ec2GetIpamDiscoveredPublicAddressesRequest + */ +const se_GetIpamDiscoveredPublicAddressesRequest = ( + input: GetIpamDiscoveredPublicAddressesRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.DryRun != null) { + entries["DryRun"] = input.DryRun; + } + if (input.IpamResourceDiscoveryId != null) { + entries["IpamResourceDiscoveryId"] = input.IpamResourceDiscoveryId; + } + if (input.AddressRegion != null) { + entries["AddressRegion"] = input.AddressRegion; + } + if (input.Filters != null) { + const memberEntries = se_FilterList(input.Filters, context); + if (input.Filters?.length === 0) { + entries.Filter = []; + } + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Filter.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.NextToken != null) { + entries["NextToken"] = input.NextToken; + } + if (input.MaxResults != null) { + entries["MaxResults"] = input.MaxResults; + } + return entries; +}; + /** * serializeAws_ec2GetIpamDiscoveredResourceCidrsRequest */ @@ -55696,6 +56273,13 @@ const se_InstanceNetworkInterfaceSpecification = ( entries[loc] = value; }); } + if (input.ConnectionTrackingSpecification != null) { + const memberEntries = se_ConnectionTrackingSpecificationRequest(input.ConnectionTrackingSpecification, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ConnectionTrackingSpecification.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -56217,6 +56801,22 @@ const se_IpamCidrAuthorizationContext = (input: IpamCidrAuthorizationContext, co return entries; }; +/** + * serializeAws_ec2IpamPoolAllocationAllowedCidrs + */ +const se_IpamPoolAllocationAllowedCidrs = (input: string[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`Item.${counter}`] = entry; + counter++; + } + return entries; +}; + /** * serializeAws_ec2IpamPoolAllocationDisallowedCidrs */ @@ -56233,6 +56833,26 @@ const se_IpamPoolAllocationDisallowedCidrs = (input: string[], context: __SerdeC return entries; }; +/** + * serializeAws_ec2IpamPoolSourceResourceRequest + */ +const se_IpamPoolSourceResourceRequest = (input: IpamPoolSourceResourceRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.ResourceId != null) { + entries["ResourceId"] = input.ResourceId; + } + if (input.ResourceType != null) { + entries["ResourceType"] = input.ResourceType; + } + if (input.ResourceRegion != null) { + entries["ResourceRegion"] = input.ResourceRegion; + } + if (input.ResourceOwner != null) { + entries["ResourceOwner"] = input.ResourceOwner; + } + return entries; +}; + /** * serializeAws_ec2IpList */ @@ -57054,6 +57674,13 @@ const se_LaunchTemplateInstanceNetworkInterfaceSpecificationRequest = ( entries[loc] = value; }); } + if (input.ConnectionTrackingSpecification != null) { + const memberEntries = se_ConnectionTrackingSpecificationRequest(input.ConnectionTrackingSpecification, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ConnectionTrackingSpecification.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -58550,6 +59177,9 @@ const se_ModifyIpamRequest = (input: ModifyIpamRequest, context: __SerdeContext) entries[loc] = value; }); } + if (input.Tier != null) { + entries["Tier"] = input.Tier; + } return entries; }; @@ -58786,6 +59416,13 @@ const se_ModifyNetworkInterfaceAttributeRequest = ( if (input.EnablePrimaryIpv6 != null) { entries["EnablePrimaryIpv6"] = input.EnablePrimaryIpv6; } + if (input.ConnectionTrackingSpecification != null) { + const memberEntries = se_ConnectionTrackingSpecificationRequest(input.ConnectionTrackingSpecification, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ConnectionTrackingSpecification.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -61418,6 +62055,30 @@ const se_ProvisionByoipCidrRequest = (input: ProvisionByoipCidrRequest, context: return entries; }; +/** + * serializeAws_ec2ProvisionIpamByoasnRequest + */ +const se_ProvisionIpamByoasnRequest = (input: ProvisionIpamByoasnRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.DryRun != null) { + entries["DryRun"] = input.DryRun; + } + if (input.IpamId != null) { + entries["IpamId"] = input.IpamId; + } + if (input.Asn != null) { + entries["Asn"] = input.Asn; + } + if (input.AsnAuthorizationContext != null) { + const memberEntries = se_AsnAuthorizationContext(input.AsnAuthorizationContext, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AsnAuthorizationContext.${key}`; + entries[loc] = value; + }); + } + return entries; +}; + /** * serializeAws_ec2ProvisionIpamPoolCidrRequest */ @@ -67848,6 +68509,37 @@ const de_ArnList = (output: any, context: __SerdeContext): string[] => { }); }; +/** + * deserializeAws_ec2AsnAssociation + */ +const de_AsnAssociation = (output: any, context: __SerdeContext): AsnAssociation => { + const contents: any = {}; + if (output["asn"] !== undefined) { + contents.Asn = __expectString(output["asn"]); + } + if (output["cidr"] !== undefined) { + contents.Cidr = __expectString(output["cidr"]); + } + if (output["statusMessage"] !== undefined) { + contents.StatusMessage = __expectString(output["statusMessage"]); + } + if (output["state"] !== undefined) { + contents.State = __expectString(output["state"]); + } + return contents; +}; + +/** + * deserializeAws_ec2AsnAssociationSet + */ +const de_AsnAssociationSet = (output: any, context: __SerdeContext): AsnAssociation[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_AsnAssociation(entry, context); + }); +}; + /** * deserializeAws_ec2AssignedPrivateIpAddress */ @@ -68084,6 +68776,17 @@ const de_AssociateInstanceEventWindowResult = ( return contents; }; +/** + * deserializeAws_ec2AssociateIpamByoasnResult + */ +const de_AssociateIpamByoasnResult = (output: any, context: __SerdeContext): AssociateIpamByoasnResult => { + const contents: any = {}; + if (output["asnAssociation"] !== undefined) { + contents.AsnAssociation = de_AsnAssociation(output["asnAssociation"], context); + } + return contents; +}; + /** * deserializeAws_ec2AssociateIpamResourceDiscoveryResult */ @@ -68669,6 +69372,37 @@ const de_BundleTaskList = (output: any, context: __SerdeContext): BundleTask[] = }); }; +/** + * deserializeAws_ec2Byoasn + */ +const de_Byoasn = (output: any, context: __SerdeContext): Byoasn => { + const contents: any = {}; + if (output["asn"] !== undefined) { + contents.Asn = __expectString(output["asn"]); + } + if (output["ipamId"] !== undefined) { + contents.IpamId = __expectString(output["ipamId"]); + } + if (output["statusMessage"] !== undefined) { + contents.StatusMessage = __expectString(output["statusMessage"]); + } + if (output["state"] !== undefined) { + contents.State = __expectString(output["state"]); + } + return contents; +}; + +/** + * deserializeAws_ec2ByoasnSet + */ +const de_ByoasnSet = (output: any, context: __SerdeContext): Byoasn[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_Byoasn(entry, context); + }); +}; + /** * deserializeAws_ec2ByoipCidr */ @@ -68680,6 +69414,14 @@ const de_ByoipCidr = (output: any, context: __SerdeContext): ByoipCidr => { if (output["description"] !== undefined) { contents.Description = __expectString(output["description"]); } + if (output.asnAssociationSet === "") { + contents.AsnAssociations = []; + } else if (output["asnAssociationSet"] !== undefined && output["asnAssociationSet"]["item"] !== undefined) { + contents.AsnAssociations = de_AsnAssociationSet( + __getArrayIfSingleItem(output["asnAssociationSet"]["item"]), + context + ); + } if (output["statusMessage"] !== undefined) { contents.StatusMessage = __expectString(output["statusMessage"]); } @@ -70045,6 +70787,80 @@ const de_ConnectionNotificationSet = (output: any, context: __SerdeContext): Con }); }; +/** + * deserializeAws_ec2ConnectionTrackingConfiguration + */ +const de_ConnectionTrackingConfiguration = (output: any, context: __SerdeContext): ConnectionTrackingConfiguration => { + const contents: any = {}; + if (output["tcpEstablishedTimeout"] !== undefined) { + contents.TcpEstablishedTimeout = __strictParseInt32(output["tcpEstablishedTimeout"]) as number; + } + if (output["udpStreamTimeout"] !== undefined) { + contents.UdpStreamTimeout = __strictParseInt32(output["udpStreamTimeout"]) as number; + } + if (output["udpTimeout"] !== undefined) { + contents.UdpTimeout = __strictParseInt32(output["udpTimeout"]) as number; + } + return contents; +}; + +/** + * deserializeAws_ec2ConnectionTrackingSpecification + */ +const de_ConnectionTrackingSpecification = (output: any, context: __SerdeContext): ConnectionTrackingSpecification => { + const contents: any = {}; + if (output["tcpEstablishedTimeout"] !== undefined) { + contents.TcpEstablishedTimeout = __strictParseInt32(output["tcpEstablishedTimeout"]) as number; + } + if (output["udpTimeout"] !== undefined) { + contents.UdpTimeout = __strictParseInt32(output["udpTimeout"]) as number; + } + if (output["udpStreamTimeout"] !== undefined) { + contents.UdpStreamTimeout = __strictParseInt32(output["udpStreamTimeout"]) as number; + } + return contents; +}; + +/** + * deserializeAws_ec2ConnectionTrackingSpecificationRequest + */ +const de_ConnectionTrackingSpecificationRequest = ( + output: any, + context: __SerdeContext +): ConnectionTrackingSpecificationRequest => { + const contents: any = {}; + if (output["TcpEstablishedTimeout"] !== undefined) { + contents.TcpEstablishedTimeout = __strictParseInt32(output["TcpEstablishedTimeout"]) as number; + } + if (output["UdpStreamTimeout"] !== undefined) { + contents.UdpStreamTimeout = __strictParseInt32(output["UdpStreamTimeout"]) as number; + } + if (output["UdpTimeout"] !== undefined) { + contents.UdpTimeout = __strictParseInt32(output["UdpTimeout"]) as number; + } + return contents; +}; + +/** + * deserializeAws_ec2ConnectionTrackingSpecificationResponse + */ +const de_ConnectionTrackingSpecificationResponse = ( + output: any, + context: __SerdeContext +): ConnectionTrackingSpecificationResponse => { + const contents: any = {}; + if (output["tcpEstablishedTimeout"] !== undefined) { + contents.TcpEstablishedTimeout = __strictParseInt32(output["tcpEstablishedTimeout"]) as number; + } + if (output["udpStreamTimeout"] !== undefined) { + contents.UdpStreamTimeout = __strictParseInt32(output["udpStreamTimeout"]) as number; + } + if (output["udpTimeout"] !== undefined) { + contents.UdpTimeout = __strictParseInt32(output["udpTimeout"]) as number; + } + return contents; +}; + /** * deserializeAws_ec2ConversionTask */ @@ -72411,6 +73227,17 @@ const de_DeprovisionedAddressSet = (output: any, context: __SerdeContext): strin }); }; +/** + * deserializeAws_ec2DeprovisionIpamByoasnResult + */ +const de_DeprovisionIpamByoasnResult = (output: any, context: __SerdeContext): DeprovisionIpamByoasnResult => { + const contents: any = {}; + if (output["byoasn"] !== undefined) { + contents.Byoasn = de_Byoasn(output["byoasn"], context); + } + return contents; +}; + /** * deserializeAws_ec2DeprovisionIpamPoolCidrResult */ @@ -73702,6 +74529,22 @@ const de_DescribeInternetGatewaysResult = (output: any, context: __SerdeContext) return contents; }; +/** + * deserializeAws_ec2DescribeIpamByoasnResult + */ +const de_DescribeIpamByoasnResult = (output: any, context: __SerdeContext): DescribeIpamByoasnResult => { + const contents: any = {}; + if (output.byoasnSet === "") { + contents.Byoasns = []; + } else if (output["byoasnSet"] !== undefined && output["byoasnSet"]["item"] !== undefined) { + contents.Byoasns = de_ByoasnSet(__getArrayIfSingleItem(output["byoasnSet"]["item"]), context); + } + if (output["nextToken"] !== undefined) { + contents.NextToken = __expectString(output["nextToken"]); + } + return contents; +}; + /** * deserializeAws_ec2DescribeIpamPoolsResult */ @@ -76226,6 +77069,17 @@ const de_DisassociateInstanceEventWindowResult = ( return contents; }; +/** + * deserializeAws_ec2DisassociateIpamByoasnResult + */ +const de_DisassociateIpamByoasnResult = (output: any, context: __SerdeContext): DisassociateIpamByoasnResult => { + const contents: any = {}; + if (output["asnAssociation"] !== undefined) { + contents.AsnAssociation = de_AsnAssociation(output["asnAssociation"], context); + } + return contents; +}; + /** * deserializeAws_ec2DisassociateIpamResourceDiscoveryResult */ @@ -78773,6 +79627,34 @@ const de_GetIpamDiscoveredAccountsResult = (output: any, context: __SerdeContext return contents; }; +/** + * deserializeAws_ec2GetIpamDiscoveredPublicAddressesResult + */ +const de_GetIpamDiscoveredPublicAddressesResult = ( + output: any, + context: __SerdeContext +): GetIpamDiscoveredPublicAddressesResult => { + const contents: any = {}; + if (output.ipamDiscoveredPublicAddressSet === "") { + contents.IpamDiscoveredPublicAddresses = []; + } else if ( + output["ipamDiscoveredPublicAddressSet"] !== undefined && + output["ipamDiscoveredPublicAddressSet"]["item"] !== undefined + ) { + contents.IpamDiscoveredPublicAddresses = de_IpamDiscoveredPublicAddressSet( + __getArrayIfSingleItem(output["ipamDiscoveredPublicAddressSet"]["item"]), + context + ); + } + if (output["oldestSampleTime"] !== undefined) { + contents.OldestSampleTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["oldestSampleTime"])); + } + if (output["nextToken"] !== undefined) { + contents.NextToken = __expectString(output["nextToken"]); + } + return contents; +}; + /** * deserializeAws_ec2GetIpamDiscoveredResourceCidrsResult */ @@ -81430,6 +82312,12 @@ const de_InstanceNetworkInterface = (output: any, context: __SerdeContext): Inst } else if (output["ipv6PrefixSet"] !== undefined && output["ipv6PrefixSet"]["item"] !== undefined) { contents.Ipv6Prefixes = de_InstanceIpv6PrefixList(__getArrayIfSingleItem(output["ipv6PrefixSet"]["item"]), context); } + if (output["connectionTrackingConfiguration"] !== undefined) { + contents.ConnectionTrackingConfiguration = de_ConnectionTrackingSpecificationResponse( + output["connectionTrackingConfiguration"], + context + ); + } return contents; }; @@ -81592,6 +82480,12 @@ const de_InstanceNetworkInterfaceSpecification = ( if (output["EnaSrdSpecification"] !== undefined) { contents.EnaSrdSpecification = de_EnaSrdSpecificationRequest(output["EnaSrdSpecification"], context); } + if (output["ConnectionTrackingSpecification"] !== undefined) { + contents.ConnectionTrackingSpecification = de_ConnectionTrackingSpecificationRequest( + output["ConnectionTrackingSpecification"], + context + ); + } return contents; }; @@ -82374,6 +83268,12 @@ const de_Ipam = (output: any, context: __SerdeContext): Ipam => { output["resourceDiscoveryAssociationCount"] ) as number; } + if (output["stateMessage"] !== undefined) { + contents.StateMessage = __expectString(output["stateMessage"]); + } + if (output["tier"] !== undefined) { + contents.Tier = __expectString(output["tier"]); + } return contents; }; @@ -82467,6 +83367,87 @@ const de_IpamDiscoveredAccountSet = (output: any, context: __SerdeContext): Ipam }); }; +/** + * deserializeAws_ec2IpamDiscoveredPublicAddress + */ +const de_IpamDiscoveredPublicAddress = (output: any, context: __SerdeContext): IpamDiscoveredPublicAddress => { + const contents: any = {}; + if (output["ipamResourceDiscoveryId"] !== undefined) { + contents.IpamResourceDiscoveryId = __expectString(output["ipamResourceDiscoveryId"]); + } + if (output["addressRegion"] !== undefined) { + contents.AddressRegion = __expectString(output["addressRegion"]); + } + if (output["address"] !== undefined) { + contents.Address = __expectString(output["address"]); + } + if (output["addressOwnerId"] !== undefined) { + contents.AddressOwnerId = __expectString(output["addressOwnerId"]); + } + if (output["addressAllocationId"] !== undefined) { + contents.AddressAllocationId = __expectString(output["addressAllocationId"]); + } + if (output["associationStatus"] !== undefined) { + contents.AssociationStatus = __expectString(output["associationStatus"]); + } + if (output["addressType"] !== undefined) { + contents.AddressType = __expectString(output["addressType"]); + } + if (output["service"] !== undefined) { + contents.Service = __expectString(output["service"]); + } + if (output["serviceResource"] !== undefined) { + contents.ServiceResource = __expectString(output["serviceResource"]); + } + if (output["vpcId"] !== undefined) { + contents.VpcId = __expectString(output["vpcId"]); + } + if (output["subnetId"] !== undefined) { + contents.SubnetId = __expectString(output["subnetId"]); + } + if (output["publicIpv4PoolId"] !== undefined) { + contents.PublicIpv4PoolId = __expectString(output["publicIpv4PoolId"]); + } + if (output["networkInterfaceId"] !== undefined) { + contents.NetworkInterfaceId = __expectString(output["networkInterfaceId"]); + } + if (output["networkInterfaceDescription"] !== undefined) { + contents.NetworkInterfaceDescription = __expectString(output["networkInterfaceDescription"]); + } + if (output["instanceId"] !== undefined) { + contents.InstanceId = __expectString(output["instanceId"]); + } + if (output["tags"] !== undefined) { + contents.Tags = de_IpamPublicAddressTags(output["tags"], context); + } + if (output["networkBorderGroup"] !== undefined) { + contents.NetworkBorderGroup = __expectString(output["networkBorderGroup"]); + } + if (output.securityGroupSet === "") { + contents.SecurityGroups = []; + } else if (output["securityGroupSet"] !== undefined && output["securityGroupSet"]["item"] !== undefined) { + contents.SecurityGroups = de_IpamPublicAddressSecurityGroupList( + __getArrayIfSingleItem(output["securityGroupSet"]["item"]), + context + ); + } + if (output["sampleTime"] !== undefined) { + contents.SampleTime = __expectNonNull(__parseRfc3339DateTimeWithOffset(output["sampleTime"])); + } + return contents; +}; + +/** + * deserializeAws_ec2IpamDiscoveredPublicAddressSet + */ +const de_IpamDiscoveredPublicAddressSet = (output: any, context: __SerdeContext): IpamDiscoveredPublicAddress[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_IpamDiscoveredPublicAddress(entry, context); + }); +}; + /** * deserializeAws_ec2IpamDiscoveredResourceCidr */ @@ -82638,6 +83619,9 @@ const de_IpamPool = (output: any, context: __SerdeContext): IpamPool => { if (output["publicIpSource"] !== undefined) { contents.PublicIpSource = __expectString(output["publicIpSource"]); } + if (output["sourceResource"] !== undefined) { + contents.SourceResource = de_IpamPoolSourceResource(output["sourceResource"], context); + } return contents; }; @@ -82740,6 +83724,92 @@ const de_IpamPoolSet = (output: any, context: __SerdeContext): IpamPool[] => { }); }; +/** + * deserializeAws_ec2IpamPoolSourceResource + */ +const de_IpamPoolSourceResource = (output: any, context: __SerdeContext): IpamPoolSourceResource => { + const contents: any = {}; + if (output["resourceId"] !== undefined) { + contents.ResourceId = __expectString(output["resourceId"]); + } + if (output["resourceType"] !== undefined) { + contents.ResourceType = __expectString(output["resourceType"]); + } + if (output["resourceRegion"] !== undefined) { + contents.ResourceRegion = __expectString(output["resourceRegion"]); + } + if (output["resourceOwner"] !== undefined) { + contents.ResourceOwner = __expectString(output["resourceOwner"]); + } + return contents; +}; + +/** + * deserializeAws_ec2IpamPublicAddressSecurityGroup + */ +const de_IpamPublicAddressSecurityGroup = (output: any, context: __SerdeContext): IpamPublicAddressSecurityGroup => { + const contents: any = {}; + if (output["groupName"] !== undefined) { + contents.GroupName = __expectString(output["groupName"]); + } + if (output["groupId"] !== undefined) { + contents.GroupId = __expectString(output["groupId"]); + } + return contents; +}; + +/** + * deserializeAws_ec2IpamPublicAddressSecurityGroupList + */ +const de_IpamPublicAddressSecurityGroupList = ( + output: any, + context: __SerdeContext +): IpamPublicAddressSecurityGroup[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_IpamPublicAddressSecurityGroup(entry, context); + }); +}; + +/** + * deserializeAws_ec2IpamPublicAddressTag + */ +const de_IpamPublicAddressTag = (output: any, context: __SerdeContext): IpamPublicAddressTag => { + const contents: any = {}; + if (output["key"] !== undefined) { + contents.Key = __expectString(output["key"]); + } + if (output["value"] !== undefined) { + contents.Value = __expectString(output["value"]); + } + return contents; +}; + +/** + * deserializeAws_ec2IpamPublicAddressTagList + */ +const de_IpamPublicAddressTagList = (output: any, context: __SerdeContext): IpamPublicAddressTag[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_IpamPublicAddressTag(entry, context); + }); +}; + +/** + * deserializeAws_ec2IpamPublicAddressTags + */ +const de_IpamPublicAddressTags = (output: any, context: __SerdeContext): IpamPublicAddressTags => { + const contents: any = {}; + if (output.eipTagSet === "") { + contents.EipTags = []; + } else if (output["eipTagSet"] !== undefined && output["eipTagSet"]["item"] !== undefined) { + contents.EipTags = de_IpamPublicAddressTagList(__getArrayIfSingleItem(output["eipTagSet"]["item"]), context); + } + return contents; +}; + /** * deserializeAws_ec2IpamResourceCidr */ @@ -83983,6 +85053,12 @@ const de_LaunchTemplateInstanceNetworkInterfaceSpecification = ( if (output["enaSrdSpecification"] !== undefined) { contents.EnaSrdSpecification = de_LaunchTemplateEnaSrdSpecification(output["enaSrdSpecification"], context); } + if (output["connectionTrackingSpecification"] !== undefined) { + contents.ConnectionTrackingSpecification = de_ConnectionTrackingSpecification( + output["connectionTrackingSpecification"], + context + ); + } return contents; }; @@ -86380,6 +87456,12 @@ const de_NetworkInterface = (output: any, context: __SerdeContext): NetworkInter if (output["availabilityZone"] !== undefined) { contents.AvailabilityZone = __expectString(output["availabilityZone"]); } + if (output["connectionTrackingConfiguration"] !== undefined) { + contents.ConnectionTrackingConfiguration = de_ConnectionTrackingConfiguration( + output["connectionTrackingConfiguration"], + context + ); + } if (output["description"] !== undefined) { contents.Description = __expectString(output["description"]); } @@ -87797,6 +88879,17 @@ const de_ProvisionedBandwidth = (output: any, context: __SerdeContext): Provisio return contents; }; +/** + * deserializeAws_ec2ProvisionIpamByoasnResult + */ +const de_ProvisionIpamByoasnResult = (output: any, context: __SerdeContext): ProvisionIpamByoasnResult => { + const contents: any = {}; + if (output["byoasn"] !== undefined) { + contents.Byoasn = de_Byoasn(output["byoasn"], context); + } + return contents; +}; + /** * deserializeAws_ec2ProvisionIpamPoolCidrResult */ diff --git a/codegen/sdk-codegen/aws-models/ec2.json b/codegen/sdk-codegen/aws-models/ec2.json index b21a7cc53e1cb..1ae6172b7a7fb 100644 --- a/codegen/sdk-codegen/aws-models/ec2.json +++ b/codegen/sdk-codegen/aws-models/ec2.json @@ -1449,6 +1449,12 @@ "smithy.api#required": {} } }, + "Asn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

            The public 2-byte or 4-byte ASN that you want to advertise.

            " + } + }, "DryRun": { "target": "com.amazonaws.ec2#Boolean", "traits": { @@ -1820,6 +1826,13 @@ "smithy.api#documentation": "

            A preview of the next available CIDR in a pool.

            " } }, + "AllowedCidrs": { + "target": "com.amazonaws.ec2#IpamPoolAllocationAllowedCidrs", + "traits": { + "smithy.api#documentation": "

            Include a particular CIDR range that can be returned by the pool. Allowed CIDRs are only allowed if using netmask length for allocation.

            ", + "smithy.api#xmlName": "AllowedCidr" + } + }, "DisallowedCidrs": { "target": "com.amazonaws.ec2#IpamPoolAllocationDisallowedCidrs", "traits": { @@ -2155,6 +2168,9 @@ { "target": "com.amazonaws.ec2#AssociateInstanceEventWindow" }, + { + "target": "com.amazonaws.ec2#AssociateIpamByoasn" + }, { "target": "com.amazonaws.ec2#AssociateIpamResourceDiscovery" }, @@ -2725,6 +2741,9 @@ { "target": "com.amazonaws.ec2#DeprovisionByoipCidr" }, + { + "target": "com.amazonaws.ec2#DeprovisionIpamByoasn" + }, { "target": "com.amazonaws.ec2#DeprovisionIpamPoolCidr" }, @@ -2911,6 +2930,9 @@ { "target": "com.amazonaws.ec2#DescribeInternetGateways" }, + { + "target": "com.amazonaws.ec2#DescribeIpamByoasn" + }, { "target": "com.amazonaws.ec2#DescribeIpamPools" }, @@ -3265,6 +3287,9 @@ { "target": "com.amazonaws.ec2#DisassociateInstanceEventWindow" }, + { + "target": "com.amazonaws.ec2#DisassociateIpamByoasn" + }, { "target": "com.amazonaws.ec2#DisassociateIpamResourceDiscovery" }, @@ -3409,6 +3434,9 @@ { "target": "com.amazonaws.ec2#GetIpamDiscoveredAccounts" }, + { + "target": "com.amazonaws.ec2#GetIpamDiscoveredPublicAddresses" + }, { "target": "com.amazonaws.ec2#GetIpamDiscoveredResourceCidrs" }, @@ -3724,6 +3752,9 @@ { "target": "com.amazonaws.ec2#ProvisionByoipCidr" }, + { + "target": "com.amazonaws.ec2#ProvisionIpamByoasn" + }, { "target": "com.amazonaws.ec2#ProvisionIpamPoolCidr" }, @@ -5633,6 +5664,161 @@ } } }, + "com.amazonaws.ec2#AsnAssociation": { + "type": "structure", + "members": { + "Asn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Asn", + "smithy.api#documentation": "

            The association's ASN.

            ", + "smithy.api#xmlName": "asn" + } + }, + "Cidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Cidr", + "smithy.api#documentation": "

            The association's CIDR.

            ", + "smithy.api#xmlName": "cidr" + } + }, + "StatusMessage": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "StatusMessage", + "smithy.api#documentation": "

            The association's status message.

            ", + "smithy.api#xmlName": "statusMessage" + } + }, + "State": { + "target": "com.amazonaws.ec2#AsnAssociationState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

            The association's state.

            ", + "smithy.api#xmlName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "

            An Autonomous System Number (ASN) and BYOIP CIDR association.

            " + } + }, + "com.amazonaws.ec2#AsnAssociationSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#AsnAssociation", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#AsnAssociationState": { + "type": "enum", + "members": { + "disassociated": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disassociated" + } + }, + "failed_disassociation": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failed-disassociation" + } + }, + "failed_association": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failed-association" + } + }, + "pending_disassociation": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "pending-disassociation" + } + }, + "pending_association": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "pending-association" + } + }, + "associated": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "associated" + } + } + } + }, + "com.amazonaws.ec2#AsnAuthorizationContext": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

            The authorization context's message.

            ", + "smithy.api#required": {} + } + }, + "Signature": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

            The authorization context's signature.

            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

            Provides authorization for Amazon to bring an Autonomous System Number (ASN) to a specific Amazon Web Services account using bring your own ASN (BYOASN). \n For details on the format of the message and signature, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

            " + } + }, + "com.amazonaws.ec2#AsnState": { + "type": "enum", + "members": { + "deprovisioned": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "deprovisioned" + } + }, + "failed_deprovision": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failed-deprovision" + } + }, + "failed_provision": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failed-provision" + } + }, + "pending_deprovision": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "pending-deprovision" + } + }, + "pending_provision": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "pending-provision" + } + }, + "provisioned": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "provisioned" + } + } + } + }, "com.amazonaws.ec2#AssetId": { "type": "string" }, @@ -6372,6 +6558,64 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#AssociateIpamByoasn": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#AssociateIpamByoasnRequest" + }, + "output": { + "target": "com.amazonaws.ec2#AssociateIpamByoasnResult" + }, + "traits": { + "smithy.api#documentation": "

            Associates your Autonomous System Number (ASN) with a BYOIP CIDR that you own in the same Amazon Web Services Region. \n For more information, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

            \n

            After the association succeeds, the ASN is eligible for \n advertisement. You can view the association with DescribeByoipCidrs. You can advertise the CIDR with AdvertiseByoipCidr.

            " + } + }, + "com.amazonaws.ec2#AssociateIpamByoasnRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

            Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

            " + } + }, + "Asn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

            A public 2-byte or 4-byte ASN.

            ", + "smithy.api#required": {} + } + }, + "Cidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

            The BYOIP CIDR you want to associate with an ASN.

            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#AssociateIpamByoasnResult": { + "type": "structure", + "members": { + "AsnAssociation": { + "target": "com.amazonaws.ec2#AsnAssociation", + "traits": { + "aws.protocols#ec2QueryName": "AsnAssociation", + "smithy.api#documentation": "

            The ASN and BYOIP CIDR association.

            ", + "smithy.api#xmlName": "asnAssociation" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#AssociateIpamResourceDiscovery": { "type": "operation", "input": { @@ -6616,7 +6860,7 @@ "target": "com.amazonaws.ec2#AssociateSubnetCidrBlockResult" }, "traits": { - "smithy.api#documentation": "

            Associates a CIDR block with your subnet. You can only associate a single IPv6 CIDR\n block with your subnet. An IPv6 CIDR block must have a prefix length of /64.

            " + "smithy.api#documentation": "

            Associates a CIDR block with your subnet. You can only associate a single IPv6 CIDR\n block with your subnet.

            " } }, "com.amazonaws.ec2#AssociateSubnetCidrBlockRequest": { @@ -6626,9 +6870,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "Ipv6CidrBlock", - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

            The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix\n length.

            ", - "smithy.api#required": {}, + "smithy.api#documentation": "

            The IPv6 CIDR block for your subnet.

            ", "smithy.api#xmlName": "ipv6CidrBlock" } }, @@ -6641,6 +6883,18 @@ "smithy.api#required": {}, "smithy.api#xmlName": "subnetId" } + }, + "Ipv6IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", + "traits": { + "smithy.api#documentation": "

            An IPv6 IPAM pool ID.

            " + } + }, + "Ipv6NetmaskLength": { + "target": "com.amazonaws.ec2#NetmaskLength", + "traits": { + "smithy.api#documentation": "

            An IPv6 netmask length.

            " + } } }, "traits": { @@ -6862,7 +7116,7 @@ "target": "com.amazonaws.ec2#AssociateTrunkInterfaceResult" }, "traits": { - "smithy.api#documentation": "\n

            This API action is currently in limited preview only. \n If you are interested in using this feature, contact your account manager.

            \n
            \n

            Associates a branch network interface with a trunk network interface.

            \n

            Before you create the association, run the create-network-interface command and set\n --interface-type to trunk. You must also create a network interface for each branch network interface that you want to associate with the trunk network interface.

            " + "smithy.api#documentation": "

            Associates a branch network interface with a trunk network interface.

            \n

            Before you create the association, run the create-network-interface command and set\n --interface-type to trunk. You must also create a network interface for each branch network interface that you want to associate with the trunk network interface.

            " } }, "com.amazonaws.ec2#AssociateTrunkInterfaceRequest": { @@ -6947,7 +7201,7 @@ "target": "com.amazonaws.ec2#AssociateVpcCidrBlockResult" }, "traits": { - "smithy.api#documentation": "

            Associates a CIDR block with your VPC. You can associate a secondary IPv4 CIDR block,\n an Amazon-provided IPv6 CIDR block, or an IPv6 CIDR block from an IPv6 address pool that\n you provisioned through bring your own IP addresses (BYOIP). The IPv6 CIDR block size is fixed\n at /56.

            \n

            You must specify one of the following in the request: an IPv4 CIDR block, an IPv6\n pool, or an Amazon-provided IPv6 CIDR block.

            \n

            For more information about associating CIDR blocks with your VPC and applicable\n restrictions, see IP addressing for your VPCs and subnets \n in the Amazon VPC User Guide.

            " + "smithy.api#documentation": "

            Associates a CIDR block with your VPC. You can associate a secondary IPv4 CIDR block,\n an Amazon-provided IPv6 CIDR block, or an IPv6 CIDR block from an IPv6 address pool that\n you provisioned through bring your own IP addresses (BYOIP).

            \n

            You must specify one of the following in the request: an IPv4 CIDR block, an IPv6\n pool, or an Amazon-provided IPv6 CIDR block.

            \n

            For more information about associating CIDR blocks with your VPC and applicable\n restrictions, see IP addressing for your VPCs and subnets \n in the Amazon VPC User Guide.

            " } }, "com.amazonaws.ec2#AssociateVpcCidrBlockRequest": { @@ -6957,7 +7211,7 @@ "target": "com.amazonaws.ec2#Boolean", "traits": { "aws.protocols#ec2QueryName": "AmazonProvidedIpv6CidrBlock", - "smithy.api#documentation": "

            Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IPv6 addresses, or the size of the CIDR block.

            ", + "smithy.api#documentation": "

            Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You\n cannot specify the range of IPv6 addresses or the size of the CIDR block.

            ", "smithy.api#xmlName": "amazonProvidedIpv6CidrBlock" } }, @@ -7735,7 +7989,7 @@ } }, "traits": { - "smithy.api#documentation": "

            ENA Express uses Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the \n\t\t\tmaximum bandwidth used per stream and minimize tail latency of network traffic between EC2 instances. \n\t\t\tWith ENA Express, you can communicate between two EC2 instances in the same subnet within the same \n\t\t\taccount, or in different accounts. Both sending and receiving instances must have ENA Express enabled.

            \n

            To improve the reliability of network packet delivery, ENA Express reorders network packets on the \n\t\t\treceiving end by default. However, some UDP-based applications are designed to handle network packets \n\t\t\tthat are out of order to reduce the overhead for packet delivery at the network layer. When ENA Express \n\t\t\tis enabled, you can specify whether UDP network traffic uses it.

            " + "smithy.api#documentation": "

            ENA Express uses Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the\n\t\t\tmaximum bandwidth used per stream and minimize tail latency of network traffic between EC2 instances.\n\t\t\tWith ENA Express, you can communicate between two EC2 instances in the same subnet within the same\n\t\t\taccount, or in different accounts. Both sending and receiving instances must have ENA Express enabled.

            \n

            To improve the reliability of network packet delivery, ENA Express reorders network packets on the\n\t\t\treceiving end by default. However, some UDP-based applications are designed to handle network packets\n\t\t\tthat are out of order to reduce the overhead for packet delivery at the network layer. When ENA Express\n\t\t\tis enabled, you can specify whether UDP network traffic uses it.

            " } }, "com.amazonaws.ec2#AttachmentEnaSrdUdpSpecification": { @@ -7745,13 +7999,13 @@ "target": "com.amazonaws.ec2#Boolean", "traits": { "aws.protocols#ec2QueryName": "EnaSrdUdpEnabled", - "smithy.api#documentation": "

            Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, \n\t\t\tyou must first enable ENA Express.

            ", + "smithy.api#documentation": "

            Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting,\n\t\t\tyou must first enable ENA Express.

            ", "smithy.api#xmlName": "enaSrdUdpEnabled" } } }, "traits": { - "smithy.api#documentation": "

            ENA Express is compatible with both TCP and UDP transport protocols. When it's enabled, TCP traffic \n\t\t\tautomatically uses it. However, some UDP-based applications are designed to handle network packets that are \n\t\t\tout of order, without a need for retransmission, such as live video broadcasting or other near-real-time \n\t\t\tapplications. For UDP traffic, you can specify whether to use ENA Express, based on your application \n\t\t\tenvironment needs.

            " + "smithy.api#documentation": "

            ENA Express is compatible with both TCP and UDP transport protocols. When it's enabled, TCP traffic\n\t\t\tautomatically uses it. However, some UDP-based applications are designed to handle network packets that are\n\t\t\tout of order, without a need for retransmission, such as live video broadcasting or other near-real-time\n\t\t\tapplications. For UDP traffic, you can specify whether to use ENA Express, based on your application\n\t\t\tenvironment needs.

            " } }, "com.amazonaws.ec2#AttachmentStatus": { @@ -9065,6 +9319,55 @@ "com.amazonaws.ec2#BurstablePerformanceFlag": { "type": "boolean" }, + "com.amazonaws.ec2#Byoasn": { + "type": "structure", + "members": { + "Asn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Asn", + "smithy.api#documentation": "

            A public 2-byte or 4-byte ASN.

            ", + "smithy.api#xmlName": "asn" + } + }, + "IpamId": { + "target": "com.amazonaws.ec2#IpamId", + "traits": { + "aws.protocols#ec2QueryName": "IpamId", + "smithy.api#documentation": "

            An IPAM ID.

            ", + "smithy.api#xmlName": "ipamId" + } + }, + "StatusMessage": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "StatusMessage", + "smithy.api#documentation": "

            The status message.

            ", + "smithy.api#xmlName": "statusMessage" + } + }, + "State": { + "target": "com.amazonaws.ec2#AsnState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

            The provisioning state of the BYOASN.

            ", + "smithy.api#xmlName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "

            The Autonomous System Number (ASN) and BYOIP CIDR association.

            " + } + }, + "com.amazonaws.ec2#ByoasnSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Byoasn", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#ByoipCidr": { "type": "structure", "members": { @@ -9084,6 +9387,14 @@ "smithy.api#xmlName": "description" } }, + "AsnAssociations": { + "target": "com.amazonaws.ec2#AsnAssociationSet", + "traits": { + "aws.protocols#ec2QueryName": "AsnAssociationSet", + "smithy.api#documentation": "

            The BYOIP CIDR associations with ASNs.

            ", + "smithy.api#xmlName": "asnAssociationSet" + } + }, "StatusMessage": { "target": "com.amazonaws.ec2#String", "traits": { @@ -12660,6 +12971,128 @@ } } }, + "com.amazonaws.ec2#ConnectionTrackingConfiguration": { + "type": "structure", + "members": { + "TcpEstablishedTimeout": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "TcpEstablishedTimeout", + "smithy.api#documentation": "

            Timeout (in seconds) for idle TCP\n\t\t\t\t\t\tconnections in an established state. Min: 60 seconds. Max: 432000 seconds (5\n\t\t\t\t\t\tdays). Default: 432000 seconds. Recommended: Less than 432000 seconds.

            ", + "smithy.api#xmlName": "tcpEstablishedTimeout" + } + }, + "UdpStreamTimeout": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "UdpStreamTimeout", + "smithy.api#documentation": "

            Timeout (in seconds) for idle UDP\n\t\t\t\t\t\tflows classified as streams which have seen more than one request-response\n\t\t\t\t\t\ttransaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180\n\t\t\t\t\t\tseconds.

            ", + "smithy.api#xmlName": "udpStreamTimeout" + } + }, + "UdpTimeout": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "UdpTimeout", + "smithy.api#documentation": "

            Timeout (in seconds) for idle UDP flows that\n\t\t\t\t\t\thave seen traffic only in a single direction or a single request-response\n\t\t\t\t\t\ttransaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.

            ", + "smithy.api#xmlName": "udpTimeout" + } + } + }, + "traits": { + "smithy.api#documentation": "

            A security group connection tracking configuration that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

            " + } + }, + "com.amazonaws.ec2#ConnectionTrackingSpecification": { + "type": "structure", + "members": { + "TcpEstablishedTimeout": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "TcpEstablishedTimeout", + "smithy.api#documentation": "

            Timeout (in seconds) for idle TCP\n\t\t\t\t\t\tconnections in an established state. Min: 60 seconds. Max: 432000 seconds (5\n\t\t\t\t\t\tdays). Default: 432000 seconds. Recommended: Less than 432000 seconds.

            ", + "smithy.api#xmlName": "tcpEstablishedTimeout" + } + }, + "UdpTimeout": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "UdpTimeout", + "smithy.api#documentation": "

            Timeout (in seconds) for idle UDP flows that\n\t\t\t\t\t\thave seen traffic only in a single direction or a single request-response\n\t\t\t\t\t\ttransaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.

            ", + "smithy.api#xmlName": "udpTimeout" + } + }, + "UdpStreamTimeout": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "UdpStreamTimeout", + "smithy.api#documentation": "

            Timeout (in seconds) for idle UDP\n\t\t\t\t\t\tflows classified as streams which have seen more than one request-response\n\t\t\t\t\t\ttransaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180\n\t\t\t\t\t\tseconds.

            ", + "smithy.api#xmlName": "udpStreamTimeout" + } + } + }, + "traits": { + "smithy.api#documentation": "

            A security group connection tracking specification that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

            " + } + }, + "com.amazonaws.ec2#ConnectionTrackingSpecificationRequest": { + "type": "structure", + "members": { + "TcpEstablishedTimeout": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

            Timeout (in seconds) for idle TCP\n\t\t\t\t\t\tconnections in an established state. Min: 60 seconds. Max: 432000 seconds (5\n\t\t\t\t\t\tdays). Default: 432000 seconds. Recommended: Less than 432000 seconds.

            " + } + }, + "UdpStreamTimeout": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

            Timeout (in seconds) for idle UDP\n\t\t\t\t\t\tflows classified as streams which have seen more than one request-response\n\t\t\t\t\t\ttransaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180\n\t\t\t\t\t\tseconds.

            " + } + }, + "UdpTimeout": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

            Timeout (in seconds) for idle UDP flows that\n\t\t\t\t\t\thave seen traffic only in a single direction or a single request-response\n\t\t\t\t\t\ttransaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.

            " + } + } + }, + "traits": { + "smithy.api#documentation": "

            A security group connection tracking specification request that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

            " + } + }, + "com.amazonaws.ec2#ConnectionTrackingSpecificationResponse": { + "type": "structure", + "members": { + "TcpEstablishedTimeout": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "TcpEstablishedTimeout", + "smithy.api#documentation": "

            Timeout (in seconds) for idle TCP\n\t\t\t\t\t\tconnections in an established state. Min: 60 seconds. Max: 432000 seconds (5\n\t\t\t\t\t\tdays). Default: 432000 seconds. Recommended: Less than 432000 seconds.

            ", + "smithy.api#xmlName": "tcpEstablishedTimeout" + } + }, + "UdpStreamTimeout": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "UdpStreamTimeout", + "smithy.api#documentation": "

            Timeout (in seconds) for idle UDP\n\t\t\t\t\t\tflows classified as streams which have seen more than one request-response\n\t\t\t\t\t\ttransaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180\n\t\t\t\t\t\tseconds.

            ", + "smithy.api#xmlName": "udpStreamTimeout" + } + }, + "UdpTimeout": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "UdpTimeout", + "smithy.api#documentation": "

            Timeout (in seconds) for idle UDP flows that\n\t\t\t\t\t\thave seen traffic only in a single direction or a single request-response\n\t\t\t\t\t\ttransaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.

            ", + "smithy.api#xmlName": "udpTimeout" + } + } + }, + "traits": { + "smithy.api#documentation": "

            A security group connection tracking specification response that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

            " + } + }, "com.amazonaws.ec2#ConnectivityType": { "type": "enum", "members": { @@ -15380,6 +15813,12 @@ "traits": { "smithy.api#documentation": "

            The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the public scope. Default is byoip. For more information, see Create IPv6 pools in the Amazon VPC IPAM User Guide. \n By default, you can add only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool if PublicIpSource is amazon. For information on increasing the default limit, see Quotas for your IPAM in the Amazon VPC IPAM User Guide.

            " } + }, + "SourceResource": { + "target": "com.amazonaws.ec2#IpamPoolSourceResourceRequest", + "traits": { + "smithy.api#documentation": "

            The resource used to provision CIDRs to a resource planning pool.

            " + } } }, "traits": { @@ -15437,6 +15876,12 @@ "smithy.api#documentation": "

            A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

            ", "smithy.api#idempotencyToken": {} } + }, + "Tier": { + "target": "com.amazonaws.ec2#IpamTier", + "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.

            " + } } }, "traits": { @@ -17036,6 +17481,12 @@ "traits": { "smithy.api#documentation": "

            If you’re creating a network interface in a dual-stack or IPv6-only subnet, you have\n the option to assign a primary IPv6 IP address. A primary IPv6 address is an IPv6 GUA\n address associated with an ENI that you have enabled to use a primary IPv6 address. Use this option if the instance that\n this ENI will be attached to relies on its IPv6 address not changing. Amazon Web Services\n will automatically assign an IPv6 address associated with the ENI attached to your\n instance to be the primary IPv6 address. Once you enable an IPv6 GUA address to be a\n primary IPv6, you cannot disable it. When you enable an IPv6 GUA address to be a primary\n IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is\n terminated or the network interface is detached. If you have multiple IPv6 addresses\n associated with an ENI attached to your instance and you enable a primary IPv6 address,\n the first IPv6 GUA address associated with the ENI becomes the primary IPv6\n address.

            " } + }, + "ConnectionTrackingSpecification": { + "target": "com.amazonaws.ec2#ConnectionTrackingSpecificationRequest", + "traits": { + "smithy.api#documentation": "

            A connection tracking specification for the network interface.

            " + } } }, "traits": { @@ -18089,7 +18540,7 @@ "target": "com.amazonaws.ec2#CreateSubnetResult" }, "traits": { - "smithy.api#documentation": "

            Creates a subnet in the specified VPC. For an IPv4 only subnet, specify an IPv4 CIDR block.\n If the VPC has an IPv6 CIDR block, you can create an IPv6 only subnet or a dual stack subnet instead.\n For an IPv6 only subnet, specify an IPv6 CIDR block. For a dual stack subnet, specify both\n an IPv4 CIDR block and an IPv6 CIDR block.

            \n

            A subnet CIDR block must not overlap the CIDR block of an existing subnet in the VPC.\n After you create a subnet, you can't change its CIDR block.

            \n

            The allowed size for an IPv4 subnet is between a /28 netmask (16 IP addresses) and \n a /16 netmask (65,536 IP addresses). Amazon Web Services reserves both the first four and \n the last IPv4 address in each subnet's CIDR block. They're not available for your use.

            \n

            If you've associated an IPv6 CIDR block with your VPC, you can associate an IPv6 CIDR block \n with a subnet when you create it. The allowed block size for an IPv6 subnet is a /64 netmask.

            \n

            If you add more than one subnet to a VPC, they're set up in a star topology with a\n logical router in the middle.

            \n

            When you stop an instance in a subnet, it retains its private IPv4 address. It's\n therefore possible to have a subnet with no running instances (they're all stopped), but\n no remaining IP addresses available.

            \n

            For more information, see Subnets in the Amazon VPC User Guide.

            ", + "smithy.api#documentation": "

            Creates a subnet in the specified VPC. For an IPv4 only subnet, specify an IPv4 CIDR block.\n If the VPC has an IPv6 CIDR block, you can create an IPv6 only subnet or a dual stack subnet instead.\n For an IPv6 only subnet, specify an IPv6 CIDR block. For a dual stack subnet, specify both\n an IPv4 CIDR block and an IPv6 CIDR block.

            \n

            A subnet CIDR block must not overlap the CIDR block of an existing subnet in the VPC.\n After you create a subnet, you can't change its CIDR block.

            \n

            The allowed size for an IPv4 subnet is between a /28 netmask (16 IP addresses) and \n a /16 netmask (65,536 IP addresses). Amazon Web Services reserves both the first four and \n the last IPv4 address in each subnet's CIDR block. They're not available for your use.

            \n

            If you've associated an IPv6 CIDR block with your VPC, you can associate an IPv6 CIDR\n block with a subnet when you create it.

            \n

            If you add more than one subnet to a VPC, they're set up in a star topology with a\n logical router in the middle.

            \n

            When you stop an instance in a subnet, it retains its private IPv4 address. It's\n therefore possible to have a subnet with no running instances (they're all stopped), but\n no remaining IP addresses available.

            \n

            For more information, see Subnets in the Amazon VPC User Guide.

            ", "smithy.api#examples": [ { "title": "To create a subnet", @@ -18222,7 +18673,7 @@ "Ipv6CidrBlock": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

            The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a\n /64 prefix length.

            \n

            This parameter is required for an IPv6 only subnet.

            " + "smithy.api#documentation": "

            The IPv6 network range for the subnet, in CIDR notation. This parameter is required\n for an IPv6 only subnet.

            " } }, "OutpostArn": { @@ -18252,6 +18703,30 @@ "traits": { "smithy.api#documentation": "

            Indicates whether to create an IPv6 only subnet.

            " } + }, + "Ipv4IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", + "traits": { + "smithy.api#documentation": "

            An IPv4 IPAM pool ID for the subnet.

            " + } + }, + "Ipv4NetmaskLength": { + "target": "com.amazonaws.ec2#NetmaskLength", + "traits": { + "smithy.api#documentation": "

            An IPv4 netmask length for the subnet.

            " + } + }, + "Ipv6IpamPoolId": { + "target": "com.amazonaws.ec2#IpamPoolId", + "traits": { + "smithy.api#documentation": "

            An IPv6 IPAM pool ID for the subnet.

            " + } + }, + "Ipv6NetmaskLength": { + "target": "com.amazonaws.ec2#NetmaskLength", + "traits": { + "smithy.api#documentation": "

            An IPv6 netmask length for the subnet.

            " + } } }, "traits": { @@ -20301,7 +20776,7 @@ "target": "com.amazonaws.ec2#CreateVpcResult" }, "traits": { - "smithy.api#documentation": "

            Creates a VPC with the specified CIDR blocks. For more information, see IP addressing for your VPCs and subnets in the \n Amazon VPC User Guide.

            \n

            You can optionally request an IPv6 CIDR block for the VPC. You can request an Amazon-provided \n IPv6 CIDR block from Amazon's pool of IPv6 addresses, or an IPv6 CIDR block from an IPv6 address \n pool that you provisioned through bring your own IP addresses (BYOIP).

            \n

            By default, each instance that you launch in the VPC has the default DHCP options, which\n\t\t\tinclude only a default DNS server that we provide (AmazonProvidedDNS). For more\n\t\t\tinformation, see DHCP option sets in the Amazon VPC User Guide.

            \n

            You can specify the instance tenancy value for the VPC when you create it. You can't change\n this value for the VPC after you create it. For more information, see Dedicated Instances in the\n Amazon EC2 User Guide.

            ", + "smithy.api#documentation": "

            Creates a VPC with the specified CIDR blocks. For more information, see IP addressing for your VPCs and subnets in the \n Amazon VPC User Guide.

            \n

            You can optionally request an IPv6 CIDR block for the VPC. You can request an\n Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses or an IPv6 CIDR\n block from an IPv6 address pool that you provisioned through bring your own IP addresses\n (BYOIP).

            \n

            By default, each instance that you launch in the VPC has the default DHCP options, which\n\t\t\tinclude only a default DNS server that we provide (AmazonProvidedDNS). For more\n\t\t\tinformation, see DHCP option sets in the Amazon VPC User Guide.

            \n

            You can specify the instance tenancy value for the VPC when you create it. You can't change\n this value for the VPC after you create it. For more information, see Dedicated Instances in the\n Amazon EC2 User Guide.

            ", "smithy.api#examples": [ { "title": "To create a VPC", @@ -22304,6 +22779,12 @@ "smithy.api#documentation": "

            The ID of the pool to delete.

            ", "smithy.api#required": {} } + }, + "Cascade": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

            Enables you to quickly delete an IPAM pool and all resources within that pool, including\n provisioned CIDRs, allocations, and other pools.

            \n \n

            You can only use this option to delete pools in the private scope or pools in the public scope with a source resource. A source resource is a resource used to provision CIDRs to a resource planning pool.

            \n
            " + } } }, "traits": { @@ -25620,6 +26101,64 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#DeprovisionIpamByoasn": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeprovisionIpamByoasnRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeprovisionIpamByoasnResult" + }, + "traits": { + "smithy.api#documentation": "

            Deprovisions your Autonomous System Number (ASN) from your Amazon Web Services account. This action can only be called after any BYOIP CIDR associations are removed from your Amazon Web Services account with DisassociateIpamByoasn.\n For more information, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

            " + } + }, + "com.amazonaws.ec2#DeprovisionIpamByoasnRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

            Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

            " + } + }, + "IpamId": { + "target": "com.amazonaws.ec2#IpamId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

            The IPAM ID.

            ", + "smithy.api#required": {} + } + }, + "Asn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

            An ASN.

            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeprovisionIpamByoasnResult": { + "type": "structure", + "members": { + "Byoasn": { + "target": "com.amazonaws.ec2#Byoasn", + "traits": { + "aws.protocols#ec2QueryName": "Byoasn", + "smithy.api#documentation": "

            An ASN and BYOIP CIDR association.

            ", + "smithy.api#xmlName": "byoasn" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#DeprovisionIpamPoolCidr": { "type": "operation", "input": { @@ -31538,6 +32077,77 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#DescribeIpamByoasn": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeIpamByoasnRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeIpamByoasnResult" + }, + "traits": { + "smithy.api#documentation": "

            Describes your Autonomous System Numbers (ASNs), their provisioning statuses, and the BYOIP CIDRs with which they are associated. For more information, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

            " + } + }, + "com.amazonaws.ec2#DescribeIpamByoasnMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.ec2#DescribeIpamByoasnRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

            Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

            " + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeIpamByoasnMaxResults", + "traits": { + "smithy.api#documentation": "

            The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

            " + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

            The token for the next page of results.

            " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeIpamByoasnResult": { + "type": "structure", + "members": { + "Byoasns": { + "target": "com.amazonaws.ec2#ByoasnSet", + "traits": { + "aws.protocols#ec2QueryName": "ByoasnSet", + "smithy.api#documentation": "

            ASN and BYOIP CIDR associations.

            ", + "smithy.api#xmlName": "byoasnSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

            ", + "smithy.api#xmlName": "nextToken" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#DescribeIpamPools": { "type": "operation", "input": { @@ -38491,7 +39101,7 @@ "target": "com.amazonaws.ec2#DescribeTrunkInterfaceAssociationsResult" }, "traits": { - "smithy.api#documentation": "\n

            This API action is currently in limited preview only. \n If you are interested in using this feature, contact your account manager.

            \n
            \n

            Describes one or more network interface trunk associations.

            ", + "smithy.api#documentation": "

            Describes one or more network interface trunk associations.

            ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -42697,6 +43307,64 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#DisassociateIpamByoasn": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DisassociateIpamByoasnRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DisassociateIpamByoasnResult" + }, + "traits": { + "smithy.api#documentation": "

            Remove the association between your Autonomous System Number (ASN) and your BYOIP CIDR. You may want to use this action to disassociate an ASN from a CIDR or if you want to swap ASNs. \n For more information, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

            " + } + }, + "com.amazonaws.ec2#DisassociateIpamByoasnRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

            Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

            " + } + }, + "Asn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

            A public 2-byte or 4-byte ASN.

            ", + "smithy.api#required": {} + } + }, + "Cidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

            A BYOIP CIDR.

            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DisassociateIpamByoasnResult": { + "type": "structure", + "members": { + "AsnAssociation": { + "target": "com.amazonaws.ec2#AsnAssociation", + "traits": { + "aws.protocols#ec2QueryName": "AsnAssociation", + "smithy.api#documentation": "

            An ASN and BYOIP CIDR association.

            ", + "smithy.api#xmlName": "asnAssociation" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#DisassociateIpamResourceDiscovery": { "type": "operation", "input": { @@ -43112,7 +43780,7 @@ "target": "com.amazonaws.ec2#DisassociateTrunkInterfaceResult" }, "traits": { - "smithy.api#documentation": "\n

            This API action is currently in limited preview only. \n If you are interested in using this feature, contact your account manager.

            \n
            \n

            Removes an association between a branch network interface with a trunk network interface.

            " + "smithy.api#documentation": "

            Removes an association between a branch network interface with a trunk network interface.

            " } }, "com.amazonaws.ec2#DisassociateTrunkInterfaceRequest": { @@ -44573,7 +45241,7 @@ } }, "traits": { - "smithy.api#documentation": "

            ENA Express uses Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the \n\t\t\tmaximum bandwidth used per stream and minimize tail latency of network traffic between EC2 instances. \n\t\t\tWith ENA Express, you can communicate between two EC2 instances in the same subnet within the same \n\t\t\taccount, or in different accounts. Both sending and receiving instances must have ENA Express enabled.

            \n

            To improve the reliability of network packet delivery, ENA Express reorders network packets on the \n\t\t\treceiving end by default. However, some UDP-based applications are designed to handle network packets \n\t\t\tthat are out of order to reduce the overhead for packet delivery at the network layer. When ENA Express \n\t\t\tis enabled, you can specify whether UDP network traffic uses it.

            " + "smithy.api#documentation": "

            ENA Express uses Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the\n\t\t\tmaximum bandwidth used per stream and minimize tail latency of network traffic between EC2 instances.\n\t\t\tWith ENA Express, you can communicate between two EC2 instances in the same subnet within the same\n\t\t\taccount, or in different accounts. Both sending and receiving instances must have ENA Express enabled.

            \n

            To improve the reliability of network packet delivery, ENA Express reorders network packets on the\n\t\t\treceiving end by default. However, some UDP-based applications are designed to handle network packets\n\t\t\tthat are out of order to reduce the overhead for packet delivery at the network layer. When ENA Express\n\t\t\tis enabled, you can specify whether UDP network traffic uses it.

            " } }, "com.amazonaws.ec2#EnaSrdSpecificationRequest": { @@ -44605,12 +45273,12 @@ "EnaSrdUdpEnabled": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

            Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, \n\t\t\tyou must first enable ENA Express.

            " + "smithy.api#documentation": "

            Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting,\n\t\t\tyou must first enable ENA Express.

            " } } }, "traits": { - "smithy.api#documentation": "

            ENA Express is compatible with both TCP and UDP transport protocols. When it's enabled, TCP traffic \n\t\t\tautomatically uses it. However, some UDP-based applications are designed to handle network packets that are \n\t\t\tout of order, without a need for retransmission, such as live video broadcasting or other near-real-time \n\t\t\tapplications. For UDP traffic, you can specify whether to use ENA Express, based on your application \n\t\t\tenvironment needs.

            " + "smithy.api#documentation": "

            ENA Express is compatible with both TCP and UDP transport protocols. When it's enabled, TCP traffic\n\t\t\tautomatically uses it. However, some UDP-based applications are designed to handle network packets that are\n\t\t\tout of order, without a need for retransmission, such as live video broadcasting or other near-real-time\n\t\t\tapplications. For UDP traffic, you can specify whether to use ENA Express, based on your application\n\t\t\tenvironment needs.

            " } }, "com.amazonaws.ec2#EnaSrdUdpSpecificationRequest": { @@ -50554,6 +51222,99 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#GetIpamDiscoveredPublicAddresses": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetIpamDiscoveredPublicAddressesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetIpamDiscoveredPublicAddressesResult" + }, + "traits": { + "smithy.api#documentation": "

            Gets the public IP addresses that have been discovered by IPAM.

            " + } + }, + "com.amazonaws.ec2#GetIpamDiscoveredPublicAddressesRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

            A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

            " + } + }, + "IpamResourceDiscoveryId": { + "target": "com.amazonaws.ec2#IpamResourceDiscoveryId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

            An IPAM resource discovery ID.

            ", + "smithy.api#required": {} + } + }, + "AddressRegion": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

            The Amazon Web Services Region for the IP address.

            ", + "smithy.api#required": {} + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

            Filters.

            ", + "smithy.api#xmlName": "Filter" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

            The token for the next page of results.

            " + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#IpamMaxResults", + "traits": { + "smithy.api#documentation": "

            The maximum number of IPAM discovered public addresses to return in one page of results.

            " + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#GetIpamDiscoveredPublicAddressesResult": { + "type": "structure", + "members": { + "IpamDiscoveredPublicAddresses": { + "target": "com.amazonaws.ec2#IpamDiscoveredPublicAddressSet", + "traits": { + "aws.protocols#ec2QueryName": "IpamDiscoveredPublicAddressSet", + "smithy.api#documentation": "

            IPAM discovered public addresses.

            ", + "smithy.api#xmlName": "ipamDiscoveredPublicAddressSet" + } + }, + "OldestSampleTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "OldestSampleTime", + "smithy.api#documentation": "

            The oldest successful resource discovery time.

            ", + "smithy.api#xmlName": "oldestSampleTime" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

            ", + "smithy.api#xmlName": "nextToken" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#GetIpamDiscoveredResourceCidrs": { "type": "operation", "input": { @@ -56098,7 +56859,7 @@ "target": "com.amazonaws.ec2#PlatformValues", "traits": { "aws.protocols#ec2QueryName": "Platform", - "smithy.api#documentation": "

            The value is Windows for Windows instances; otherwise blank.

            ", + "smithy.api#documentation": "

            The platform. This value is windows for Windows instances; otherwise, it is empty.

            ", "smithy.api#xmlName": "platform" } }, @@ -56504,7 +57265,7 @@ } }, "traits": { - "smithy.api#documentation": "

            ENA Express uses Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the \n\t\t\tmaximum bandwidth used per stream and minimize tail latency of network traffic between EC2 instances. \n\t\t\tWith ENA Express, you can communicate between two EC2 instances in the same subnet within the same \n\t\t\taccount, or in different accounts. Both sending and receiving instances must have ENA Express enabled.

            \n

            To improve the reliability of network packet delivery, ENA Express reorders network packets on the \n\t\t\treceiving end by default. However, some UDP-based applications are designed to handle network packets \n\t\t\tthat are out of order to reduce the overhead for packet delivery at the network layer. When ENA Express \n\t\t\tis enabled, you can specify whether UDP network traffic uses it.

            " + "smithy.api#documentation": "

            ENA Express uses Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the\n\t\t\tmaximum bandwidth used per stream and minimize tail latency of network traffic between EC2 instances.\n\t\t\tWith ENA Express, you can communicate between two EC2 instances in the same subnet within the same\n\t\t\taccount, or in different accounts. Both sending and receiving instances must have ENA Express enabled.

            \n

            To improve the reliability of network packet delivery, ENA Express reorders network packets on the\n\t\t\treceiving end by default. However, some UDP-based applications are designed to handle network packets\n\t\t\tthat are out of order to reduce the overhead for packet delivery at the network layer. When ENA Express\n\t\t\tis enabled, you can specify whether UDP network traffic uses it.

            " } }, "com.amazonaws.ec2#InstanceAttachmentEnaSrdUdpSpecification": { @@ -56514,13 +57275,13 @@ "target": "com.amazonaws.ec2#Boolean", "traits": { "aws.protocols#ec2QueryName": "EnaSrdUdpEnabled", - "smithy.api#documentation": "

            Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, \n\t\t\tyou must first enable ENA Express.

            ", + "smithy.api#documentation": "

            Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting,\n\t\t\tyou must first enable ENA Express.

            ", "smithy.api#xmlName": "enaSrdUdpEnabled" } } }, "traits": { - "smithy.api#documentation": "

            ENA Express is compatible with both TCP and UDP transport protocols. When it's enabled, TCP traffic \n\t\t\tautomatically uses it. However, some UDP-based applications are designed to handle network packets that are \n\t\t\tout of order, without a need for retransmission, such as live video broadcasting or other near-real-time \n\t\t\tapplications. For UDP traffic, you can specify whether to use ENA Express, based on your application \n\t\t\tenvironment needs.

            " + "smithy.api#documentation": "

            ENA Express is compatible with both TCP and UDP transport protocols. When it's enabled, TCP traffic\n\t\t\tautomatically uses it. However, some UDP-based applications are designed to handle network packets that are\n\t\t\tout of order, without a need for retransmission, such as live video broadcasting or other near-real-time\n\t\t\tapplications. For UDP traffic, you can specify whether to use ENA Express, based on your application\n\t\t\tenvironment needs.

            " } }, "com.amazonaws.ec2#InstanceAttribute": { @@ -58077,6 +58838,14 @@ "smithy.api#documentation": "

            The IPv6 delegated prefixes that are assigned to the network interface.

            ", "smithy.api#xmlName": "ipv6PrefixSet" } + }, + "ConnectionTrackingConfiguration": { + "target": "com.amazonaws.ec2#ConnectionTrackingSpecificationResponse", + "traits": { + "aws.protocols#ec2QueryName": "ConnectionTrackingConfiguration", + "smithy.api#documentation": "

            A security group connection tracking configuration that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

            ", + "smithy.api#xmlName": "connectionTrackingConfiguration" + } } }, "traits": { @@ -58186,7 +58955,7 @@ "target": "com.amazonaws.ec2#InstanceAttachmentEnaSrdSpecification", "traits": { "aws.protocols#ec2QueryName": "EnaSrdSpecification", - "smithy.api#documentation": "

            Contains the ENA Express settings for the network interface that's attached \n\t\t\tto the instance.

            ", + "smithy.api#documentation": "

            Contains the ENA Express settings for the network interface that's attached\n\t\t\tto the instance.

            ", "smithy.api#xmlName": "enaSrdSpecification" } } @@ -58355,7 +59124,13 @@ "EnaSrdSpecification": { "target": "com.amazonaws.ec2#EnaSrdSpecificationRequest", "traits": { - "smithy.api#documentation": "

            Specifies the ENA Express settings for the network interface that's attached to \n\t\t\tthe instance.

            " + "smithy.api#documentation": "

            Specifies the ENA Express settings for the network interface that's attached to\n\t\t\tthe instance.

            " + } + }, + "ConnectionTrackingSpecification": { + "target": "com.amazonaws.ec2#ConnectionTrackingSpecificationRequest", + "traits": { + "smithy.api#documentation": "

            A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

            " } } }, @@ -64751,6 +65526,22 @@ "smithy.api#documentation": "

            The IPAM's resource discovery association count.

            ", "smithy.api#xmlName": "resourceDiscoveryAssociationCount" } + }, + "StateMessage": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "StateMessage", + "smithy.api#documentation": "

            The state message.

            ", + "smithy.api#xmlName": "stateMessage" + } + }, + "Tier": { + "target": "com.amazonaws.ec2#IpamTier", + "traits": { + "aws.protocols#ec2QueryName": "Tier", + "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" + } } }, "traits": { @@ -65029,6 +65820,175 @@ } } }, + "com.amazonaws.ec2#IpamDiscoveredPublicAddress": { + "type": "structure", + "members": { + "IpamResourceDiscoveryId": { + "target": "com.amazonaws.ec2#IpamResourceDiscoveryId", + "traits": { + "aws.protocols#ec2QueryName": "IpamResourceDiscoveryId", + "smithy.api#documentation": "

            The resource discovery ID.

            ", + "smithy.api#xmlName": "ipamResourceDiscoveryId" + } + }, + "AddressRegion": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AddressRegion", + "smithy.api#documentation": "

            The Region of the resource the IP address is assigned to.

            ", + "smithy.api#xmlName": "addressRegion" + } + }, + "Address": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Address", + "smithy.api#documentation": "

            The IP address.

            ", + "smithy.api#xmlName": "address" + } + }, + "AddressOwnerId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AddressOwnerId", + "smithy.api#documentation": "

            The ID of the owner of the resource the IP address is assigned to.

            ", + "smithy.api#xmlName": "addressOwnerId" + } + }, + "AddressAllocationId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AddressAllocationId", + "smithy.api#documentation": "

            The allocation ID of the resource the IP address is assigned to.

            ", + "smithy.api#xmlName": "addressAllocationId" + } + }, + "AssociationStatus": { + "target": "com.amazonaws.ec2#IpamPublicAddressAssociationStatus", + "traits": { + "aws.protocols#ec2QueryName": "AssociationStatus", + "smithy.api#documentation": "

            The association status.

            ", + "smithy.api#xmlName": "associationStatus" + } + }, + "AddressType": { + "target": "com.amazonaws.ec2#IpamPublicAddressType", + "traits": { + "aws.protocols#ec2QueryName": "AddressType", + "smithy.api#documentation": "

            The IP address type.

            ", + "smithy.api#xmlName": "addressType" + } + }, + "Service": { + "target": "com.amazonaws.ec2#IpamPublicAddressAwsService", + "traits": { + "aws.protocols#ec2QueryName": "Service", + "smithy.api#documentation": "

            The Amazon Web Services service associated with the IP address.

            ", + "smithy.api#xmlName": "service" + } + }, + "ServiceResource": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ServiceResource", + "smithy.api#documentation": "

            The resource ARN or ID.

            ", + "smithy.api#xmlName": "serviceResource" + } + }, + "VpcId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "VpcId", + "smithy.api#documentation": "

            The ID of the VPC that the resource with the assigned IP address is in.

            ", + "smithy.api#xmlName": "vpcId" + } + }, + "SubnetId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "SubnetId", + "smithy.api#documentation": "

            The ID of the subnet that the resource with the assigned IP address is in.

            ", + "smithy.api#xmlName": "subnetId" + } + }, + "PublicIpv4PoolId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "PublicIpv4PoolId", + "smithy.api#documentation": "

            The ID of the public IPv4 pool that the resource with the assigned IP address is from.

            ", + "smithy.api#xmlName": "publicIpv4PoolId" + } + }, + "NetworkInterfaceId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInterfaceId", + "smithy.api#documentation": "

            The network interface ID of the resource with the assigned IP address.

            ", + "smithy.api#xmlName": "networkInterfaceId" + } + }, + "NetworkInterfaceDescription": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInterfaceDescription", + "smithy.api#documentation": "

            The description of the network interface that IP address is assigned to.

            ", + "smithy.api#xmlName": "networkInterfaceDescription" + } + }, + "InstanceId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "InstanceId", + "smithy.api#documentation": "

            The instance ID of the instance the assigned IP address is assigned to.

            ", + "smithy.api#xmlName": "instanceId" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#IpamPublicAddressTags", + "traits": { + "aws.protocols#ec2QueryName": "Tags", + "smithy.api#documentation": "

            Tags associated with the IP address.

            ", + "smithy.api#xmlName": "tags" + } + }, + "NetworkBorderGroup": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NetworkBorderGroup", + "smithy.api#documentation": "

            The network border group that the resource that the IP address is assigned to is in.

            ", + "smithy.api#xmlName": "networkBorderGroup" + } + }, + "SecurityGroups": { + "target": "com.amazonaws.ec2#IpamPublicAddressSecurityGroupList", + "traits": { + "aws.protocols#ec2QueryName": "SecurityGroupSet", + "smithy.api#documentation": "

            Security groups associated with the resource that the IP address is assigned to.

            ", + "smithy.api#xmlName": "securityGroupSet" + } + }, + "SampleTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "SampleTime", + "smithy.api#documentation": "

            The last successful resource discovery time.

            ", + "smithy.api#xmlName": "sampleTime" + } + } + }, + "traits": { + "smithy.api#documentation": "

            A public IP Address discovered by IPAM.

            " + } + }, + "com.amazonaws.ec2#IpamDiscoveredPublicAddressSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamDiscoveredPublicAddress", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#IpamDiscoveredResourceCidr": { "type": "structure", "members": { @@ -65360,7 +66320,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "StateMessage", - "smithy.api#documentation": "

            A message related to the failed creation of an IPAM pool.

            ", + "smithy.api#documentation": "

            The state message.

            ", "smithy.api#xmlName": "stateMessage" } }, @@ -65451,6 +66411,13 @@ "smithy.api#documentation": "

            The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the public scope. Default is BYOIP. For more information, see Create IPv6 pools in the Amazon VPC IPAM User Guide. \n By default, you can add only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool. For information on increasing the default limit, see Quotas for your IPAM in the Amazon VPC IPAM User Guide.

            ", "smithy.api#xmlName": "publicIpSource" } + }, + "SourceResource": { + "target": "com.amazonaws.ec2#IpamPoolSourceResource", + "traits": { + "aws.protocols#ec2QueryName": "SourceResource", + "smithy.api#xmlName": "sourceResource" + } } }, "traits": { @@ -65521,6 +66488,15 @@ "smithy.api#documentation": "

            In IPAM, an allocation is a CIDR assignment from an IPAM pool to another IPAM pool or to a resource.

            " } }, + "com.amazonaws.ec2#IpamPoolAllocationAllowedCidrs": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#IpamPoolAllocationDisallowedCidrs": { "type": "list", "member": { @@ -65559,6 +66535,12 @@ "traits": { "smithy.api#enumValue": "custom" } + }, + "subnet": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "subnet" + } } } }, @@ -65765,6 +66747,89 @@ } } }, + "com.amazonaws.ec2#IpamPoolSourceResource": { + "type": "structure", + "members": { + "ResourceId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ResourceId", + "smithy.api#documentation": "

            The source resource ID.

            ", + "smithy.api#xmlName": "resourceId" + } + }, + "ResourceType": { + "target": "com.amazonaws.ec2#IpamPoolSourceResourceType", + "traits": { + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

            The source resource type.

            ", + "smithy.api#xmlName": "resourceType" + } + }, + "ResourceRegion": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ResourceRegion", + "smithy.api#documentation": "

            The source resource Region.

            ", + "smithy.api#xmlName": "resourceRegion" + } + }, + "ResourceOwner": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ResourceOwner", + "smithy.api#documentation": "

            The source resource owner.

            ", + "smithy.api#xmlName": "resourceOwner" + } + } + }, + "traits": { + "smithy.api#documentation": "

            The resource used to provision CIDRs to a resource planning pool.

            " + } + }, + "com.amazonaws.ec2#IpamPoolSourceResourceRequest": { + "type": "structure", + "members": { + "ResourceId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

            The source resource ID.

            " + } + }, + "ResourceType": { + "target": "com.amazonaws.ec2#IpamPoolSourceResourceType", + "traits": { + "smithy.api#documentation": "

            The source resource type.

            " + } + }, + "ResourceRegion": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

            The source resource Region.

            " + } + }, + "ResourceOwner": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

            The source resource owner.

            " + } + } + }, + "traits": { + "smithy.api#documentation": "

            The resource used to provision CIDRs to a resource planning pool.

            " + } + }, + "com.amazonaws.ec2#IpamPoolSourceResourceType": { + "type": "enum", + "members": { + "vpc": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "vpc" + } + } + } + }, "com.amazonaws.ec2#IpamPoolState": { "type": "enum", "members": { @@ -65842,6 +66907,199 @@ } } }, + "com.amazonaws.ec2#IpamPublicAddressAssociationStatus": { + "type": "enum", + "members": { + "ASSOCIATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "associated" + } + }, + "DISASSOCIATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disassociated" + } + } + } + }, + "com.amazonaws.ec2#IpamPublicAddressAwsService": { + "type": "enum", + "members": { + "NAT_GATEWAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "nat-gateway" + } + }, + "DMS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "database-migration-service" + } + }, + "REDSHIFT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "redshift" + } + }, + "ECS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "elastic-container-service" + } + }, + "RDS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "relational-database-service" + } + }, + "S2S_VPN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "site-to-site-vpn" + } + }, + "EC2_LB": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "load-balancer" + } + }, + "AGA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "global-accelerator" + } + }, + "OTHER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "other" + } + } + } + }, + "com.amazonaws.ec2#IpamPublicAddressSecurityGroup": { + "type": "structure", + "members": { + "GroupName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "GroupName", + "smithy.api#documentation": "

            The security group's name.

            ", + "smithy.api#xmlName": "groupName" + } + }, + "GroupId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "GroupId", + "smithy.api#documentation": "

            The security group's ID.

            ", + "smithy.api#xmlName": "groupId" + } + } + }, + "traits": { + "smithy.api#documentation": "

            The security group that the resource with the public IP address is in.

            " + } + }, + "com.amazonaws.ec2#IpamPublicAddressSecurityGroupList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamPublicAddressSecurityGroup", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamPublicAddressTag": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Key", + "smithy.api#documentation": "

            The tag's key.

            ", + "smithy.api#xmlName": "key" + } + }, + "Value": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Value", + "smithy.api#documentation": "

            The tag's value.

            ", + "smithy.api#xmlName": "value" + } + } + }, + "traits": { + "smithy.api#documentation": "

            A tag for a public IP address discovered by IPAM.

            " + } + }, + "com.amazonaws.ec2#IpamPublicAddressTagList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamPublicAddressTag", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamPublicAddressTags": { + "type": "structure", + "members": { + "EipTags": { + "target": "com.amazonaws.ec2#IpamPublicAddressTagList", + "traits": { + "aws.protocols#ec2QueryName": "EipTagSet", + "smithy.api#documentation": "

            Tags for an Elastic IP address.

            ", + "smithy.api#xmlName": "eipTagSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

            Tags for a public IP address discovered by IPAM.

            " + } + }, + "com.amazonaws.ec2#IpamPublicAddressType": { + "type": "enum", + "members": { + "SERVICE_MANAGED_IP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "service-managed-ip" + } + }, + "SERVICE_MANAGED_BYOIP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "service-managed-byoip" + } + }, + "AMAZON_OWNED_EIP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "amazon-owned-eip" + } + }, + "BYOIP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "byoip" + } + }, + "EC2_PUBLIC_IP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ec2-public-ip" + } + } + } + }, "com.amazonaws.ec2#IpamResourceCidr": { "type": "structure", "members": { @@ -66380,6 +67638,12 @@ "traits": { "smithy.api#enumValue": "ipv6-pool" } + }, + "eni": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "eni" + } } } }, @@ -66671,6 +67935,23 @@ } } }, + "com.amazonaws.ec2#IpamTier": { + "type": "enum", + "members": { + "free": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "free" + } + }, + "advanced": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "advanced" + } + } + } + }, "com.amazonaws.ec2#Ipv4PoolCoipId": { "type": "string" }, @@ -68583,6 +69864,14 @@ "smithy.api#documentation": "

            Contains the ENA Express settings for instances launched from your launch template.

            ", "smithy.api#xmlName": "enaSrdSpecification" } + }, + "ConnectionTrackingSpecification": { + "target": "com.amazonaws.ec2#ConnectionTrackingSpecification", + "traits": { + "aws.protocols#ec2QueryName": "ConnectionTrackingSpecification", + "smithy.api#documentation": "

            A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

            ", + "smithy.api#xmlName": "connectionTrackingSpecification" + } } }, "traits": { @@ -68729,6 +70018,12 @@ "traits": { "smithy.api#documentation": "

            Configure ENA Express settings for your launch template.

            " } + }, + "ConnectionTrackingSpecification": { + "target": "com.amazonaws.ec2#ConnectionTrackingSpecificationRequest", + "traits": { + "smithy.api#documentation": "

            A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

            " + } } }, "traits": { @@ -73016,6 +74311,12 @@ "smithy.api#documentation": "

            The operating Regions to remove.

            ", "smithy.api#xmlName": "RemoveOperatingRegion" } + }, + "Tier": { + "target": "com.amazonaws.ec2#IpamTier", + "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.

            " + } } }, "traits": { @@ -73583,6 +74884,12 @@ "traits": { "smithy.api#documentation": "

            If you’re modifying a network interface in a dual-stack or IPv6-only subnet, you have\n the option to assign a primary IPv6 IP address. A primary IPv6 address is an IPv6 GUA\n address associated with an ENI that you have enabled to use a primary IPv6 address. Use\n this option if the instance that this ENI will be attached to relies on its IPv6 address\n not changing. Amazon Web Services will automatically assign an IPv6 address associated\n with the ENI attached to your instance to be the primary IPv6 address. Once you enable\n an IPv6 GUA address to be a primary IPv6, you cannot disable it. When you enable an IPv6\n GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6\n address until the instance is terminated or the network interface is detached. If you\n have multiple IPv6 addresses associated with an ENI attached to your instance and you\n enable a primary IPv6 address, the first IPv6 GUA address associated with the ENI\n becomes the primary IPv6 address.

            " } + }, + "ConnectionTrackingSpecification": { + "target": "com.amazonaws.ec2#ConnectionTrackingSpecificationRequest", + "traits": { + "smithy.api#documentation": "

            A connection tracking specification.

            " + } } }, "traits": { @@ -78079,6 +79386,14 @@ "smithy.api#xmlName": "availabilityZone" } }, + "ConnectionTrackingConfiguration": { + "target": "com.amazonaws.ec2#ConnectionTrackingConfiguration", + "traits": { + "aws.protocols#ec2QueryName": "ConnectionTrackingConfiguration", + "smithy.api#documentation": "

            A security group connection tracking configuration that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

            ", + "smithy.api#xmlName": "connectionTrackingConfiguration" + } + }, "Description": { "target": "com.amazonaws.ec2#String", "traits": { @@ -81635,6 +82950,72 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#ProvisionIpamByoasn": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ProvisionIpamByoasnRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ProvisionIpamByoasnResult" + }, + "traits": { + "smithy.api#documentation": "

            Provisions your Autonomous System Number (ASN) for use in your Amazon Web Services account. This action requires authorization context for Amazon to bring the ASN to an Amazon Web Services account. For more information, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

            " + } + }, + "com.amazonaws.ec2#ProvisionIpamByoasnRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

            Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

            " + } + }, + "IpamId": { + "target": "com.amazonaws.ec2#IpamId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

            An IPAM ID.

            ", + "smithy.api#required": {} + } + }, + "Asn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

            A public 2-byte or 4-byte ASN.

            ", + "smithy.api#required": {} + } + }, + "AsnAuthorizationContext": { + "target": "com.amazonaws.ec2#AsnAuthorizationContext", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

            An ASN authorization context.

            ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ProvisionIpamByoasnResult": { + "type": "structure", + "members": { + "Byoasn": { + "target": "com.amazonaws.ec2#Byoasn", + "traits": { + "aws.protocols#ec2QueryName": "Byoasn", + "smithy.api#documentation": "

            An ASN and BYOIP CIDR association.

            ", + "smithy.api#xmlName": "byoasn" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#ProvisionIpamPoolCidr": { "type": "operation", "input": { @@ -99078,7 +100459,7 @@ } }, "traits": { - "smithy.api#documentation": "\n

            Currently available in limited preview only. \n If you are interested in using this feature, contact your account manager.

            \n
            \n

            Information about an association between a branch network interface with a trunk network interface.

            " + "smithy.api#documentation": "

            Information about an association between a branch network interface with a trunk network interface.

            " } }, "com.amazonaws.ec2#TrunkInterfaceAssociationId": {